Bump actions/upload-artifact from 4.3.4 to 4.4.3 #413
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
name: Rust | |
on: | |
pull_request: | |
paths: | |
- "**.rs" | |
- .github/workflows/rust.yml | |
- Cargo.lock | |
- Cargo.toml | |
- clippy.toml | |
- Justfile | |
- rust-toolchain.toml | |
- rustfmt.toml | |
push: | |
branches: | |
- main | |
permissions: read-all | |
env: | |
RUST_BACKTRACE: 1 | |
jobs: | |
build: | |
name: Build (${{ matrix.name }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: MacOS | |
os: macos-14 | |
- name: Ubuntu | |
os: ubuntu-24.04 | |
- name: Windows | |
os: windows-2022 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-all-features | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Build | |
run: just ci-build | |
build-nightly: | |
name: Build nightly (${{ matrix.name }}) | |
runs-on: ${{ matrix.os }} | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: MacOS | |
os: macos-14 | |
- name: Ubuntu | |
os: ubuntu-24.04 | |
- name: Windows | |
os: windows-2022 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: nightly-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: | | |
rustup install nightly | |
rustup override set nightly | |
rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-all-features | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Build | |
run: just ci-build | |
coverage: | |
name: Coverage | |
runs-on: ubuntu-24.04 | |
needs: | |
- test | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-tarpaulin | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Run all tests with coverage | |
run: just ci-coverage | |
- name: Upload coverage report | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
if: ${{ failure() || success() }} | |
with: | |
name: coverage-report | |
path: _reports/coverage/ | |
retention-days: 7 | |
docs: | |
name: Docs | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Build docs | |
run: just ci-docs | |
fmt: | |
name: Fmt | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Check formatting | |
run: just ci-fmt | |
mutation: | |
name: Mutation | |
runs-on: ubuntu-24.04 | |
needs: | |
- test | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-mutants | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Run mutation tests | |
run: just ci-mutation | |
- name: Upload mutation report | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
if: ${{ failure() || success() }} | |
with: | |
name: mutation-report | |
path: _reports/mutants.out/ | |
retention-days: 7 | |
reproducible: | |
name: Reproducible build | |
runs-on: ubuntu-24.04 | |
needs: | |
- build | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Build | |
run: just build | |
- name: Compute checksum | |
run: shasum target/release/rust-rm | tee checksums.txt | |
- name: Rebuild | |
run: just clean build | |
- name: Verify checksum | |
run: shasum --check checksums.txt --strict | |
test: | |
name: Test (${{ matrix.name }}) | |
runs-on: ${{ matrix.os }} | |
needs: | |
- build | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: MacOS | |
os: macos-14 | |
- name: Ubuntu | |
os: ubuntu-24.04 | |
- name: Windows | |
os: windows-2022 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-all-features | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Run all tests | |
run: just ci-test | |
test-nightly: | |
name: Test nightly (${{ matrix.name }}) | |
runs-on: ${{ matrix.os }} | |
needs: | |
- build-nightly | |
- test | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: MacOS | |
os: macos-14 | |
- name: Ubuntu | |
os: ubuntu-24.04 | |
- name: Windows | |
os: windows-2022 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: nightly-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: | | |
rustup install nightly | |
rustup override set nightly | |
rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-all-features | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Run all tests | |
run: just ci-test | |
vet: | |
name: Vet | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache Rust & Cargo | |
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1 | |
with: | |
path: | | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install Rust toolchain | |
run: rustup show | |
- name: Install Just | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: just@1 | |
- name: Install cargo-all-features | |
uses: taiki-e/install-action@3e71e7135de310b70bc22dccb4d275acde8e055a # v2.42.0 | |
with: | |
tool: [email protected] | |
- name: Vet | |
run: just ci-vet |