Modernize release workflow runners#2129
Conversation
- 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>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: 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. |
There was a problem hiding this comment.
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.
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 -NoNewWindowYou can send follow-ups to the cloud agent here.
- Repair PowerShell argument wrapping in the release job - Preserve Spectre tool installation step Co-authored-by: codex <codex@users.noreply.github.com>
There was a problem hiding this comment.
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).
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: bashYou can send follow-ups to the cloud agent here.
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
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
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 | ||
| } |
There was a problem hiding this comment.
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.
Reviewed by Cursor Bugbot for commit ba2c1cb. Configure here.



Summary
blacksmith-32vcpu-windows-2025for the release matrix.ubuntu-24.04and set up Bun there.Testing
ubuntu-24.04afterbun 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.ymlworkflow by moving the Windows x64 build toblacksmith-32vcpu-windows-2025and adding a pre-build PowerShell step to install Spectre-mitigated MSVC components.Switches the GitHub Release publishing job to GitHub-hosted
ubuntu-24.04and adds Bun setup plusbun install --frozen-lockfilein 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:
windows-2022toblacksmith-32vcpu-windows-2025blacksmith-8vcpu-ubuntu-2404to the GitHub-hostedubuntu-24.04bun install --frozen-lockfilesteps to the release jobMacroscope summarized ba2c1cb.