-
Notifications
You must be signed in to change notification settings - Fork 2.3k
try out blacksmith for releases #2101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,7 +28,7 @@ permissions: | |
| jobs: | ||
| preflight: | ||
| name: Preflight | ||
| runs-on: ubuntu-24.04 | ||
| runs-on: blacksmith-8vcpu-ubuntu-2404 | ||
| timeout-minutes: 10 | ||
| outputs: | ||
| release_channel: ${{ steps.release_meta.outputs.release_channel }} | ||
|
|
@@ -141,30 +141,30 @@ jobs: | |
| matrix: | ||
| include: | ||
| - label: macOS arm64 | ||
| runner: macos-14 | ||
| runner: blacksmith-12vcpu-macos-26 | ||
| platform: mac | ||
| target: dmg | ||
| arch: arm64 | ||
| - label: macOS x64 | ||
| runner: macos-15-intel | ||
| runner: blacksmith-12vcpu-macos-26 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. macOS x64 build moved to ARM-only runnerMedium Severity The macOS x64 build now uses the same ARM-based Additional Locations (1)Reviewed by Cursor Bugbot for commit 35af9a9. Configure here. |
||
| platform: mac | ||
| target: dmg | ||
| arch: x64 | ||
| - label: Linux x64 | ||
| runner: ubuntu-24.04 | ||
| runner: blacksmith-32vcpu-ubuntu-2404 | ||
| platform: linux | ||
| target: AppImage | ||
| arch: x64 | ||
| - label: Windows x64 | ||
| runner: windows-2022 | ||
| runner: blacksmith-32vcpu-windows-2025 | ||
| platform: win | ||
| target: nsis | ||
| arch: x64 | ||
| - label: Windows arm64 | ||
| runner: windows-11-arm | ||
| platform: win | ||
| target: nsis | ||
| arch: arm64 | ||
| # - label: Windows arm64 | ||
| # runner: windows-11-arm | ||
| # platform: win | ||
| # target: nsis | ||
| # arch: arm64 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
|
|
@@ -277,16 +277,17 @@ jobs: | |
| done | ||
| fi | ||
|
|
||
| # Enable if Windows arm64 builds are enabled. | ||
| # Windows updater metadata is channel-specific (for example | ||
| # "latest.yml" or "nightly.yml"). Suffix each per-arch copy so the | ||
| # release job can merge matching arm64/x64 manifests back into one | ||
| # canonical manifest per channel. | ||
| if [[ "${{ matrix.platform }}" == "win" ]]; then | ||
| shopt -s nullglob | ||
| for manifest in release-publish/*.yml; do | ||
| mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml" | ||
| done | ||
| fi | ||
| # if [[ "${{ matrix.platform }}" == "win" ]]; then | ||
| # shopt -s nullglob | ||
| # for manifest in release-publish/*.yml; do | ||
| # mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml" | ||
| # done | ||
| # fi | ||
|
|
||
| - name: Upload build artifacts | ||
| uses: actions/upload-artifact@v7 | ||
|
|
@@ -298,7 +299,7 @@ jobs: | |
| publish_cli: | ||
| name: Publish CLI to npm | ||
| needs: [preflight, build] | ||
| runs-on: ubuntu-24.04 | ||
| runs-on: blacksmith-8vcpu-ubuntu-2404 | ||
| timeout-minutes: 10 | ||
| steps: | ||
| - name: Checkout | ||
|
|
@@ -332,7 +333,7 @@ jobs: | |
| release: | ||
| name: Publish GitHub Release | ||
| needs: [preflight, build, publish_cli] | ||
| runs-on: ubuntu-24.04 | ||
| runs-on: blacksmith-8vcpu-ubuntu-2404 | ||
| timeout-minutes: 10 | ||
| steps: | ||
| - name: Checkout | ||
|
|
@@ -363,34 +364,34 @@ jobs: | |
| fi | ||
| done | ||
|
|
||
| - name: Merge Windows updater manifests | ||
| run: | | ||
| shopt -s nullglob | ||
| found_windows_manifest=false | ||
| for x64_manifest in release-assets/*-win-x64.yml; do | ||
| if [[ "$(basename "$x64_manifest")" == builder-debug-* ]]; then | ||
| continue | ||
| fi | ||
|
|
||
| arm64_manifest="${x64_manifest/-x64.yml/-arm64.yml}" | ||
| output_manifest="${x64_manifest/-win-x64.yml/.yml}" | ||
| if [[ ! -f "$arm64_manifest" ]]; then | ||
| echo "Missing matching arm64 Windows manifest for $x64_manifest" >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| found_windows_manifest=true | ||
| node scripts/merge-update-manifests.ts --platform win \ | ||
| "$arm64_manifest" \ | ||
| "$x64_manifest" \ | ||
| "$output_manifest" | ||
| rm -f "$arm64_manifest" "$x64_manifest" | ||
| done | ||
|
|
||
| if [[ "$found_windows_manifest" != true ]]; then | ||
| echo "No Windows updater manifests found to merge." >&2 | ||
| exit 1 | ||
| fi | ||
| # - name: Merge Windows updater manifests | ||
| # run: | | ||
| # shopt -s nullglob | ||
| # found_windows_manifest=false | ||
| # for x64_manifest in release-assets/*-win-x64.yml; do | ||
| # if [[ "$(basename "$x64_manifest")" == builder-debug-* ]]; then | ||
| # continue | ||
| # fi | ||
|
|
||
| # arm64_manifest="${x64_manifest/-x64.yml/-arm64.yml}" | ||
| # output_manifest="${x64_manifest/-win-x64.yml/.yml}" | ||
| # if [[ ! -f "$arm64_manifest" ]]; then | ||
| # echo "Missing matching arm64 Windows manifest for $x64_manifest" >&2 | ||
| # exit 1 | ||
| # fi | ||
|
|
||
| # found_windows_manifest=true | ||
| # node scripts/merge-update-manifests.ts --platform win \ | ||
| # "$arm64_manifest" \ | ||
| # "$x64_manifest" \ | ||
| # "$output_manifest" | ||
| # rm -f "$arm64_manifest" "$x64_manifest" | ||
| # done | ||
|
|
||
| # if [[ "$found_windows_manifest" != true ]]; then | ||
| # echo "No Windows updater manifests found to merge." >&2 | ||
| # exit 1 | ||
| # fi | ||
|
|
||
| - name: Publish release | ||
| if: needs.preflight.outputs.previous_tag != '' | ||
|
|
@@ -435,7 +436,7 @@ jobs: | |
| name: Finalize release | ||
| if: needs.preflight.outputs.release_channel == 'stable' | ||
| needs: [preflight, release] | ||
| runs-on: ubuntu-24.04 | ||
| runs-on: blacksmith-8vcpu-ubuntu-2404 | ||
| timeout-minutes: 10 | ||
| steps: | ||
| - id: app_token | ||
|
|
||


There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
macOS runner instance type may not exist
Medium Severity
The macOS arm64 build runner is set to
blacksmith-12vcpu-macos-26, but Blacksmith's documented macOS runners only come in 6vCPU configurations (blacksmith-6vcpu-macos-*). If this instance type doesn't exist, the macOS arm64 build job will fail, blocking the entire release pipeline sincepublish_cli,release, andfinalizeall depend on thebuildjob completing.Reviewed by Cursor Bugbot for commit ea67a3f. Configure here.