⬆️ Bump codecov/codecov-action from 4.6.0 to 5.1.2 #107
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: | |
pull_request: | |
branches: | |
- main | |
- master | |
- develop | |
push: | |
branches: | |
- main | |
- master | |
- develop | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- run: rustup component add rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- run: rustup component add clippy | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features | |
coverage: | |
name: Test Coverage | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.head_commit.message, '[skip coverage]')" | |
needs: [ test ] | |
strategy: | |
matrix: | |
flags: | |
- lib | |
- doc | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@v2 | |
name: Install cargo-tarpaulin using install-action | |
with: | |
tool: cargo-tarpaulin | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: tarpaulin | |
args: --${{ matrix.flags }} --all-features --workspace --out xml | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage-report-${{ matrix.flags }} | |
path: cobertura.xml | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v5.1.2 | |
if: "!contains(github.event.head_commit.message, '[skip codecov]')" | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: cobertura.xml | |
flags: ${{ matrix.flags }} | |
fail_ci_if_error: true | |
cargo-mutants: | |
runs-on: ubuntu-latest | |
if: "github.event_name == 'pull_request' && !contains(github.event.head_commit.message, '[skip mutants]')" | |
# Often you'll want to only run this after the build is known to pass its basic tests, | |
# to avoid wasting time, and to allow using --baseline=skip. | |
needs: [ test ] | |
strategy: | |
fail-fast: false # Collect all mutants even if some are missed | |
matrix: | |
shard: [ 0, 1, 2, 3, 4, 5, 6, 7 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Relative diff | |
run: | | |
git branch -av | |
git diff origin/${{ github.base_ref }}.. | tee git.diff | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: taiki-e/install-action@v2 | |
name: Install cargo-mutants using install-action | |
with: | |
tool: cargo-mutants | |
# Set an appropriate timeout for your tree here. | |
# The denominator of the shard count must be the number of shards. | |
- name: Mutants | |
run: | | |
cargo mutants --no-shuffle -vV --shard ${{ matrix.shard }}/8 --baseline=skip --timeout 300 --in-place --in-diff git.diff | |
- name: Archive mutants.out | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
path: mutants.out | |
name: mutants-shard${{matrix.shard}}.out | |
bench: | |
name: Benchmark | |
runs-on: ubuntu-latest | |
if: github.event_name == 'pull_request' | |
needs: [ test ] | |
permissions: | |
contents: read | |
pull-requests: write | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: boa-dev/criterion-compare-action@v3 | |
with: | |
branchName: ${{ github.base_ref }} |