Skip to content

CI update: new runner test#230

Merged
gneeri merged 18 commits intodevfrom
ci-runners
Apr 3, 2026
Merged

CI update: new runner test#230
gneeri merged 18 commits intodevfrom
ci-runners

Conversation

@gneeri
Copy link
Copy Markdown
Contributor

@gneeri gneeri commented Mar 25, 2026

Note

Medium Risk
CI/release pipelines are reworked to rely on pre-provisioned self-hosted runners and stricter environment validation, which can break builds/releases if runner setup or PATH/env assumptions are wrong.

Overview
Moves the CI workflow’s Linux job to a self-hosted GCP runner and replaces in-job provisioning with preflight validation of the Rust toolchain and required system libraries; macOS remains using actions-rs/toolchain/rust-cache.

Refactors test execution to generate test.log consistently (Linux serializes tests via RUST_TEST_THREADS=1) and only posts the PR test-summary comment when a log exists.

Extends the Release workflow with a Windows self-hosted build-and-test job (also runnable via workflow_dispatch against an arbitrary ref) and gates release/publish jobs to push events only. Adds strawberryperl to Windows dependency setup.

Adds infra provisioning scripts: infra/scripts/bootstrap-linux-runner.sh, infra/scripts/bootstrap-windows-runner.ps1, and infra/scripts/configure-linux-runner-service-env.sh to standardize self-hosted runner setup and deterministic PATH/env configuration.

Written by Cursor Bugbot for commit 9f5d3a1. This will update automatically on new commits. Configure here.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
runmat Ready Ready Preview, Comment, Open in v0 Apr 3, 2026 8:14pm

Request Review

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Copy link
Copy Markdown

@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 2 potential issues.

There are 3 total unresolved issues (including 1 from previous review).

Autofix Details

Bugbot Autofix prepared fixes for both issues found in the latest run.

  • ✅ Fixed: VS installer exit code 3010 incorrectly treated as failure
    • The Visual Studio installer exit-code check now accepts both 0 and 3010 so reboot-required success no longer aborts bootstrap.
  • ✅ Fixed: Native command failures silently ignored in bootstrap script
    • Added explicit $LASTEXITCODE checks with throws after rustup component install, git clone, vcpkg bootstrap, and each vcpkg install command.

Create PR

Or push these changes by commenting:

@cursor push 0729676349
Preview (0729676349)
diff --git a/scripts/bootstrap-windows-runner.ps1 b/scripts/bootstrap-windows-runner.ps1
--- a/scripts/bootstrap-windows-runner.ps1
+++ b/scripts/bootstrap-windows-runner.ps1
@@ -128,7 +128,7 @@
     '--includeRecommended'
 ) -Wait -NoNewWindow -PassThru
 
-if ($vsProcess.ExitCode -ne 0) {
+if ($vsProcess.ExitCode -ne 0 -and $vsProcess.ExitCode -ne 3010) {
     throw "Visual Studio Build Tools installer failed with exit code $($vsProcess.ExitCode). Check the Visual Studio installer logs under $env:TEMP and %ProgramData%\Microsoft\VisualStudio\Packages\_Instances."
 }
 
@@ -171,17 +171,35 @@
     throw "rustup.exe was not installed to $(Join-Path $cargoBin 'rustup.exe')."
 }
 & (Join-Path $cargoBin 'rustup.exe') component add --toolchain $RustToolchain rustfmt clippy
+if ($LASTEXITCODE -ne 0) {
+    throw "rustup component add failed with exit code $LASTEXITCODE"
+}
 
 Write-Host 'Cloning and bootstrapping vcpkg'
 if (-not (Test-Path $VcpkgRoot)) {
     git clone https://github.com/microsoft/vcpkg.git $VcpkgRoot
+    if ($LASTEXITCODE -ne 0) {
+        throw "git clone for vcpkg failed with exit code $LASTEXITCODE"
+    }
 }
 & (Join-Path $VcpkgRoot 'bootstrap-vcpkg.bat') -disableMetrics
+if ($LASTEXITCODE -ne 0) {
+    throw "bootstrap-vcpkg.bat failed with exit code $LASTEXITCODE"
+}
 
 Write-Host 'Installing vcpkg packages used by Windows CI'
 & (Join-Path $VcpkgRoot 'vcpkg.exe') install "openblas:$Triplet"
+if ($LASTEXITCODE -ne 0) {
+    throw "vcpkg install openblas failed with exit code $LASTEXITCODE"
+}
 & (Join-Path $VcpkgRoot 'vcpkg.exe') install "lapack-reference:$Triplet"
+if ($LASTEXITCODE -ne 0) {
+    throw "vcpkg install lapack-reference failed with exit code $LASTEXITCODE"
+}
 & (Join-Path $VcpkgRoot 'vcpkg.exe') install "zeromq:$Triplet"
+if ($LASTEXITCODE -ne 0) {
+    throw "vcpkg install zeromq failed with exit code $LASTEXITCODE"
+}
 
 Write-Host 'Writing machine-wide environment variables'
 [Environment]::SetEnvironmentVariable('VCPKG_ROOT', $VcpkgRoot, 'Machine')

This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Comment thread infra/scripts/bootstrap-windows-runner.ps1
Comment thread infra/scripts/bootstrap-windows-runner.ps1
Comment thread .github/workflows/ci.yml Outdated
@gneeri gneeri requested a review from nallana April 1, 2026 17:14
@gneeri gneeri changed the base branch from main to dev April 1, 2026 17:14
Copy link
Copy Markdown

@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 OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment thread .github/workflows/release.yml
@gneeri gneeri merged commit a9756e0 into dev Apr 3, 2026
12 of 13 checks passed
@gneeri gneeri deleted the ci-runners branch April 3, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants