Skip to content

Modernize release workflow runners#2129

Merged
juliusmarminge merged 4 commits intomainfrom
feature/release-workflow
Apr 17, 2026
Merged

Modernize release workflow runners#2129
juliusmarminge merged 4 commits intomainfrom
feature/release-workflow

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented Apr 17, 2026

Summary

  • Switched the Windows build job to blacksmith-32vcpu-windows-2025 for the release matrix.
  • Added a Windows step to install Spectre-mitigated MSVC libraries before building desktop artifacts.
  • Moved the release publishing job to GitHub-hosted ubuntu-24.04 and set up Bun there.
  • Installed dependencies in the release job before downloading artifacts and publishing the release.

Testing

  • Not run (workflow-only change).
  • Expected validation: release workflow should build Windows artifacts successfully with the Spectre-mitigated toolchain.
  • Expected validation: publish job should complete on ubuntu-24.04 after bun install --frozen-lockfile.

Note

Medium Risk
Workflow-only changes, but they modify CI runner environments and Windows toolchain installation; failures would block releases rather than affect runtime behavior.

Overview
Modernizes the release.yml workflow by moving the Windows x64 build to blacksmith-32vcpu-windows-2025 and adding a pre-build PowerShell step to install Spectre-mitigated MSVC components.

Switches the GitHub Release publishing job to GitHub-hosted ubuntu-24.04 and adds Bun setup plus bun install --frozen-lockfile in that job before downloading artifacts and publishing.

Reviewed by Cursor Bugbot for commit ba2c1cb. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Modernize release workflow runners and add Spectre-mitigated MSVC libs for Windows builds

Updates release.yml to use updated runners and toolchain setup:

  • Switches the Windows x64 build runner from windows-2022 to blacksmith-32vcpu-windows-2025
  • Adds a Windows-only step to install Spectre-mitigated MSVC libraries via the Visual Studio Installer before building
  • Switches the release job runner from blacksmith-8vcpu-ubuntu-2404 to the GitHub-hosted ubuntu-24.04
  • Adds Bun setup and bun install --frozen-lockfile steps to the release job

Macroscope summarized ba2c1cb.

- Use blacksmith Windows and Ubuntu release runners
- Install Spectre-mitigated MSVC libs for Windows builds
- Set up Bun and install deps before publishing
- Co-authored-by: codex <codex@users.noreply.github.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 17, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 750ac973-dd82-4a82-a6c6-2055939e2a0c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/release-workflow

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Apr 17, 2026
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp bot commented Apr 17, 2026

Approvability

Verdict: Needs human review

CI/CD workflow changes to modernize runners and add build dependencies. An unresolved review comment identifies that the Spectre-mitigated MSVC libs installation step doesn't check the installer's exit code, which could cause silent failures and confusing build errors.

You can customize Macroscope's approvability policy. Learn more.

Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Trailing whitespace after PowerShell backtick breaks line continuation
    • Removed trailing spaces after backtick line continuation characters on lines 198 and 199, so the backtick is now the last character before the newline as required by PowerShell.

Create PR

Or push these changes by commenting:

@cursor push a76f620e1e
Preview (a76f620e1e)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -195,8 +195,8 @@
           $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
              $installPath = & $vswhere -products * -latest -property installationPath
              $setupExe = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\setup.exe"
-             Start-Process -FilePath $setupExe `   
-              -ArgumentList "modify", "--installPath", "`"$installPath`"", "--add", `               
+             Start-Process -FilePath $setupExe `
+              -ArgumentList "modify", "--installPath", "`"$installPath`"", "--add", `
               "Microsoft.VisualStudio.Component.VC.Tools.x86.x64.Spectre", "--quiet", "--norestart" `
               -Wait -PassThru -NoNewWindow

You can send follow-ups to the cloud agent here.

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
- Repair PowerShell argument wrapping in the release job
- Preserve Spectre tool installation step

Co-authored-by: codex <codex@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Installer failure silently ignored due to unchecked exit code
    • Captured the Start-Process return value into $proc and added an exit code check that fails the step immediately if the installer returns non-zero or if $proc is $null (PowerShell #20400 edge case).

Create PR

Or push these changes by commenting:

@cursor push cdb1c1453a
Preview (cdb1c1453a)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -195,10 +195,15 @@
           $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
              $installPath = & $vswhere -products * -latest -property installationPath
              $setupExe = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\setup.exe"
-             Start-Process -FilePath $setupExe `
+             $proc = Start-Process -FilePath $setupExe `
               -ArgumentList "modify", "--installPath", "`"$installPath`"", "--add", `
               "Microsoft.VisualStudio.Component.VC.Tools.x86.x64.Spectre", "--quiet", "--norestart" `
               -Wait -PassThru -NoNewWindow
+             if ($null -eq $proc -or $proc.ExitCode -ne 0) {
+               $code = if ($null -ne $proc) { $proc.ExitCode } else { 1 }
+               Write-Error "Visual Studio Installer failed with exit code $code"
+               exit $code
+             }
 
       - name: Build desktop artifact
         shell: bash

You can send follow-ups to the cloud agent here.

Comment thread .github/workflows/release.yml
@juliusmarminge
Copy link
Copy Markdown
Member Author

@cursor push cdb1c14

Capture the Start-Process return value and check the exit code so that
installer failures surface immediately instead of being silently ignored.

Applied via @cursor push command
@juliusmarminge juliusmarminge enabled auto-merge (squash) April 17, 2026 16:22
@juliusmarminge juliusmarminge merged commit df9d340 into main Apr 17, 2026
12 checks passed
@juliusmarminge juliusmarminge deleted the feature/release-workflow branch April 17, 2026 16:23
Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Reviewed by Cursor Bugbot for commit ba2c1cb. Configure here.

$code = if ($null -ne $proc) { $proc.ExitCode } else { 1 }
Write-Error "Visual Studio Installer failed with exit code $code"
exit $code
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent indentation in PowerShell script block

Low Severity

The first content line of the YAML | block scalar ($vswhere = ...) is at 10 spaces indentation, but all subsequent lines ($installPath, $setupExe, $proc, if, etc.) are at 13 spaces. YAML auto-detects the indentation level from the first content line, so the resulting PowerShell script has 0 leading spaces on the first statement and 3 extra leading spaces on every other statement. PowerShell is whitespace-insensitive so this runs correctly, but it's clearly an accidental paste artifact that makes the script harder to read.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit ba2c1cb. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants