From 3d6e73044424c826c4de77077055bc180ff8b425 Mon Sep 17 00:00:00 2001 From: Zachary Dremann Date: Mon, 5 Aug 2024 20:15:54 -0400 Subject: [PATCH] rework ci testing don't run a full benchmark, but do test fuzzers, and all targets in release mode --- .github/workflows/rust.yml | 20 ++++++++++++++++---- fuzz/Cargo.lock | 9 ++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index c46937b..4918fc0 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -28,7 +28,7 @@ jobs: - name: Install cargo tools uses: taiki-e/install-action@v2 with: - tool: cargo-hack,cargo-minimal-versions + tool: cargo-hack,cargo-minimal-versions,cargo-fuzz if: matrix.rust == 'nightly' && matrix.cargo_features == 'default' - uses: actions/checkout@v4 @@ -51,7 +51,7 @@ jobs: if: matrix.os == 'ubuntu-latest' && matrix.rust == 'nightly' && matrix.cargo_features == 'default' - name: Test - run: cargo +${{ matrix.rust }} test --no-default-features --features "${{ matrix.cargo_features }}" + run: cargo +${{ matrix.rust }} test --no-default-features --features "${{ matrix.cargo_features }}" --all-targets - name: Minimal versions # cargo-minimal-versions won't detach the path deps if we're using dev dependencies @@ -65,6 +65,18 @@ jobs: run: cargo update && cargo +${{ matrix.rust }} test --no-default-features --features "${{ matrix.cargo_features }}" if: matrix.rust == 'stable' && matrix.cargo_features == 'default' - - name: Benchmark - run: cargo +${{ matrix.rust }} bench --no-default-features --features "${{ matrix.cargo_features }}" + - name: Short Fuzz + run: | + cd fuzz || exit 1 + CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer" + targets=( $(cargo metadata --format-version 1 --no-deps | jq -r ".packages[].targets[].name") ) + for target in "${targets[@]}"; do + cargo fuzz run "$target" -- -max_total_time=10 + done + if: matrix.rust == 'nightly' && matrix.cargo_features == 'default' && matrix.os == 'ubuntu-latest' + + - name: Release Test + run: | + cargo +${{ matrix.rust }} test --no-default-features --features "${{ matrix.cargo_features }}" --release --all-targets if: matrix.rust == 'nightly' && matrix.cargo_features == 'default' + diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 43b434b..c46bc9b 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -25,18 +25,17 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.101" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d" +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] name = "croaring" -version = "2.0.2" +version = "2.0.3" dependencies = [ "croaring-sys", ] @@ -52,7 +51,7 @@ dependencies = [ [[package]] name = "croaring-sys" -version = "4.1.0" +version = "4.1.1" dependencies = [ "cc", ]