diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 4f41a64dc..a7eda1177 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -70,13 +70,11 @@ jobs: - name: Run compact gate tests run: cargo test --no-default-features --features "cli web-app real-world-infra test-fixture compact-gate" - extra: - name: Additional Builds and Concurrency Tests - env: - RUSTFLAGS: -D warnings -C target-cpu=native - + release: + name: Release builds and tests runs-on: ubuntu-latest - + env: + RUSTFLAGS: -C target-cpu=native steps: - uses: actions/checkout@v3 @@ -97,34 +95,22 @@ jobs: - name: Release Build run: cargo build --release - - name: Build benchmarks - run: cargo build --benches --no-default-features --features "enable-benches descriptive-gate" - - name: Build concurrency tests run: cargo build --release --features shuttle - - name: Build concurrency tests (debug mode) - run: cargo build --features shuttle - - name: Run concurrency tests run: cargo test --release --features shuttle - - name: Run IPA bench - run: cargo bench --bench oneshot_ipa --no-default-features --features "enable-benches descriptive-gate" - - - name: Run arithmetic bench - run: cargo bench --bench oneshot_arithmetic --no-default-features --features "enable-benches descriptive-gate" - - - name: Run compact gate tests - run: cargo test --no-default-features --features "cli web-app real-world-infra test-fixture compact-gate" - - aggregate: - name: Build and test aggregate circuit + extra: + name: Additional Builds and Concurrency Tests + env: + RUSTFLAGS: -D warnings -C target-cpu=native runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable with: components: clippy,rustfmt @@ -139,21 +125,35 @@ jobs: target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }} - - name: Web Tests - run: cargo test --no-default-features --features "aggregate-circuit cli web-app real-world-infra test-fixture descriptive-gate" + - name: Build benchmarks + run: cargo build --benches --no-default-features --features "enable-benches descriptive-gate" + + - name: Build concurrency tests (debug mode) + run: cargo build --features shuttle + + - name: Run IPA bench + run: cargo bench --bench oneshot_ipa --no-default-features --features "enable-benches descriptive-gate" + + - name: Run arithmetic bench + run: cargo bench --bench oneshot_arithmetic --no-default-features --features "enable-benches descriptive-gate" + + - name: Run compact gate tests + run: cargo test --no-default-features --features "cli web-app real-world-infra test-fixture compact-gate" + + # sanitizers currently require nightly https://github.com/rust-lang/rust/issues/39699 sanitize: runs-on: ubuntu-latest - timeout-minutes: 10 strategy: fail-fast: false matrix: - sanitizer: [ address, leak, memory, thread ] + sanitizer: [ address, leak ] + env: + TARGET: x86_64-unknown-linux-gnu steps: - uses: actions/checkout@v3 - # https://github.com/rust-lang/rust/issues/39699 - uses: dtolnay/rust-toolchain@nightly - - name: Add rust source + - name: Add Rust sources run: rustup component add rust-src - name: Run tests with sanitizer - run: RUSTFLAGS="-Z sanitizer=${{ matrix.sanitizer }} -Z sanitizer-memory-track-origins" cargo test --target x86_64-unknown-linux-gnu + run: RUSTFLAGS="-Z sanitizer=${{ matrix.sanitizer }} -Z sanitizer-memory-track-origins" cargo test -Z build-std --target $TARGET --no-default-features --features "cli web-app real-world-infra test-fixture descriptive-gate"