mirror of
https://github.com/cozystack/cozystack.git
synced 2026-10-28 23:57:08 +09:00
A release was amd64 only: prepare-release built on an x86 runner and nothing built arm64. A pre-release now builds its images twice, side by side: build-amd64 on x86, build-arm64 on a native arm64 runner under <tag>-arm64, reading the arm64 build cache. Neither waits for the other, so the rc takes as long as the slower build rather than the sum of both. prepare-release runs once both have succeeded. It applies the tree build-amd64 stamped, stitches each image and its arm64 twin into one index under the tags build-amd64 logged, gates on every pinned image being multi-arch, republishes the packages artifact and the installer chart pinned on the index digests, and only then commits, creates and publishes the release and pushes the staging branch. The stamped tree, the tag log and the assets reach it as artifacts that must exist, so a lost hand-off fails loudly. The assets are built in build-amd64, reusing the Talos images make build produced, while the arm64 build is still running. An rc whose arm64 or amd64 build fails is not published at all rather than published amd64 only. A stable tag skips the arm64 build: it never builds, and promotion copies the rc's indexes with every platform. build-amd64 keeps the release-exists no-op and the rejection of a hand-pushed stable tag, and prepare-release no-ops with it. A skipped ancestor makes the implicit success() false for every job below it, so each job below prepare-release states !cancelled() itself; without it the stable-tag changelog backstop would never run. The arm64 build makes the same no-op when the tag's release already exists, so re-running a prepared rc rebuilds nothing. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <f@lex.la>
11 lines
383 B
YAML
11 lines
383 B
YAML
# Custom self-hosted runner labels (Oracle Cloud ephemeral ARC scale sets) so
|
|
# actionlint doesn't flag them as unknown. Keep in sync with the labels used in
|
|
# .github/workflows/*.yaml.
|
|
self-hosted-runner:
|
|
labels:
|
|
- oracle-vm-4cpu-16gb-x86-64
|
|
- oracle-vm-24cpu-96gb-x86-64
|
|
- oracle-vm-32cpu-128gb-x86-64
|
|
- oracle-vm-4cpu-16gb-arm64
|
|
- oracle-vm-24cpu-96gb-arm64
|