Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ env:
jobs:
rivet-validate:
name: Rivet Artifact Traceability
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -35,7 +35,7 @@ jobs:

format:
name: Format
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -46,6 +46,8 @@ jobs:

clippy:
name: Clippy
# Stays on ubuntu-latest: requires `sudo apt-get install z3`; Z3 is not
# provisioned on smithy hosts. Migrate once smithy ships z3 in toolchains.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -62,6 +64,7 @@ jobs:

test:
name: Test
# Stays on ubuntu-latest: matrix spans macOS + Windows; smithy is Linux-only.
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand All @@ -76,6 +79,7 @@ jobs:

build:
name: Build
# Stays on ubuntu-latest: matrix spans macOS + Windows; smithy is Linux-only.
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand All @@ -96,7 +100,7 @@ jobs:

validate:
name: Validate WebAssembly Output
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
needs: build
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -165,6 +169,9 @@ jobs:

coverage:
name: Code Coverage
# Stays on ubuntu-latest: uses `sudo rm -rf` to free disk space on the
# GitHub-hosted image. Could migrate by dropping the free-disk step
# (smithy has plenty of disk via lv_runners) but leaving as-is for now.
runs-on: ubuntu-latest
steps:
- name: Free disk space
Expand Down Expand Up @@ -192,7 +199,7 @@ jobs:

benchmark:
name: Benchmarks
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -206,6 +213,8 @@ jobs:

verify:
name: Z3 Verification Build
# Stays on ubuntu-latest: requires `sudo apt-get install z3`; Z3 is not
# provisioned on smithy hosts. Migrate once smithy ships z3.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -264,6 +273,8 @@ jobs:

wasm-build:
name: WASM Build (wasm32-wasip2 with Z3)
# Stays on ubuntu-latest: installs wasi-sdk into /opt with sudo mkdir/tar.
# Could migrate by extracting into $HOME, but skipping until needed.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -302,7 +313,7 @@ jobs:

self-optimization:
name: Self-Optimization Test
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
needs: [build, wasm-build]
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -349,6 +360,8 @@ jobs:

rocq-proofs:
name: Rocq Formal Proofs
# Stays on ubuntu-latest: requires Nix + Bazel; both are out-of-scope for
# smithy phase 1 (see migration playbook "What's currently out of scope").
runs-on: ubuntu-latest
continue-on-error: true
steps:
Expand All @@ -370,6 +383,8 @@ jobs:

differential:
name: Differential Testing (vs wasm-opt)
# Stays on ubuntu-latest: requires `sudo apt-get install binaryen`;
# binaryen/wasm-opt is not provisioned on smithy hosts.
runs-on: ubuntu-latest
needs: [build]
steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ env:
jobs:
fuzz:
name: Fuzz ${{ matrix.target }}
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:

coverage:
name: Fuzzing coverage report
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]
needs: fuzz
if: always()

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ env:
jobs:
build-native:
name: Build Native (${{ matrix.os }})
# Stays on ubuntu-latest: matrix spans macOS + Windows; smithy is Linux-only.
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand Down Expand Up @@ -75,6 +76,7 @@ jobs:

build-wasm:
name: Build WASM (wasm32-wasip2)
# Stays on ubuntu-latest: installs wasi-sdk into /opt with sudo mkdir/tar.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -110,6 +112,8 @@ jobs:
release:
name: Create Release
needs: [build-native, build-wasm]
# Stays on ubuntu-latest: uses `sudo mv` for oras install plus Cosign
# OIDC keyless signing tied to GitHub-hosted runner identity.
runs-on: ubuntu-latest
permissions:
contents: write
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/validate-shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
jobs:
test-shared:
name: Test loom-shared
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]

steps:
- name: Checkout code
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:

test-workspace:
name: Test Full Workspace
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
needs: test-shared

steps:
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:

integration-test:
name: Integration Testing
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]
needs: test-workspace

steps:
Expand Down Expand Up @@ -149,7 +149,7 @@ jobs:

check-api-stability:
name: Check API Stability
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, rust-cpu]

steps:
- name: Checkout code
Expand All @@ -172,6 +172,8 @@ jobs:

format-and-lint:
name: Format and Lint
# Stays on ubuntu-latest: clippy step requires `sudo apt-get install z3`;
# Z3 is not provisioned on smithy hosts.
runs-on: ubuntu-latest

steps:
Expand All @@ -196,7 +198,7 @@ jobs:

verify-architecture:
name: Verify Architecture
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]

steps:
- name: Checkout code
Expand Down
Loading