name: Parallel Mathematical Verification (Optimization - Disabled)
on:
workflow_dispatch: schedule:
- cron: '0 2 * * 0'
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
code-quality:
name: Code Quality
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- name: Format check
run: cargo fmt --all -- --check
- name: Clippy lints
run: cargo clippy --all-targets --all-features -- -D warnings
core-algebra:
name: Core Algebra Tests
runs-on: ubuntu-latest
timeout-minutes: 8
strategy:
matrix:
crate: [amari-core, amari-tropical, amari-dual, amari-info-geom]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Test ${{ matrix.crate }}
run: cargo test -p ${{ matrix.crate }} --lib --bins
advanced-features:
name: Advanced Features
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
matrix:
crate: [amari-fusion, amari-enumerative, amari-automata, amari-flynn-macros, amari-flynn]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Test ${{ matrix.crate }}
run: cargo test -p ${{ matrix.crate }} --lib --bins
gpu-acceleration:
name: GPU Tests (with fallback)
runs-on: ubuntu-latest
timeout-minutes: 8
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install GPU dependencies
run: |
sudo apt-get update
sudo apt-get install -y mesa-utils
- name: Test GPU crates (with CI fallbacks)
run: |
cargo test -p amari-gpu --lib --bins || echo "GPU tests failed as expected in CI"
cargo test -p amari-wasm --lib --bins
formal-verification:
name: Formal Verification
runs-on: ubuntu-latest
timeout-minutes: 8
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Verification tests
run: cargo test --all --features formal-verification
documentation:
name: Documentation
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build docs
run: cargo doc --all --no-deps --document-private-items
integration:
name: Integration Tests
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [code-quality, core-algebra, advanced-features, formal-verification]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Full integration test
run: cargo test --all --lib --bins
- name: Mathematical correctness verified
run: |
echo "✨ All mathematical properties verified ✨"
echo "🔬 Geometric algebra: ✓"
echo "🌴 Tropical semirings: ✓"
echo "👻 Phantom types: ✓"
echo "🧮 Formal verification: ✓"