Feature: Orion PCS Integration #1710
This file contains 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
# Expander CI: unit tests on Github's servers | |
# it runs on both macos and ubuntu avx2 | |
# it does not check for avx512 -- this is not available on github | |
name: expander-rs CI | |
on: [pull_request, push] | |
env: | |
RUSTFLAGS: "-Dwarnings -C target-cpu=native" | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
ACTIONS_RUNNER_DEBUG: true | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt, clippy | |
- name: Setup Dependencies | |
run: sudo apt-get install -y build-essential openmpi-bin libopenmpi-dev | |
- name: Check formatting | |
run: cargo fmt --all -- --check | |
- name: Run clippy | |
run: cargo clippy --all | |
build-and-test: | |
name: Build and Test (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: macos-latest | |
- os: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache Rust dependencies | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: "mpi-v5.0.6" | |
- name: Setup Dependencies | |
run: | | |
if [ "${{ matrix.os }}" == "macos-latest" ]; then | |
brew install gcc make openmpi | |
else | |
sudo apt-get install -y build-essential openmpi-bin libopenmpi-dev | |
fi | |
mpiexec --version | |
- name: Download test data | |
run: cargo run --bin=dev-setup --release | |
- name: Build project | |
run: cargo build --all-features --release | |
- name: Run unit tests | |
run: cargo test --all-features --release --workspace | |
- name: Run E2E tests | |
run: ./scripts/test_recursion.py | |
- name: Run benchmarks | |
run: | | |
cargo run --bin=dev-setup --release | |
cargo run --bin=gkr --release -- -t 4 -f gf2ext128 | |
cargo run --bin=gkr --release -- -t 4 -f m31ext3 | |
cargo run --bin=gkr --release -- -t 4 -f fr |