| ... | @@ -156,7 +156,7 @@ jobs: | ... | @@ -156,7 +156,7 @@ jobs: |
| 156 | target: AppImage | 156 | target: AppImage |
| 157 | arch: x64 | 157 | arch: x64 |
| 158 | - label: Windows x64 | 158 | - label: Windows x64 |
| 159 | runner: windows-2022 # blacksmith-32vcpu-windows-2025 | 159 | runner: blacksmith-32vcpu-windows-2025 |
| 160 | platform: win | 160 | platform: win |
| 161 | target: nsis | 161 | target: nsis |
| 162 | arch: x64 | 162 | arch: x64 |
| ... | @@ -188,6 +188,23 @@ jobs: | ... | @@ -188,6 +188,23 @@ jobs: |
| 188 | - name: Align package versions to release version | 188 | - name: Align package versions to release version |
| 189 | run: node scripts/update-release-package-versions.ts "${{ needs.preflight.outputs.version }}" | 189 | run: node scripts/update-release-package-versions.ts "${{ needs.preflight.outputs.version }}" |
| 190 | | 190 | |
| | 191 | - name: Install Spectre-mitigated MSVC libs |
| | 192 | if: matrix.platform == 'win' |
| | 193 | shell: pwsh |
| | 194 | run: | |
| | 195 | $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" |
| | 196 | $installPath = & $vswhere -products * -latest -property installationPath |
| | 197 | $setupExe = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\setup.exe" |
| | 198 | $proc = Start-Process -FilePath $setupExe ` |
| | 199 | -ArgumentList "modify", "--installPath", "`"$installPath`"", "--add", ` |
| | 200 | "Microsoft.VisualStudio.Component.VC.Tools.x86.x64.Spectre", "--quiet", "--norestart" ` |
| | 201 | -Wait -PassThru -NoNewWindow |
| | 202 | if ($null -eq $proc -or $proc.ExitCode -ne 0) { |
| | 203 | $code = if ($null -ne $proc) { $proc.ExitCode } else { 1 } |
| | 204 | Write-Error "Visual Studio Installer failed with exit code $code" |
| | 205 | exit $code |
| | 206 | } |
| | 207 | |
| 191 | - name: Build desktop artifact | 208 | - name: Build desktop artifact |
| 192 | shell: bash | 209 | shell: bash |
| 193 | env: | 210 | env: |
| ... | @@ -333,7 +350,7 @@ jobs: | ... | @@ -333,7 +350,7 @@ jobs: |
| 333 | release: | 350 | release: |
| 334 | name: Publish GitHub Release | 351 | name: Publish GitHub Release |
| 335 | needs: [preflight, build, publish_cli] | 352 | needs: [preflight, build, publish_cli] |
| 336 | runs-on: blacksmith-8vcpu-ubuntu-2404 | 353 | runs-on: ubuntu-24.04 # blacksmith-8vcpu-ubuntu-2404 |
| 337 | timeout-minutes: 10 | 354 | timeout-minutes: 10 |
| 338 | steps: | 355 | steps: |
| 339 | - name: Checkout | 356 | - name: Checkout |
| ... | @@ -341,11 +358,19 @@ jobs: | ... | @@ -341,11 +358,19 @@ jobs: |
| 341 | with: | 358 | with: |
| 342 | ref: ${{ needs.preflight.outputs.ref }} | 359 | ref: ${{ needs.preflight.outputs.ref }} |
| 343 | | 360 | |
| | 361 | - name: Setup Bun |
| | 362 | uses: oven-sh/setup-bun@v2 |
| | 363 | with: |
| | 364 | bun-version-file: package.json |
| | 365 | |
| 344 | - name: Setup Node | 366 | - name: Setup Node |
| 345 | uses: actions/setup-node@v6 | 367 | uses: actions/setup-node@v6 |
| 346 | with: | 368 | with: |
| 347 | node-version-file: package.json | 369 | node-version-file: package.json |
| 348 | | 370 | |
| | 371 | - name: Install dependencies |
| | 372 | run: bun install --frozen-lockfile |
| | 373 | |
| 349 | - name: Download all desktop artifacts | 374 | - name: Download all desktop artifacts |
| 350 | uses: actions/download-artifact@v8 | 375 | uses: actions/download-artifact@v8 |
| 351 | with: | 376 | with: |