ci: migrate 15 of 20 jobs to smithy self-hosted runners#98
Merged
Conversation
rust-cpu coverage, multi-version-testing, validate-framework-fast,
stdio-integration-tests, python-sdk-compatibility,
external-validator-integration, benchmark-validation,
validate-release, quick-validation, validation-specific-tests,
compatibility-check, validate-external-servers
light changes, pr-report, update-compatibility-matrix
Stays on ubuntu-latest:
- build-validation-image docker buildx + GHCR push, podman-docker shim untested
- validate-in-container pulls + runs container image
- validate-framework matrix spans macOS + Windows
- security-validation cargo audit; smithy's pinned cargo-audit (0.21.x) rejects CVSS 4.0
- cross-platform-validation matrix spans macOS + Windows
Workaround applied:
Two jobs (quick-validation, coverage) had a "Free up disk space" step
that runs `sudo rm -rf` on hosted-only paths (/usr/share/dotnet, etc.).
Smithy redirects TMPDIR to a 500 G volume so the cleanup is unnecessary
and would fail (no sudo). Gated with `if: runner.environment == 'github-hosted'`
so the step still runs when CI falls back to hosted.
PR Validation ResultsQuick Validation: ❌
Summary: ❌ Some checks failed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Conservative migration of mcp's CI to the pulseengine self-hosted fleet,
mirroring spar (#201), rivet (#262), kiln (#247), and gale (#35). 15 of
20 jobs move to smithy
rust-cpu/lightclasses; 5 stay on hostedbecause they depend on docker buildx, the podman-docker shim, the macOS
cargo auditparser fix that smithyhasn't shipped yet. Each kept-hosted job has an in-place comment naming
the reason.
Migrated -> smithy
rust-cpu(12 G)coverage,multi-version-testing,validate-framework-fast,stdio-integration-tests,python-sdk-compatibility,external-validator-integration,benchmark-validation,validate-release,quick-validation,validation-specific-tests,compatibility-check,validate-external-serverslight(4 G)changes,pr-report,update-compatibility-matrixstdio-integration-testsandpython-sdk-compatibilityneed Node/Pythonrespectively; smithy ships Node LTS via nvm and Python 3.12, so both
work without extra setup.
Stays on
ubuntu-latest(in-place reasons in this PR for context)build-validation-imagevalidate-in-containervalidate-frameworkmacos-latestandwindows-latest; smithy is Linux x86_64 onlysecurity-validationcargo audit; smithy's pinned cargo-audit 0.21.x rejects CVSS 4.0 advisories (RUSTSEC-2026-0037). Move once smithy bumps to >=0.22.1cross-platform-validationmacos-latestandwindows-latestWorkarounds applied
quick-validation(pr-validation.yml) andcoverage(code-coverage.yml)had a
Free up disk spacestep runningsudo rm -rfon hosted-onlypaths (
/usr/share/dotnet,/usr/local/lib/android,/opt/ghc,/opt/hostedtoolcache/CodeQL). Smithy redirectsTMPDIRto a 500 Gvolume, so the cleanup is unnecessary and the
sudocall would fail.Gated each with
if: runner.environment == 'github-hosted'so thestep is preserved (and still runs) for any future fallback to hosted.
Expected win
Same as spar / rivet / kiln / gale: queue elimination on the
org-free-tier 20-concurrent cap dominates total wall time. mcp's PR
validation flows have meaningful compile + coverage work that fits
rust-cpucleanly.Test plan
journalctl -u smithy-trace-eacces.serviceRollback
Revert this commit; all 15 jobs flip back to
ubuntu-latest.