Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 96 additions & 21 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,117 @@
on: [push, pull_request]

name: Continuous integration
name: CI
on:
push:
branches:
- main
- ci
pull_request:

jobs:
check:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- name: Checkout
uses: actions/checkout@v4

- name: Nightly Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt, clippy
toolchain: nightly
components: rustfmt

- name: Check
run: cargo check
- name: Rustfmt
run: cargo +nightly fmt -- --check

- name: Format
run: cargo fmt -- --check
clippy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Stable Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy

- name: Clippy
run: cargo clippy -- -D warnings
run: cargo clippy --all-targets --all-features -- -D warnings

- name: Clippy Examples
run: cargo clippy --examples -- -D warnings
rustdoc:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Stable Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Rustdoc
run: cargo rustdoc --all-features -- -D warnings

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- name: Checkout
uses: actions/checkout@v4

- name: Stable Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Test all targets
run: cargo test --all-targets

- name: Test docs
run: cargo test --doc

typos:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check typos
uses: crate-ci/typos@master
with:
files: .

cargo_sort:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Stable Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Install cargo-sort
run: cargo install --locked cargo-sort

- name: Check `Cargo.toml` sort
run: cargo sort -c

shear:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Stable Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable

- name: Test
run: cargo test --all-features
- name: Install `cargo-shear`
run: cargo install --locked cargo-shear

- name: Test Examples
run: cargo test --examples
- name: Check unused Cargo dependencies
run: cargo shear

readme:
runs-on: ubuntu-latest
Expand Down
Loading