ci: migrate workflows to smithy self-hosted runners#97
Open
Conversation
rust-cpu rivet-validate, validate, benchmark, self-optimization
(ci.yml); fuzz (fuzz.yml); test-shared, test-workspace,
integration-test, check-api-stability (validate-shared.yml)
light format (ci.yml); coverage (fuzz.yml);
verify-architecture (validate-shared.yml)
lean-mem (none)
Stays on ubuntu-latest:
- clippy sudo apt-get install z3 (not on smithy)
- test matrix spans macOS + Windows
- build matrix spans macOS + Windows
- coverage sudo rm -rf to free disk space
- verify sudo apt-get install z3 (not on smithy)
- wasm-build sudo mkdir/tar to install wasi-sdk into /opt
- rocq-proofs Nix + Bazel (out of scope per playbook)
- differential sudo apt-get install binaryen (not on smithy)
- build-native matrix spans macOS + Windows (release.yml)
- build-wasm sudo for wasi-sdk install (release.yml)
- release sudo mv for oras + Cosign OIDC keyless (release.yml)
- format-and-lint sudo apt-get install z3 (validate-shared.yml)
No new workarounds beyond those already documented in
smithy/docs/migration-playbook.md. All migrated jobs are clean
runs-on: changes only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Migrates 12 of 24 GitHub Actions jobs across
ci.yml,fuzz.yml,release.yml, andvalidate-shared.ymlfrom GitHub-hosted runners to the smithy self-hosted fleet (hetzner-privaterunner group onpulseengine-ci-01). Follows the migration playbook and matches the patterns landed in pulseengine/spar#201, pulseengine/rivet#262, pulseengine/kiln#247, and pulseengine/gale#35.Coverage
rust-cpu(12 G)rivet-validate,validate,benchmark,self-optimization(ci.yml);fuzz(fuzz.yml);test-shared,test-workspace,integration-test,check-api-stability(validate-shared.yml)light(4 G)format(ci.yml);coverage(fuzz.yml);verify-architecture(validate-shared.yml)lean-mem(24 G)Stays on hosted
clippysudo apt-get install z3— Z3 not on smithytestbuildcoveragesudo rm -rfto free diskverifysudo apt-get install z3wasm-buildsudo mkdir/tarto install wasi-sdk into/optrocq-proofsdifferentialsudo apt-get install binaryenbuild-nativebuild-wasmreleasesudo mvfororas+ Cosign keyless OIDC tied to GitHub-hosted identityformat-and-lintsudo apt-get install z3Each kept-hosted
runs-on:has a one-line comment naming the reason.Workarounds applied
None new — every migrated job is a clean one-line
runs-on:change. The repo doesn't currently useEmbarkStudios/cargo-deny-action,rustsec/audit-check, orobi1kenobi/cargo-semver-checks-action, so the playbook's documented action-replacement workarounds aren't needed here. The existingcargo-semver-checksstep invalidate-shared.ymlalready uses directcargo install+ invocation, which works on smithy as-is.Follow-ups (out of scope here)
z3andbinaryenin toolchains, four more jobs (clippy,verify,differential,format-and-lint) become trivially migratable.$HOMEinstead of/opt,wasm-build(ci.yml + release.yml) becomes migratable too.Test plan
rust-cpu/lightrunners and complete greentest,build, etc.) still run on GitHub-hosted as beforeRollback
Revert this commit. All
runs-on:flips back toubuntu-latestand the next run uses GitHub-hosted compute.