name: test
on:
workflow_call:
workflow_dispatch:
permissions:
contents: read
defaults:
run:
shell: bash
env:
CI: "true"
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
NEXTEST_PROFILE: "ci"
jobs:
test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: ./.github/actions/install-deps
- uses: actions-rust-lang/setup-rust-toolchain@v1.16.0
- uses: mozilla-actions/sccache-action@v0.0.10
- uses: taiki-e/install-action@v2.77.1
with:
tool: cargo-nextest
- run: cargo nextest run --locked --all-features --workspace
- name: cargo test doc
run: cargo test --locked --all-features --doc --workspace
coverage:
runs-on: ubuntu-24.04
permissions:
id-token: write
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: ./.github/actions/install-deps
- uses: actions-rust-lang/setup-rust-toolchain@v1.16.0
with:
toolchain: nightly
components: llvm-tools
- uses: mozilla-actions/sccache-action@v0.0.10
- uses: taiki-e/install-action@v2.77.1
with:
tool: rustfilt,cargo-llvm-cov
- name: Generate coverage
run: |
EXPORT_FOR_CI=1 ./scripts/ci/coverage.sh
- name: Upload to codecov.io
uses: codecov/codecov-action@v6.0.0
with:
use_oidc: true
fail_ci_if_error: false