Skip to content

Commit b9d3844

Browse files
committed
Move workflows onto the ARC runner sets; smoke suites go dual-arch
All jobs leave GitHub-hosted runners. Static checks and the GoReleaser job run on arc-amd64-runners (CGO is off, so one machine cross-compiles every release target). The two smoke suites matrix across arc-amd64-runners and arc-arm64-runners with fail-fast off — they boot the whole compose stack, so they now prove the platform images work on both architectures. .github/actionlint.yaml declares the custom labels so actionlint keeps passing. Assumes the ARC scale sets provide Docker (dind mode) for the compose jobs. Claude-Session: https://claude.ai/code/session_01Ltxzv9Jhowy5FUFn7hTMwD
1 parent bf95013 commit b9d3844

3 files changed

Lines changed: 24 additions & 4 deletions

File tree

.github/actionlint.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Tells actionlint about our self-hosted (ARC) runner scale sets, so it
2+
# doesn't flag runs-on values it can't know about.
3+
self-hosted-runner:
4+
labels:
5+
- arc-amd64-runners
6+
- arc-arm64-runners

.github/workflows/ci.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ permissions:
1515
contents: read
1616

1717
jobs:
18+
# Arch-agnostic static checks: one runner is enough.
1819
checks:
19-
runs-on: ubuntu-latest
20+
runs-on: arc-amd64-runners
2021
steps:
2122
- uses: actions/checkout@v7
2223
- uses: actions/setup-go@v7
@@ -32,8 +33,15 @@ jobs:
3233
exit 1
3334
fi
3435
36+
# The smoke suites test the containerized platform itself, so they run on
37+
# both architectures — the compose stack has to work on amd64 and arm64
38+
# (Graviton) nodes alike.
3539
smoke-open:
36-
runs-on: ubuntu-latest
40+
strategy:
41+
fail-fast: false
42+
matrix:
43+
runner: [arc-amd64-runners, arc-arm64-runners]
44+
runs-on: ${{ matrix.runner }}
3745
steps:
3846
- uses: actions/checkout@v7
3947
- uses: actions/setup-go@v7
@@ -46,7 +54,11 @@ jobs:
4654
run: docker compose logs --tail 200
4755

4856
smoke-auth:
49-
runs-on: ubuntu-latest
57+
strategy:
58+
fail-fast: false
59+
matrix:
60+
runner: [arc-amd64-runners, arc-arm64-runners]
61+
runs-on: ${{ matrix.runner }}
5062
steps:
5163
- uses: actions/checkout@v7
5264
- uses: actions/setup-go@v7

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ permissions:
1414

1515
jobs:
1616
goreleaser:
17-
runs-on: ubuntu-latest
17+
# GoReleaser cross-compiles every target (CGO is off), so one amd64
18+
# runner builds the linux amd64/arm64 and darwin arm64 binaries alike.
19+
runs-on: arc-amd64-runners
1820
steps:
1921
- uses: actions/checkout@v7
2022
with:

0 commit comments

Comments
 (0)