miroir/.github/workflows/test.yml
jedarden f63e9e383d P12.OP1: Shard migration cutover race window analysis (miroir-zc2.1)
- Add GitHub Actions workflow for CI (runs all tests + chaos tests)
- Empirically verify 0-loss cutover via chaos testing suite
- Document loss rates: AE+delta=0%, AE off+delta=0%, unsafe=refused
- Validate Plan §15 OP#1 closure through 19 chaos tests
- Acceptance criteria: < 1 per 1M loss rate with AE on (achieved 0/1M)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 20:44:09 -04:00

56 lines
1.4 KiB
YAML

name: Test
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Run all tests
run: cargo test --all
- name: Run chaos tests (v1.0-gating)
run: cargo test --test cutover_race --verbose
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rustfmt, clippy
- name: Run rustfmt
run: cargo fmt --all --check
- name: Run clippy
run: cargo clippy --all-targets --all-features -- -D warnings