Switch release flow from release-plz to Vortex-style release-drafter #64
This file contains hidden or 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
| name: CI | |
| on: | |
| push: | |
| branches: ["develop"] | |
| pull_request: {} | |
| workflow_dispatch: {} | |
| permissions: | |
| actions: read | |
| contents: read | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - uses: ./.github/actions/setup-rust | |
| - name: Rust Build | |
| run: cargo build --all-features --all-targets | |
| - name: Rust Lint - Format | |
| run: cargo fmt --all --check | |
| - name: Rust Lint - Clippy | |
| run: cargo clippy --all-features --all-targets | |
| - name: Rust Test | |
| run: cargo test --workspace --all-features | |
| bench-codspeed: | |
| name: Benchmark with Codspeed | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - uses: ./.github/actions/setup-rust | |
| - name: Install Codspeed | |
| shell: bash | |
| run: cargo install --force cargo-codspeed --locked | |
| - name: Build benchmarks | |
| env: | |
| RUSTFLAGS: "-C target-feature=+avx2" | |
| run: | | |
| cargo codspeed build --profile bench -m instrumentation | |
| - name: Run benchmarks - Instrumentation | |
| uses: CodSpeedHQ/action@281164b0f014a4e7badd2c02cecad9b595b70537 # v4 | |
| with: | |
| run: cargo codspeed run | |
| token: ${{ secrets.CODSPEED_TOKEN }} | |
| mode: instrumentation | |
| bench-codspeed-walltime: | |
| name: Benchmark with Codspeed | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - uses: ./.github/actions/setup-rust | |
| - name: Install Codspeed | |
| shell: bash | |
| run: cargo install --force cargo-codspeed --locked | |
| - name: Build benchmarks | |
| env: | |
| # TODO: use avx512 (+avx512f,+avx512bw,+avx512vl,+avx512dq) once the | |
| # walltime runner is guaranteed to expose it (e.g. codspeed-macro); | |
| # ubuntu-latest does not reliably support AVX-512 and would SIGILL. | |
| RUSTFLAGS: "-C target-feature=+avx2" | |
| run: | | |
| cargo codspeed build --profile bench -m walltime | |
| - name: Run benchmarks - Wall time | |
| uses: CodSpeedHQ/action@281164b0f014a4e7badd2c02cecad9b595b70537 # v4 | |
| with: | |
| run: cargo codspeed run | |
| token: ${{ secrets.CODSPEED_TOKEN }} | |
| mode: walltime |