From c99b91bca5250a178c8a8bb48d57f8aef69a0a55 Mon Sep 17 00:00:00 2001 From: Julian Sommer <115516918+juliansommer@users.noreply.github.com> Date: Mon, 17 Aug 2026 09:56:30 +1000 Subject: [PATCH] fix: add publish system ami job to release --- .github/workflows/publish-system-ami.yml | 19 +++++++++++++++---- .github/workflows/release.yml | 11 +++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-system-ami.yml b/.github/workflows/publish-system-ami.yml index 1ef529d53..b0e829e96 100644 --- a/.github/workflows/publish-system-ami.yml +++ b/.github/workflows/publish-system-ami.yml @@ -17,10 +17,11 @@ name: Publish System AMIs # spx admin images import --name spinifex-rds-postgres # spx admin images import --name spinifex-rds-mariadb # -# Manual-only: publishing overwrites the mirror artifact, so it is a deliberate -# action, not something every push should trigger. The `variant` input scopes -# which images build — the Ubuntu GPU legs are 16G and much slower (NVIDIA -# driver download + DKMS build), so publishing only the CPU AMIs stays cheap. +# Publishing overwrites the mirror artifact, so it is a deliberate action, not +# something every push should trigger: it runs manually, or from release.yml +# once a tag has passed its gates. The `variant` input scopes which images +# build — the Ubuntu GPU legs are 16G and much slower (NVIDIA driver download + +# DKMS build), so publishing only the CPU AMIs stays cheap. on: workflow_dispatch: @@ -38,6 +39,16 @@ on: description: "Build + convert only; skip the R2 upload" type: boolean default: false + workflow_call: + inputs: + variant: + description: "Which images to build (all|cpu|gpu|rds)" + type: string + default: all + dry_run: + description: "Build + convert only; skip the R2 upload" + type: boolean + default: false permissions: contents: read diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7dee68c27..3e920ba48 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -231,6 +231,17 @@ jobs: echo "Release ${TAG} promoted to latest" fi + # Refresh the system AMIs on the R2 mirror only once the release is out of + # draft. Shares the ci-single runner with `iso`, so it queues behind it. + system-images: + needs: promote + permissions: + contents: read + uses: ./.github/workflows/publish-system-ami.yml + with: + variant: all + secrets: inherit + # Annotate the (still-draft) release if either gate failed. mark-failed: needs: [ verify, baremetal ]