Upgrade rust nightly version for coverage #10505
Workflow file for this run
This file contains 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
on: | |
push: | |
branches: | |
- "**" # target all branches | |
pull_request: | |
branches: | |
- master | |
name: Code Coverage | |
env: | |
# We partition coverage tests into multiple parts to avoid filling diskspace in a single runner | |
PARTITIONS_COUNT: 8 | |
jobs: | |
coverage: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# This range spans from `0` to `PARTITIONS_COUNT - 1`, where `PARTITIONS_COUNT` is the number of partitions (defined in env var above) | |
partition: [0, 1, 2, 3, 4, 5, 6, 7] | |
steps: | |
- name: Install dependencies | |
run: sudo apt-get install -yqq build-essential python3 python3-toml | |
- uses: actions/checkout@v1 | |
- name: Install rust | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly-2024-03-20 | |
- name: Run cargo clean | |
run: cargo clean | |
- name: Install grcov from cargo | |
run: cargo install grcov | |
- name: Run coverage tests | |
run: python3 build-tools/workspace-partition.py ${{ env.PARTITIONS_COUNT }} ${{ matrix.partition }} | xargs -I {} sh -c 'CARGO_INCREMENTAL=0 RUST_BACKTRACE=full RUST_LOG=debug RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off" RUSTDOCFLAGS="-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off" RUSTUP_TOOLCHAIN=nightly-2024-03-20 cargo test' | |
- name: Collect coverage data with grcov | |
run: grcov . --source-dir . --output-type lcov --branch --ignore-not-existing --binary-path ./target/debug/ -o grcov-report-${{ matrix.partition }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: code-coverage-report-${{ matrix.partition }} | |
path: grcov-report-${{ matrix.partition }} |