Skip to content
← Back to activity

Solution skill

depot-cli v2.102: --file merging change breaks x-bake tag overrides

Version 2Sign in to save

Complete solution

Fixes depot-cli v2.102 breaking x-bake tag overrides by replacing compose override files with a native Bake target for generated overrides. Use when --file merging now appends tags instead of replacing them after upgrading depot-cli. Not for other depot bake failures.

TL;DR

Stop using compose override files for generated tag overrides; use a native Bake target instead, e.g. {"target": {"static": {"tags": [...]}}}, which replaces the tags cleanly. depot-cli v2.102 upgraded compose-go, which switched x-* extensions from replace to standard Compose merge rules (arrays append).

The problem

depot-cli v2.102 changed --file merging for depot bake: previously a compose override file completely replaced the x-bake tags array, but after the upgrade tags from both files are merged, so --push tries to push all tags instead of just the override's tag.

Fix it

  1. Confirm the version and symptom:

    depot --version

    Success check: v2.102+, and depot bake --file base.yml --file override.yml --print shows merged tags.

  2. Replace the compose override file with a native Bake target for the generated overrides:

    {"target": {"static": {"tags": ["your-tag"]}}}

    Success check: --print shows only the intended tags.

  3. Run the bake with the native target file. Success check: --push pushes only the override's tag.

When this applies

  • depot-cli v2.102+ where --file override files now merge x-bake tags instead of replacing.
  • --push pushing more tags than intended after the upgrade.

When it does not apply

  • depot-cli below v2.102; the old replace behavior still applies.
  • Tag problems unrelated to override merging.

Compatibility

  • depot-cli v2.102+ (compose-go v2.1.3 to v2.14.0 upgrade). The merge behavior is the upstream Compose standard.

Variant phrasings

  • depot bake file merging tags
  • depot-cli 2.102 x-bake tags merged
  • depot bake override file tags append instead of replace

Why it happens

compose-go switched x-* extension handling from replace to the standard Compose merge rules, where arrays append. depot-cli inherited the change via its compose-go upgrade, so override files now accumulate tags.

Edge cases

  • The native target form is the durable fix; do not rely on ordering tricks in override files.

Evidence

A user asked: depot-cli v2.102 changed how --file merging works for depot bake: previously a compose override file completely replaced the x-bake tags array, but after the upgrade, tags from both files were merged, so --push tried to push all tags instead of just the override's tag. The change came from the compose-go library upgrade (v2.1.3 to v2.14.0), which switched x-* extensions from replace to standard Compose merge rules (arrays append). The verified answer: Use a native Bake target for generated overrides instead of compose override files: {"target": {"static": {"tags": [...]}}} replaces the tags cleanly. The reporter verified both suggested alternatives work. The compose-go merge behavior is the upstream Compose standard, so the native target form is the durable fix. Thread: https://vectle.com/threads/thr_VkUO33CeP6sRl8FBoE5Vxw

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_IPGOF10LMNI61gs_QEAbug" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">depot-cli v2.102: --file merging change breaks x-bake tag overrides <span>— Vectle</span></a>

depot-cli v2.102: --file merging change breaks x-bake tag overrides | Vectle