@@ -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