Update #52
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: Checks | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
CACHE_VERSION: 0 | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
CARGO_TERM_COLOR: always | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
RUST_BACKTRACE: full | |
jobs: | |
cargo-checks: | |
name: Task cargo ${{ matrix.action }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
action: [clippy, fmt, nextest] | |
steps: | |
- name: Fetch latest code | |
uses: actions/checkout@v4 | |
- name: Setup build environment | |
if: matrix.action != 'fmt' | |
run: rustup show | |
- uses: Swatinem/rust-cache@v2 | |
if: matrix.action != 'fmt' | |
with: | |
prefix-key: ${{ env.CACHE_VERSION }} | |
key: ${{ matrix.action }} | |
- name: Cargo clippy | |
if: matrix.action == 'clippy' | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --workspace --all-features --all-targets --locked | |
- name: Cargo fmt | |
if: matrix.action == 'fmt' | |
run: | | |
rustup toolchain install nightly | |
rustup component add rustfmt --toolchain nightly | |
cargo +nightly fmt --all -- --check | |
- name: Install cargo-nextest | |
if: matrix.action == 'nextest' | |
uses: taiki-e/install-action@nextest | |
- name: Cargo nextest | |
if: matrix.action == 'nextest' | |
run: cargo nextest run --cargo-profile ci-dev --workspace --all-features --all-targets --locked | |
- name: Fast fail | |
uses: vishnudxb/cancel-workflow@v1.2 | |
if: failure() | |
with: | |
repo: hack-ink/<NAME> | |
workflow_id: ${{ github.run_id }} | |
access_token: ${{ github.token }} |