authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-04-16 20:12:09-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-04-16 20:12:09-07:00
log505db9f69614804da733105d390f0f12b04708f5
tree810ada6b9b0e3fe6f0ea3dc881cd0c17ed030402
parent2d87574e62d616d890497d5b7d48201aa06d4dce
signature Signed by PGP key B5690EEEBB952194

try out blacksmith for releases (#2101)


2 files changed, 50 insertions(+), 49 deletions(-)

.github/workflows/ci.yml+2-2
......@@ -9,7 +9,7 @@ on:
99jobs:
1010 quality:
1111 name: Format, Lint, Typecheck, Test, Browser Test, Build
12 runs-on: blacksmith-4vcpu-ubuntu-2404
12 runs-on: blacksmith-8vcpu-ubuntu-2404
1313 timeout-minutes: 10
1414 steps:
1515 - name: Checkout
......@@ -76,7 +76,7 @@ jobs:
7676
7777 release_smoke:
7878 name: Release Smoke
79 runs-on: ubuntu-24.04
79 runs-on: blacksmith-8vcpu-ubuntu-2404
8080 timeout-minutes: 10
8181 steps:
8282 - name: Checkout
.github/workflows/release.yml+48-47
......@@ -28,7 +28,7 @@ permissions:
2828jobs:
2929 preflight:
3030 name: Preflight
31 runs-on: ubuntu-24.04
31 runs-on: blacksmith-8vcpu-ubuntu-2404
3232 timeout-minutes: 10
3333 outputs:
3434 release_channel: ${{ steps.release_meta.outputs.release_channel }}
......@@ -141,30 +141,30 @@ jobs:
141141 matrix:
142142 include:
143143 - label: macOS arm64
144 runner: macos-14
144 runner: blacksmith-12vcpu-macos-26
145145 platform: mac
146146 target: dmg
147147 arch: arm64
148148 - label: macOS x64
149 runner: macos-15-intel
149 runner: blacksmith-12vcpu-macos-26
150150 platform: mac
151151 target: dmg
152152 arch: x64
153153 - label: Linux x64
154 runner: ubuntu-24.04
154 runner: blacksmith-32vcpu-ubuntu-2404
155155 platform: linux
156156 target: AppImage
157157 arch: x64
158158 - label: Windows x64
159 runner: windows-2022
159 runner: blacksmith-32vcpu-windows-2025
160160 platform: win
161161 target: nsis
162162 arch: x64
163 - label: Windows arm64
164 runner: windows-11-arm
165 platform: win
166 target: nsis
167 arch: arm64
163 # - label: Windows arm64
164 # runner: windows-11-arm
165 # platform: win
166 # target: nsis
167 # arch: arm64
168168 steps:
169169 - name: Checkout
170170 uses: actions/checkout@v6
......@@ -277,16 +277,17 @@ jobs:
277277 done
278278 fi
279279
280 # Enable if Windows arm64 builds are enabled.
280281 # Windows updater metadata is channel-specific (for example
281282 # "latest.yml" or "nightly.yml"). Suffix each per-arch copy so the
282283 # release job can merge matching arm64/x64 manifests back into one
283284 # canonical manifest per channel.
284 if [[ "${{ matrix.platform }}" == "win" ]]; then
285 shopt -s nullglob
286 for manifest in release-publish/*.yml; do
287 mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml"
288 done
289 fi
285 # if [[ "${{ matrix.platform }}" == "win" ]]; then
286 # shopt -s nullglob
287 # for manifest in release-publish/*.yml; do
288 # mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml"
289 # done
290 # fi
290291
291292 - name: Upload build artifacts
292293 uses: actions/upload-artifact@v7
......@@ -298,7 +299,7 @@ jobs:
298299 publish_cli:
299300 name: Publish CLI to npm
300301 needs: [preflight, build]
301 runs-on: ubuntu-24.04
302 runs-on: blacksmith-8vcpu-ubuntu-2404
302303 timeout-minutes: 10
303304 steps:
304305 - name: Checkout
......@@ -332,7 +333,7 @@ jobs:
332333 release:
333334 name: Publish GitHub Release
334335 needs: [preflight, build, publish_cli]
335 runs-on: ubuntu-24.04
336 runs-on: blacksmith-8vcpu-ubuntu-2404
336337 timeout-minutes: 10
337338 steps:
338339 - name: Checkout
......@@ -363,34 +364,34 @@ jobs:
363364 fi
364365 done
365366
366 - name: Merge Windows updater manifests
367 run: |
368 shopt -s nullglob
369 found_windows_manifest=false
370 for x64_manifest in release-assets/*-win-x64.yml; do
371 if [[ "$(basename "$x64_manifest")" == builder-debug-* ]]; then
372 continue
373 fi
374
375 arm64_manifest="${x64_manifest/-x64.yml/-arm64.yml}"
376 output_manifest="${x64_manifest/-win-x64.yml/.yml}"
377 if [[ ! -f "$arm64_manifest" ]]; then
378 echo "Missing matching arm64 Windows manifest for $x64_manifest" >&2
379 exit 1
380 fi
381
382 found_windows_manifest=true
383 node scripts/merge-update-manifests.ts --platform win \
384 "$arm64_manifest" \
385 "$x64_manifest" \
386 "$output_manifest"
387 rm -f "$arm64_manifest" "$x64_manifest"
388 done
389
390 if [[ "$found_windows_manifest" != true ]]; then
391 echo "No Windows updater manifests found to merge." >&2
392 exit 1
393 fi
367 # - name: Merge Windows updater manifests
368 # run: |
369 # shopt -s nullglob
370 # found_windows_manifest=false
371 # for x64_manifest in release-assets/*-win-x64.yml; do
372 # if [[ "$(basename "$x64_manifest")" == builder-debug-* ]]; then
373 # continue
374 # fi
375
376 # arm64_manifest="${x64_manifest/-x64.yml/-arm64.yml}"
377 # output_manifest="${x64_manifest/-win-x64.yml/.yml}"
378 # if [[ ! -f "$arm64_manifest" ]]; then
379 # echo "Missing matching arm64 Windows manifest for $x64_manifest" >&2
380 # exit 1
381 # fi
382
383 # found_windows_manifest=true
384 # node scripts/merge-update-manifests.ts --platform win \
385 # "$arm64_manifest" \
386 # "$x64_manifest" \
387 # "$output_manifest"
388 # rm -f "$arm64_manifest" "$x64_manifest"
389 # done
390
391 # if [[ "$found_windows_manifest" != true ]]; then
392 # echo "No Windows updater manifests found to merge." >&2
393 # exit 1
394 # fi
394395
395396 - name: Publish release
396397 if: needs.preflight.outputs.previous_tag != ''
......@@ -435,7 +436,7 @@ jobs:
435436 name: Finalize release
436437 if: needs.preflight.outputs.release_channel == 'stable'
437438 needs: [preflight, release]
438 runs-on: ubuntu-24.04
439 runs-on: blacksmith-8vcpu-ubuntu-2404
439440 timeout-minutes: 10
440441 steps:
441442 - id: app_token