name: Lint
on: [ push, pull_request ]
permissions:
contents: read
jobs:
rust:
name: Cargo clippy & fmt
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
azure.archive.ubuntu.com:80
crates.io:443
esm.ubuntu.com:443
github.com:443
index.crates.io:443
motd.ubuntu.com:443
ppa.launchpadcontent.net:443
static.crates.io:443
static.rust-lang.org:443
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - name: Setup Rust toolchain
run: rustup show && rustup update
- name: cargo fmt
run: cargo fmt -- --check
- name: cargo clippy
run: cargo clippy --all-features --tests -- -D warnings
audit:
name: Cargo Audit
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
crates.io:443
github.com:443
index.crates.io:443
release-assets.githubusercontent.com:443
static.crates.io:443
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Cargo Audit
uses: taiki-e/install-action@1cacf5c5198b25f60b90968ce45860e926d584b0
- name: Run Cargo Audit
run: cargo audit
hack:
name: Cargo Hack
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
crates.io:443
github.com:443
index.crates.io:443
objects.githubusercontent.com:443
release-assets.githubusercontent.com:443
static.crates.io:443
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Cargo Hack
uses: taiki-e/install-action@1e0da06a92292d575f4f010e4580a3ae806b45dd
- name: Run Cargo Hack
run: cargo hack check --each-feature --no-dev-deps