name: Rust
permissions:
contents: read
on:
pull_request:
branches: [ "*" ]
env:
CARGO_TERM_COLOR: always
CARGO_NET_GIT_FETCH_WITH_CLI: true
jobs:
check-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae with:
cache-on-failure: "true"
- name: Check
run: cargo check --all-features
- name: Run tests
run: cargo test --all-features
check-fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - name: Check formatting
run: cargo fmt --all -- --check
check-doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae with:
cache-on-failure: "true"
- name: Check docs
run: RUSTDOCFLAGS="-D warnings" cargo doc --all-features --no-deps
check-clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae with:
cache-on-failure: "true"
- name: Run clippy
run: cargo clippy --all-features -- -D clippy::all
check-clippy-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae with:
cache-on-failure: "true"
- name: Run clippy
run: cargo clippy --all-features --tests -- -D clippy::all
check-changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - name: Check changelogs
run: ./.github/changelog.sh