Skip to content

Commit e1fa2a1

Browse files
nddqlakshk98
authored andcommitted
fix(ci): use native arm64 runners for all image builds (microsoft#2047)
# Description Switch remaining ARM64 image build jobs to native `ubuntu-24.04-arm` runners instead of QEMU emulation on x86 `ubuntu-latest`. This follows the same pattern established for `retina-shell-images` in PR microsoft#2024. ## Related Issue Follows up on microsoft#2024 (fix(ci): use native arm64 runners for shell image build). ## Checklist - [x] I have read the [contributing documentation](https://retina.sh/docs/Contributing/overview). - [x] I signed and signed-off the commits (`git commit -S -s ...`). See [this documentation](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification) on signing commits. - [x] I have correctly attributed the author(s) of the code. - [x] I have tested the changes locally. - [x] I have followed the project's style guidelines. - [x] I have updated the documentation, if necessary. - [ ] I have added tests, if applicable. ## Screenshots (if applicable) or Testing Completed YAML syntax validated. Changes are consistent with the existing `retina-shell-images` pattern already running in CI. **Jobs migrated (6 total across 2 files):** | Job | File | |-----|------| | `retina-images` | `images.yaml` | | `operator-images` | `images.yaml` | | `kubectl-retina-images` | `images.yaml` | | `retina-images` | `release-images.yaml` | | `operator-images` | `release-images.yaml` | | `kubectl-retina-images` | `release-images.yaml` | **Changes per job:** - `runs-on`: `ubuntu-latest` → `${{ matrix.runner }}` - Matrix converted from simple arrays to explicit `include` entries with `runner` field (`ubuntu-latest` for amd64, `ubuntu-24.04-arm` for arm64) - Removed `docker/setup-qemu-action` step (no longer needed for native builds) - Updated job names to include `(${{ matrix.platform }}, ${{ matrix.arch }})` for clarity **Not changed:** - `manifests` jobs — still use QEMU as needed for multi-arch manifest inspection - `retina-shell-images` — already migrated in microsoft#2024 ## Additional Notes The only remaining `setup-qemu-action` references are in the `manifests` jobs, which correctly still need it. --- Please refer to the [CONTRIBUTING.md](../CONTRIBUTING.md) file for more information on how to contribute to this project. Signed-off-by: Quang Nguyen <nguyenquang@microsoft.com>
1 parent 2c14f4b commit e1fa2a1

2 files changed

Lines changed: 36 additions & 24 deletions

File tree

.github/workflows/images.yaml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,17 @@ permissions:
1414
jobs:
1515
retina-images:
1616
name: Build Agent Images - Linux
17-
runs-on: ubuntu-latest
17+
runs-on: ${{ matrix.runner }}
1818

1919
strategy:
2020
matrix:
2121
platform: ["linux"]
2222
arch: ["amd64", "arm64"]
23+
include:
24+
- arch: amd64
25+
runner: ubuntu-latest
26+
- arch: arm64
27+
runner: ubuntu-24.04-arm
2328

2429
steps:
2530
- name: Checkout code
@@ -30,9 +35,6 @@ jobs:
3035
go-version-file: go.mod
3136
- run: go version
3237

33-
- name: Set up QEMU
34-
uses: docker/setup-qemu-action@v3
35-
3638
- name: Az CLI login
3739
uses: azure/login@v2
3840
if: ${{ github.event_name == 'merge_group' }}
@@ -154,12 +156,17 @@ jobs:
154156

155157
operator-images:
156158
name: Build Operator Images
157-
runs-on: ubuntu-latest
159+
runs-on: ${{ matrix.runner }}
158160

159161
strategy:
160162
matrix:
161163
platform: ["linux"]
162164
arch: ["amd64", "arm64"]
165+
include:
166+
- arch: amd64
167+
runner: ubuntu-latest
168+
- arch: arm64
169+
runner: ubuntu-24.04-arm
163170

164171
steps:
165172
- name: Checkout code
@@ -170,9 +177,6 @@ jobs:
170177
go-version-file: go.mod
171178
- run: go version
172179

173-
- name: Set up QEMU
174-
uses: docker/setup-qemu-action@v3
175-
176180
- name: Az CLI login
177181
uses: azure/login@v2
178182
if: ${{ github.event_name == 'merge_group' }}
@@ -255,12 +259,17 @@ jobs:
255259

256260
kubectl-retina-images:
257261
name: Build Kubectl Retina Images
258-
runs-on: ubuntu-latest
262+
runs-on: ${{ matrix.runner }}
259263

260264
strategy:
261265
matrix:
262266
platform: ["linux"]
263267
arch: ["amd64", "arm64"]
268+
include:
269+
- arch: amd64
270+
runner: ubuntu-latest
271+
- arch: arm64
272+
runner: ubuntu-24.04-arm
264273

265274
steps:
266275
- name: Checkout code
@@ -271,9 +280,6 @@ jobs:
271280
go-version-file: go.mod
272281
- run: go version
273282

274-
- name: Set up QEMU
275-
uses: docker/setup-qemu-action@v3
276-
277283
- name: Az CLI login
278284
uses: azure/login@v2
279285
if: ${{ github.event_name == 'merge_group' }}

.github/workflows/release-images.yaml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,17 @@ permissions:
1515
jobs:
1616
retina-images:
1717
name: Build Agent Images
18-
runs-on: ubuntu-latest
18+
runs-on: ${{ matrix.runner }}
1919

2020
strategy:
2121
matrix:
2222
platform: ["linux"]
2323
arch: ["amd64", "arm64"]
24+
include:
25+
- arch: amd64
26+
runner: ubuntu-latest
27+
- arch: arm64
28+
runner: ubuntu-24.04-arm
2429

2530
steps:
2631
- name: Checkout code
@@ -34,9 +39,6 @@ jobs:
3439
- name: Install Cosign
3540
uses: sigstore/cosign-installer@v4.0.0
3641

37-
- name: Set up QEMU
38-
uses: docker/setup-qemu-action@v3
39-
4042
- name: Log in to registry
4143
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
4244

@@ -140,12 +142,17 @@ jobs:
140142
141143
operator-images:
142144
name: Build Operator Images
143-
runs-on: ubuntu-latest
145+
runs-on: ${{ matrix.runner }}
144146

145147
strategy:
146148
matrix:
147149
platform: ["linux"]
148150
arch: ["amd64", "arm64"]
151+
include:
152+
- arch: amd64
153+
runner: ubuntu-latest
154+
- arch: arm64
155+
runner: ubuntu-24.04-arm
149156

150157
steps:
151158
- name: Checkout code
@@ -159,9 +166,6 @@ jobs:
159166
- name: Install Cosign
160167
uses: sigstore/cosign-installer@v4.0.0
161168

162-
- name: Set up QEMU
163-
uses: docker/setup-qemu-action@v3
164-
165169
- name: Log in to registry
166170
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
167171

@@ -230,12 +234,17 @@ jobs:
230234
231235
kubectl-retina-images:
232236
name: Build Kubectl Retina Images
233-
runs-on: ubuntu-latest
237+
runs-on: ${{ matrix.runner }}
234238

235239
strategy:
236240
matrix:
237241
platform: ["linux"]
238242
arch: ["amd64", "arm64"]
243+
include:
244+
- arch: amd64
245+
runner: ubuntu-latest
246+
- arch: arm64
247+
runner: ubuntu-24.04-arm
239248

240249
steps:
241250
- name: Checkout code
@@ -249,9 +258,6 @@ jobs:
249258
- name: Install Cosign
250259
uses: sigstore/cosign-installer@v4.0.0
251260

252-
- name: Set up QEMU
253-
uses: docker/setup-qemu-action@v3
254-
255261
- name: Log in to registry
256262
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
257263

0 commit comments

Comments
 (0)