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:...@@ -9,7 +9,7 @@ on:
9jobs:9jobs:
10 quality:10 quality:
11 name: Format, Lint, Typecheck, Test, Browser Test, Build11 name: Format, Lint, Typecheck, Test, Browser Test, Build
12 runs-on: blacksmith-4vcpu-ubuntu-240412 runs-on: blacksmith-8vcpu-ubuntu-2404
13 timeout-minutes: 1013 timeout-minutes: 10
14 steps:14 steps:
15 - name: Checkout15 - name: Checkout
...@@ -76,7 +76,7 @@ jobs:...@@ -76,7 +76,7 @@ jobs:
7676
77 release_smoke:77 release_smoke:
78 name: Release Smoke78 name: Release Smoke
79 runs-on: ubuntu-24.0479 runs-on: blacksmith-8vcpu-ubuntu-2404
80 timeout-minutes: 1080 timeout-minutes: 10
81 steps:81 steps:
82 - name: Checkout82 - name: Checkout
.github/workflows/release.yml+48-47
...@@ -28,7 +28,7 @@ permissions:...@@ -28,7 +28,7 @@ permissions:
28jobs:28jobs:
29 preflight:29 preflight:
30 name: Preflight30 name: Preflight
31 runs-on: ubuntu-24.0431 runs-on: blacksmith-8vcpu-ubuntu-2404
32 timeout-minutes: 1032 timeout-minutes: 10
33 outputs:33 outputs:
34 release_channel: ${{ steps.release_meta.outputs.release_channel }}34 release_channel: ${{ steps.release_meta.outputs.release_channel }}
...@@ -141,30 +141,30 @@ jobs:...@@ -141,30 +141,30 @@ jobs:
141 matrix:141 matrix:
142 include:142 include:
143 - label: macOS arm64143 - label: macOS arm64
144 runner: macos-14144 runner: blacksmith-12vcpu-macos-26
145 platform: mac145 platform: mac
146 target: dmg146 target: dmg
147 arch: arm64147 arch: arm64
148 - label: macOS x64148 - label: macOS x64
149 runner: macos-15-intel149 runner: blacksmith-12vcpu-macos-26
150 platform: mac150 platform: mac
151 target: dmg151 target: dmg
152 arch: x64152 arch: x64
153 - label: Linux x64153 - label: Linux x64
154 runner: ubuntu-24.04154 runner: blacksmith-32vcpu-ubuntu-2404
155 platform: linux155 platform: linux
156 target: AppImage156 target: AppImage
157 arch: x64157 arch: x64
158 - label: Windows x64158 - label: Windows x64
159 runner: windows-2022159 runner: blacksmith-32vcpu-windows-2025
160 platform: win160 platform: win
161 target: nsis161 target: nsis
162 arch: x64162 arch: x64
163 - label: Windows arm64163 # - label: Windows arm64
164 runner: windows-11-arm164 # runner: windows-11-arm
165 platform: win165 # platform: win
166 target: nsis166 # target: nsis
167 arch: arm64167 # arch: arm64
168 steps:168 steps:
169 - name: Checkout169 - name: Checkout
170 uses: actions/checkout@v6170 uses: actions/checkout@v6
...@@ -277,16 +277,17 @@ jobs:...@@ -277,16 +277,17 @@ jobs:
277 done277 done
278 fi278 fi
279279
280 # Enable if Windows arm64 builds are enabled.
280 # Windows updater metadata is channel-specific (for example281 # Windows updater metadata is channel-specific (for example
281 # "latest.yml" or "nightly.yml"). Suffix each per-arch copy so the282 # "latest.yml" or "nightly.yml"). Suffix each per-arch copy so the
282 # release job can merge matching arm64/x64 manifests back into one283 # release job can merge matching arm64/x64 manifests back into one
283 # canonical manifest per channel.284 # canonical manifest per channel.
284 if [[ "${{ matrix.platform }}" == "win" ]]; then285 # if [[ "${{ matrix.platform }}" == "win" ]]; then
285 shopt -s nullglob286 # shopt -s nullglob
286 for manifest in release-publish/*.yml; do287 # for manifest in release-publish/*.yml; do
287 mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml"288 # mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml"
288 done289 # done
289 fi290 # fi
290291
291 - name: Upload build artifacts292 - name: Upload build artifacts
292 uses: actions/upload-artifact@v7293 uses: actions/upload-artifact@v7
...@@ -298,7 +299,7 @@ jobs:...@@ -298,7 +299,7 @@ jobs:
298 publish_cli:299 publish_cli:
299 name: Publish CLI to npm300 name: Publish CLI to npm
300 needs: [preflight, build]301 needs: [preflight, build]
301 runs-on: ubuntu-24.04302 runs-on: blacksmith-8vcpu-ubuntu-2404
302 timeout-minutes: 10303 timeout-minutes: 10
303 steps:304 steps:
304 - name: Checkout305 - name: Checkout
...@@ -332,7 +333,7 @@ jobs:...@@ -332,7 +333,7 @@ jobs:
332 release:333 release:
333 name: Publish GitHub Release334 name: Publish GitHub Release
334 needs: [preflight, build, publish_cli]335 needs: [preflight, build, publish_cli]
335 runs-on: ubuntu-24.04336 runs-on: blacksmith-8vcpu-ubuntu-2404
336 timeout-minutes: 10337 timeout-minutes: 10
337 steps:338 steps:
338 - name: Checkout339 - name: Checkout
...@@ -363,34 +364,34 @@ jobs:...@@ -363,34 +364,34 @@ jobs:
363 fi364 fi
364 done365 done
365366
366 - name: Merge Windows updater manifests367 # - name: Merge Windows updater manifests
367 run: |368 # run: |
368 shopt -s nullglob369 # shopt -s nullglob
369 found_windows_manifest=false370 # found_windows_manifest=false
370 for x64_manifest in release-assets/*-win-x64.yml; do371 # for x64_manifest in release-assets/*-win-x64.yml; do
371 if [[ "$(basename "$x64_manifest")" == builder-debug-* ]]; then372 # if [[ "$(basename "$x64_manifest")" == builder-debug-* ]]; then
372 continue373 # continue
373 fi374 # fi
374375
375 arm64_manifest="${x64_manifest/-x64.yml/-arm64.yml}"376 # arm64_manifest="${x64_manifest/-x64.yml/-arm64.yml}"
376 output_manifest="${x64_manifest/-win-x64.yml/.yml}"377 # output_manifest="${x64_manifest/-win-x64.yml/.yml}"
377 if [[ ! -f "$arm64_manifest" ]]; then378 # if [[ ! -f "$arm64_manifest" ]]; then
378 echo "Missing matching arm64 Windows manifest for $x64_manifest" >&2379 # echo "Missing matching arm64 Windows manifest for $x64_manifest" >&2
379 exit 1380 # exit 1
380 fi381 # fi
381382
382 found_windows_manifest=true383 # found_windows_manifest=true
383 node scripts/merge-update-manifests.ts --platform win \384 # node scripts/merge-update-manifests.ts --platform win \
384 "$arm64_manifest" \385 # "$arm64_manifest" \
385 "$x64_manifest" \386 # "$x64_manifest" \
386 "$output_manifest"387 # "$output_manifest"
387 rm -f "$arm64_manifest" "$x64_manifest"388 # rm -f "$arm64_manifest" "$x64_manifest"
388 done389 # done
389390
390 if [[ "$found_windows_manifest" != true ]]; then391 # if [[ "$found_windows_manifest" != true ]]; then
391 echo "No Windows updater manifests found to merge." >&2392 # echo "No Windows updater manifests found to merge." >&2
392 exit 1393 # exit 1
393 fi394 # fi
394395
395 - name: Publish release396 - name: Publish release
396 if: needs.preflight.outputs.previous_tag != ''397 if: needs.preflight.outputs.previous_tag != ''
...@@ -435,7 +436,7 @@ jobs:...@@ -435,7 +436,7 @@ jobs:
435 name: Finalize release436 name: Finalize release
436 if: needs.preflight.outputs.release_channel == 'stable'437 if: needs.preflight.outputs.release_channel == 'stable'
437 needs: [preflight, release]438 needs: [preflight, release]
438 runs-on: ubuntu-24.04439 runs-on: blacksmith-8vcpu-ubuntu-2404
439 timeout-minutes: 10440 timeout-minutes: 10
440 steps:441 steps:
441 - id: app_token442 - id: app_token