diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db1b1e52..f41079e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,6 +48,14 @@ jobs: compat-integration-test-instrumentation: runs-on: ubuntu-latest + strategy: + matrix: + build-args: + - "-p codspeed" + - "-p codspeed-bencher-compat" + - "--features async_futures -p codspeed-criterion-compat" + - "-p codspeed-divan-compat" + - "-p codspeed-divan-compat-examples" steps: - uses: actions/checkout@v4 with: @@ -58,21 +66,24 @@ jobs: - run: cargo install --path crates/cargo-codspeed --locked - - run: cargo codspeed build -p codspeed - - run: cargo codspeed build -p codspeed-bencher-compat - - run: cargo codspeed build --features async_futures -p codspeed-criterion-compat - - - run: cargo codspeed build -p codspeed-divan-compat - - run: cargo codspeed build -p codspeed-divan-compat-examples + - run: cargo codspeed build ${{ matrix.build-args }} - name: Run the benchmarks uses: CodSpeedHQ/action@main + env: + MY_ENV_VAR: "YES" with: run: cargo codspeed run token: ${{ secrets.CODSPEED_TOKEN }} compat-integration-test-walltime: runs-on: codspeed-macro + strategy: + matrix: + package: + - codspeed-divan-compat + - codspeed-divan-compat-examples + - codspeed-criterion-compat steps: - uses: actions/checkout@v4 with: @@ -83,12 +94,26 @@ jobs: - run: cargo install --path crates/cargo-codspeed --locked - - run: cargo codspeed build -p codspeed-divan-compat - - run: cargo codspeed build -p codspeed-divan-compat-examples - - run: cargo codspeed build -p codspeed-criterion-compat + - run: cargo codspeed build -p ${{ matrix.package }} - name: Run the benchmarks uses: CodSpeedHQ/action@main + env: + MY_ENV_VAR: "YES" with: run: cargo codspeed run token: ${{ secrets.CODSPEED_TOKEN }} + + check: + runs-on: ubuntu-latest + if: always() + needs: + - lint + - msrv-check + - tests + - compat-integration-test-instrumentation + - compat-integration-test-walltime + steps: + - uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJson( needs ) }} diff --git a/crates/divan_compat/examples/Cargo.toml b/crates/divan_compat/examples/Cargo.toml index 30f830ca..188a5c0c 100644 --- a/crates/divan_compat/examples/Cargo.toml +++ b/crates/divan_compat/examples/Cargo.toml @@ -33,6 +33,10 @@ harness = false name = "time_scale" harness = false +[[bench]] +name = "env" +harness = false + [[bench]] name = "the_algorithms" harness = false diff --git a/crates/divan_compat/examples/benches/env.rs b/crates/divan_compat/examples/benches/env.rs new file mode 100644 index 00000000..ecb47d70 --- /dev/null +++ b/crates/divan_compat/examples/benches/env.rs @@ -0,0 +1,9 @@ +fn main() { + divan::main(); +} + +#[divan::bench] +fn print_env_hello() { + let env_var = std::env::var("MY_ENV_VAR").unwrap_or("not set".to_string()); + println!("MY_ENV_VAR is {}", env_var); +}