From 28ba9e18490a6ef88a7230197de91128ee662cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20Br=C3=A4mer?= <22003767+robinbraemer@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:39:13 +0200 Subject: [PATCH] fix(ci): restore runnable CLI release automation Rationale: ARC runner capacity was intentionally retired, but Release Please and its reusable publication workflow still target the removed Linux labels. Restore their pre-ARC GitHub-hosted Linux runners so the normal release-PR, tag, artifact verification, and tap handoff path can run without a manual publication bypass. Rejected: Restoring ARC in cnap or manually publishing release assets would broaden this release fix and bypass the established immutable release workflow. Tested: bun run test test/workflows.test.ts; actionlint .github/workflows/release-please.yml .github/workflows/release.yml; mise run generate:check; mise run check; bun install --frozen-lockfile --os='*' --cpu='*'; mise run release:package; mise run release:verify; mise run release:smoke. --- .github/workflows/release-please.yml | 2 +- .github/workflows/release.yml | 6 +++--- test/workflows.test.ts | 13 +++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 0f12b99..5ea635e 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -16,7 +16,7 @@ concurrency: jobs: release-please: - runs-on: akua-x64-ci-v2 + runs-on: ubuntu-latest outputs: release_created: ${{ steps.release.outputs.release_created }} tag_name: ${{ steps.release.outputs.tag_name }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e202419..79e405f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,7 +39,7 @@ concurrency: jobs: package: - runs-on: akua-heavy-ci-v2 + runs-on: ubuntu-24.04 outputs: matrix: ${{ steps.release-matrix.outputs.matrix }} commit: ${{ steps.release-ref.outputs.commit }} @@ -103,7 +103,7 @@ jobs: publish: needs: [package, install-smoke] - runs-on: akua-x64-ci-v2 + runs-on: ubuntu-24.04 env: EXPECTED_COMMIT: ${{ needs.package.outputs.commit }} permissions: @@ -153,7 +153,7 @@ jobs: tap-update: needs: publish - runs-on: akua-x64-ci-v2 + runs-on: ubuntu-24.04 permissions: contents: read steps: diff --git a/test/workflows.test.ts b/test/workflows.test.ts index 31859ff..77d3703 100644 --- a/test/workflows.test.ts +++ b/test/workflows.test.ts @@ -17,6 +17,19 @@ describe("distribution workflows", () => { expect(packageJob).toContain("runs-on: ubuntu-24.04"); }); + test("release control-plane jobs use available GitHub-hosted Linux runners", async () => { + const [releasePlease, release] = await Promise.all([ + readFile(".github/workflows/release-please.yml", "utf8"), + readFile(".github/workflows/release.yml", "utf8"), + ]); + + expect(releasePlease).toContain("runs-on: ubuntu-latest"); + expect(release).toContain("runs-on: ubuntu-24.04"); + expect(`${releasePlease}\n${release}`).not.toMatch( + /^\s+runs-on: akua-(?:x64|heavy)-ci-v2$/m, + ); + }); + test("the release workflow consumes the complete release target matrix", async () => { const workflow = await readFile(".github/workflows/release.yml", "utf8");