Skip to content

Commit 16898e6

Browse files
committed
fix(ci): update build matrix to specify runners for x64 and arm64 architectures
1 parent 9515cf0 commit 16898e6

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

.github/workflows/build.yml

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,14 @@ jobs:
101101
strategy:
102102
fail-fast: false
103103
matrix:
104-
arch: [x64, arm64]
105-
runs-on: ubuntu-24.04 # Use newer runner for Docker support
104+
include:
105+
- arch: x64
106+
runner: ubuntu-24.04
107+
- arch: arm64
108+
runner: ubuntu-24.04-arm
109+
runs-on: ${{ matrix.runner }}
106110
steps:
107111
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
108-
- uses: ./.github/actions/setup-qemu
109-
with:
110-
arch: ${{ matrix.arch }}
111112
- run: npm ci --ignore-scripts
112113
- run: TARGET_ARCH=${{ matrix.arch }} npm run build:linux-glibc
113114
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
@@ -119,16 +120,19 @@ jobs:
119120
strategy:
120121
fail-fast: false
121122
matrix:
122-
arch: [x64, arm64]
123-
runs-on: ubuntu-24.04
123+
include:
124+
- arch: x64
125+
runner: ubuntu-24.04
126+
platform: linux/amd64
127+
- arch: arm64
128+
runner: ubuntu-24.04-arm
129+
platform: linux/arm64
130+
runs-on: ${{ matrix.runner }}
124131
steps:
125132
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
126-
- uses: ./.github/actions/setup-qemu
127-
with:
128-
arch: ${{ matrix.arch }}
129133
- run: |
130134
CONTAINER_NAME="node-sqlite-musl-build-$$"
131-
docker run -d --name "$CONTAINER_NAME" --platform linux/${{ matrix.arch == 'x64' && 'amd64' || 'arm64' }} node:20-alpine sleep 3600
135+
docker run -d --name "$CONTAINER_NAME" --platform ${{ matrix.platform }} node:20-alpine sleep 3600
132136
docker cp . "$CONTAINER_NAME:/tmp/project"
133137
docker exec "$CONTAINER_NAME" sh -c "cd /tmp/project && apk add build-base git python3 py3-setuptools --update-cache && npm ci --ignore-scripts && npm run build:native && cd test/fixtures/test-extension && node build.js --force"
134138
docker cp "$CONTAINER_NAME:/tmp/project/prebuilds" . 2>/dev/null || true
@@ -180,12 +184,9 @@ jobs:
180184
os: [ubuntu-22.04, ubuntu-24.04]
181185
arch: [x64, arm64]
182186
node-version: [20, 22, 23, 24]
183-
runs-on: ${{ matrix.os }}
187+
runs-on: ${{ matrix.arch == 'arm64' && format('{0}-arm', matrix.os) || matrix.os }}
184188
steps:
185189
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
186-
- uses: ./.github/actions/setup-qemu
187-
with:
188-
arch: ${{ matrix.arch }}
189190
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
190191
with:
191192
node-version: ${{ matrix.node-version }}
@@ -205,12 +206,16 @@ jobs:
205206
matrix:
206207
arch: [x64, arm64]
207208
node-version: [20, 22, 23, 24]
208-
runs-on: ubuntu-24.04
209+
include:
210+
- arch: x64
211+
runner: ubuntu-24.04
212+
platform: linux/amd64
213+
- arch: arm64
214+
runner: ubuntu-24.04-arm
215+
platform: linux/arm64
216+
runs-on: ${{ matrix.runner }}
209217
steps:
210218
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
211-
- uses: ./.github/actions/setup-qemu
212-
with:
213-
arch: ${{ matrix.arch }}
214219
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
215220
with:
216221
path: ./prebuilds
@@ -222,7 +227,7 @@ jobs:
222227
path: ./test/fixtures/test-extension
223228
continue-on-error: true
224229
- run: |
225-
docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/${{ matrix.arch == 'x64' && 'amd64' || 'arm64' }} node:${{ matrix.node-version }}-alpine -c "\
230+
docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform ${{ matrix.platform }} node:${{ matrix.node-version }}-alpine -c "\
226231
apk add build-base git python3 py3-setuptools --update-cache && \
227232
cd /tmp/project && \
228233
npm ci && \

0 commit comments

Comments
 (0)