Files
vnidrop/.github/workflows/rust-core.yml

49 lines
1.2 KiB
YAML

name: Rust core
on:
pull_request:
paths:
- "Cargo.toml"
- "Cargo.lock"
- "crates/vnidrop/**"
- "Makefile"
- "config.mk"
- "make/**"
- ".github/workflows/rust-core.yml"
push:
# Only after merge (or direct master pushes). Feature-branch work is covered
# by pull_request so we do not run the same job twice on every PR update.
branches:
- master
paths:
- "Cargo.toml"
- "Cargo.lock"
- "crates/vnidrop/**"
- "Makefile"
- "config.mk"
- "make/**"
- ".github/workflows/rust-core.yml"
permissions:
contents: read
concurrency:
group: rust-core-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
quality:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Install Rust quality components
run: rustup component add clippy rustfmt
- name: Check Rust core
run: make check-rust
- name: Install cargo-audit
run: cargo install cargo-audit --locked
- name: Audit Rust dependencies
# Ignores are listed in .cargo/audit.toml for known transitive issues.
run: make audit-rust