Skip to content

publish: bundles is a v2-optional field, never bump catalogue to v3#27

Merged
Alexgodoroja merged 1 commit into
mainfrom
fix-catalogue-v2-bundles
Jun 21, 2026
Merged

publish: bundles is a v2-optional field, never bump catalogue to v3#27
Alexgodoroja merged 1 commit into
mainfrom
fix-catalogue-v2-bundles

Conversation

@Alexgodoroja

Copy link
Copy Markdown
Collaborator

The bug

pilotctl's loadCatalogue fail-closes on any catalogue version != 1 && != 2:

if c.Version != 1 && c.Version != 2 { return …"unsupported catalogue version %d" }

But publish-submission.sh (from the multi-platform PR #24) bumped the catalogue to version 3 whenever it wrote a bundles map. A v3 catalogue is therefore rejected wholesale by every clientresolveBundle is never even reached. This is why Sixtyfour's macOS-silicon install fails: the multi-platform logic exists but a v3 catalogue can't load.

The fix

bundles is an optional v2 field, exactly per the catalogue's stated design ("v2 only adds optional fields … forward AND backward compatible by construction"). Keep version: 2 and add bundles as a field. No version bump.

  • v1.11.2 clients: ignore bundles, use bundle_url (so single-platform still works; macOS needs v1.12.x).
  • v1.12.x clients: read bundles via resolveBundle, pick the host's platform.

Verified live

Built a stock v1.12.1 pilotctl (test trust key), pointed it at a v2+bundles catalogue, ran appstore install io.pilot.sixtyfour on macOS arm64 → it fetched the darwin-arm64 bundle (not linux), installed, ran, and returned real data through the broker (mbenioff@salesforce.com, cost 5¢).

pilotctl loadCatalogue fail-closes on any version != 1 && != 2 (the catalogue's
design is optional fields + forward/backward compat, no version bump). The
multi-platform pipeline bumped to version 3 when it wrote a bundles map, which
would make EVERY client reject the whole catalogue. Keep version 2 and add
bundles as an optional field. Verified: a stock v1.12.1 client installs the
darwin/arm64 bundle from a v2+bundles catalogue (the macOS-silicon fix).
@Alexgodoroja Alexgodoroja merged commit 0e373c0 into main Jun 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant