Files
plane/.github
Sriram Veeraghanta 1d9def5d0b chore(ci): build images natively per architecture and merge by digest
Every image in Branch Build CE now builds one platform per job on a runner
native to that architecture, pushes an untagged manifest addressed by digest,
and is stitched into the tagged multi-arch index by a paired merge job.

arm64 was previously produced either under QEMU emulation or on the shared
makeplane/plane-dev Docker Build Cloud builder. Both paths are gone: the
buildx driver is pinned to the local docker-container driver, since a leg
building its own architecture natively gains nothing from a remote builder.

Notable details:

- cache-scope-suffix is set per architecture. The registry cache manifest is
  not platform-indexed, so both legs writing :buildcache would overwrite each
  other and roughly half the legs would go cold every run.
- The merge asserts the platform set. A merge that produced a single-platform
  index still exits 0, so it is checked rather than assumed.
- AIO asset generation is split into its own job. Run inside a matrix, both
  legs would collide on the aio-assets-dist artifact name and could embed
  different generated content under a single manifest tag.
- Jobs that consume an image by tag (AIO, upload_build_assets,
  publish_release) now depend on the merge jobs. The tags do not exist until
  the merge runs.

Nothing externally visible changes: the images carry the same names and the
same tags.

Claude-Session: https://claude.ai/code/session_01U45dsLe5GFmTsfpifuNcGQ
2026-08-23 20:26:38 +05:30
..