Skip to content

wip: run certain benches #730

wip: run certain benches

wip: run certain benches #730

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
components: rustfmt, clippy
- uses: pre-commit/[email protected]
with:
extra_args: --all-files
lint-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
components: rustfmt, clippy
- uses: pre-commit/[email protected]
with:
extra_args: --all-files
msrv-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
bins: cargo-msrv
- name: Check cospeed MSRV
run: cargo msrv --path crates/codspeed verify -- cargo check --all-features --config codspeed=true
- name: Check bencher_compat MSRV
run: cargo msrv --path crates/bencher_compat verify -- cargo check --all-features --config codspeed=true
- name: Check criterion_compat MSRV
run: cargo msrv --path crates/criterion_compat verify -- cargo check --all-features --config codspeed=true
- name: Check divan_compat MSRV
run: cargo msrv --path crates/divan_compat verify -- cargo check --all-features --config codspeed=true
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
- run: cargo test --all
# 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:
# submodules: true
# - uses: moonrepo/setup-rust@v1
# with:
# cache-target: release
# - run: cargo install --path crates/cargo-codspeed --locked
# - run: cargo codspeed build ${{ matrix.build-args }}
# - name: Run the benchmarks
# uses: CodSpeedHQ/action@main
# env:
# MY_ENV_VAR: "YES"
# with:
# mode: instrumentation
# 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:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
cache-target: release
- run: cargo install --path crates/cargo-codspeed --locked
- run: |
# Remove the cargo config else it forces instrumentation mode
rm -f .cargo/config.toml
cargo codspeed build -p ${{ matrix.package }}
- name: Run the benchmarks
uses: CodSpeedHQ/action@chore/runner-branch
env:
MY_ENV_VAR: "YES"
CODSPEED_PERF_ENABLED: true
with:
runner-branch: cod-1344-investigate-benchmark-time-in-drop_in_place-and-perf
mode: walltime
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
check:
runs-on: ubuntu-latest
if: always()
needs:
- lint
- lint-windows
- msrv-check
- tests
- compat-integration-test-walltime
steps:
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJson( needs ) }}