fb71d45b30
This enables clippy in CI and suppresses most of the existing warnings. We can drill down and fix those later, but this will help start getting things under control.
74 lines
1.7 KiB
YAML
74 lines
1.7 KiB
YAML
name: Rust
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: ["**"]
|
|
merge_group:
|
|
types: [checks_requested]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUSTFLAGS: "-D warnings"
|
|
|
|
jobs:
|
|
rustfmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
components: rustfmt
|
|
- run: cargo fmt --check
|
|
semver:
|
|
runs-on: macos-14
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check semver
|
|
uses: obi1kenobi/cargo-semver-checks-action@v2
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [macos-12, macos-13, macos-14]
|
|
toolchain: [stable]
|
|
include:
|
|
- os: macos-14
|
|
toolchain: "1.65.0"
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install toolchain
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ matrix.toolchain }}
|
|
- name: Build
|
|
run: cargo build --verbose
|
|
- name: Run tests
|
|
run: cargo test --verbose
|
|
- name: Run clippy
|
|
if: matrix.os == 'macos-14' && matrix.toolchain == 'stable'
|
|
run: cargo clippy --all-targets --workspace
|
|
typos:
|
|
# If this fails, consider changing your text or adding something to .typos.toml
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: check typos
|
|
uses: crate-ci/typos@v1.23.6
|
|
build_result:
|
|
name: Result
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- "build"
|
|
- "semver"
|
|
- "typos"
|
|
steps:
|
|
- name: Mark the job as successful
|
|
run: exit 0
|
|
if: success()
|
|
- name: Mark the job as unsuccessful
|
|
run: exit 1
|
|
if: "!success()"
|