Shared CI workflow templates for the SuperInstance fleet of Rust repos.
SuperInstance/.github/ ← .github repo (central templates)
.github/workflows/rust-template.yml ← reusable workflow
repos/ ← per-repo wrappers (for reference)
Individual repos/
.github/workflows/<repo>-ci.yml ← 3-line wrapper calling template
rust-template.yml is a reusable GitHub Actions workflow with inputs:
| Input | Type | Default | Description |
|---|---|---|---|
rust-version |
string | 1.95.0 |
Rust toolchain version |
cuda-enabled |
boolean | false |
Enable GPU/CUDA job |
features |
string | "" |
Space-separated cargo feature flags |
msrv |
string | 1.75.0 |
Minimum supported Rust version |
Jobs:
- fmt — rustfmt check (ubuntu-latest)
- clippy — lint (ubuntu-latest, with/without features)
- test — matrix (3 OS ×ばつ 2 Rust versions, MSRV dedup'd)
- build-release — release-mode build + strip
- gpu-test — self-hosted GPU runner, main branch only
| Repo | Wrapper | Features | CUDA | Notes |
|---|---|---|---|---|
| eisenstein | eisenstein-ci.yml |
— | ❌ | Hex arithmetic |
| constraint-theory-core | constraint-theory-core-ci.yml |
— | ❌ | Constraint propagation |
| flux-lucid | flux-lucid-ci.yml |
— | ❌ | Meta-crate |
| eisenstein-tools | eisenstein-tools-ci.yml |
neon |
❌ | Workspace CLI |
| depgraph-gpu | depgraph-gpu-ci.yml |
gpu |
❌ | GPU-accelerated depgraph |
| constraint-theory-ecosystem | constraint-theory-ecosystem-ci.yml |
cuda |
✅ | GPU experiments |
# Auto-detect wrapper from repo name ./migrate-ci.sh /path/to/eisenstein # Force a specific wrapper ./migrate-ci.sh /path/to/custom-repo --wrapper constraint-theory-core # Dry run ./migrate-ci.sh /path/to/repo --dry-run
The script:
- Backs up existing
.github/workflows/ - Copies the appropriate wrapper
- Validates YAML
- Commits with message
ci: migrate to shared fleet template