@@ -13,7 +13,7 @@ concurrency:
1313jobs :
1414 format :
1515 name : Format
16- runs-on : ubuntu-latest
16+ runs-on : blacksmith-4vcpu- ubuntu-2404
1717 steps :
1818 - uses : actions/checkout@v4
1919
@@ -29,13 +29,20 @@ jobs:
2929 restore-keys : |
3030 ${{ runner.os }}-bun-1.3.11-
3131
32+ # No prebuilt better-sqlite3 binary matches this runner, so `bun install`
33+ # builds it from source via node-gyp, whose undici needs Node 22.10+
34+ # (webidl.markAsUncloneable). Pin the same runtime the test/e2e jobs use.
35+ - uses : actions/setup-node@v4
36+ with :
37+ node-version : 22
38+
3239 - run : bun install --frozen-lockfile
3340
3441 - run : bun run format:check
3542
3643 lint :
3744 name : Lint
38- runs-on : ubuntu-latest
45+ runs-on : blacksmith-4vcpu- ubuntu-2404
3946 steps :
4047 - uses : actions/checkout@v4
4148
@@ -51,13 +58,20 @@ jobs:
5158 restore-keys : |
5259 ${{ runner.os }}-bun-1.3.11-
5360
61+ # No prebuilt better-sqlite3 binary matches this runner, so `bun install`
62+ # builds it from source via node-gyp, whose undici needs Node 22.10+
63+ # (webidl.markAsUncloneable). Pin the same runtime the test/e2e jobs use.
64+ - uses : actions/setup-node@v4
65+ with :
66+ node-version : 22
67+
5468 - run : bun install --frozen-lockfile
5569
5670 - run : bun run lint
5771
5872 typecheck :
5973 name : Typecheck
60- runs-on : ubuntu-latest
74+ runs-on : blacksmith-4vcpu- ubuntu-2404
6175 steps :
6276 - uses : actions/checkout@v4
6377
@@ -73,13 +87,20 @@ jobs:
7387 restore-keys : |
7488 ${{ runner.os }}-bun-1.3.11-
7589
90+ # No prebuilt better-sqlite3 binary matches this runner, so `bun install`
91+ # builds it from source via node-gyp, whose undici needs Node 22.10+
92+ # (webidl.markAsUncloneable). Pin the same runtime the test/e2e jobs use.
93+ - uses : actions/setup-node@v4
94+ with :
95+ node-version : 22
96+
7697 - run : bun install --frozen-lockfile
7798
7899 - run : bun run typecheck
79100
80101 test :
81102 name : Test
82- runs-on : ubuntu-latest
103+ runs-on : blacksmith-4vcpu- ubuntu-2404
83104 env :
84105 TURBO_TEST_CONCURRENCY : 3
85106 steps :
@@ -130,7 +151,7 @@ jobs:
130151 - { target: cloud, shard: 7/8, shard-name: 7of8 }
131152 - { target: cloud, shard: 8/8, shard-name: 8of8 }
132153 - target : selfhost
133- runs-on : ubuntu-latest
154+ runs-on : blacksmith-4vcpu- ubuntu-2404
134155 timeout-minutes : 30
135156 steps :
136157 - uses : actions/checkout@v4
@@ -191,7 +212,7 @@ jobs:
191212 # Skipped on pull_request: the local scenario boots a real `executor web`
192213 # plus a browser and is currently flaky on PRs. Still runs on push to main.
193214 if : github.event_name != 'pull_request'
194- runs-on : ubuntu-latest
215+ runs-on : blacksmith-4vcpu- ubuntu-2404
195216 timeout-minutes : 20
196217 steps :
197218 - uses : actions/checkout@v4
@@ -244,7 +265,7 @@ jobs:
244265
245266 desktop-smoke :
246267 name : Desktop smoke build
247- runs-on : ubuntu-latest
268+ runs-on : blacksmith-4vcpu- ubuntu-2404
248269 steps :
249270 - uses : actions/checkout@v4
250271
@@ -260,6 +281,13 @@ jobs:
260281 restore-keys : |
261282 ${{ runner.os }}-bun-1.3.11-
262283
284+ # No prebuilt better-sqlite3 binary matches this runner, so `bun install`
285+ # builds it from source via node-gyp, whose undici needs Node 22.10+
286+ # (webidl.markAsUncloneable). Pin the same runtime the test/e2e jobs use.
287+ - uses : actions/setup-node@v4
288+ with :
289+ node-version : 22
290+
263291 - run : bun install --frozen-lockfile
264292
265293 - name : Build web app
@@ -277,19 +305,17 @@ jobs:
277305
278306 selfhost-docker-smoke :
279307 name : Self-host Docker image
280- runs-on : ubuntu-latest
308+ runs-on : blacksmith-4vcpu- ubuntu-2404
281309 steps :
282310 - uses : actions/checkout@v4
283311
284- - name : Set up Docker Buildx
285- uses : docker /setup-buildx-action@v3
312+ - name : Setup Blacksmith Builder
313+ uses : useblacksmith /setup-docker-builder@v1
286314
287315 - name : Build self-host image
288- uses : docker /build-push-action@v6
316+ uses : useblacksmith /build-push-action@v2
289317 with :
290318 context : .
291319 file : apps/host-selfhost/Dockerfile
292320 push : false
293321 tags : executor-selfhost:ci
294- cache-from : type=gha
295- cache-to : type=gha,mode=max
0 commit comments