update readme; add badges #35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
permissions: | |
contents: read | |
# runs on push to the main branch, and PRs | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
name: check | |
jobs: | |
# 1. format | |
fmt: | |
name: "stable / fmt" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "checkout" | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: "Install stable" | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- name: "cargo fmt --check" | |
run: cargo fmt --check | |
# 2. clippy lints | |
clippy: | |
name: "${{ matrix.toolchain }} / clippy" | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
checks: write | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable] | |
# toolchain: [stable, beta] | |
steps: | |
- name: "checkout" | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: "Install ${{ matrix.toolchain }}" | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
components: clippy | |
- name: "cargo clippy" | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
# 3. documentation | |
doc: | |
name: "nightly / doc" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "checkout" | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: "Install nightly" | |
uses: dtolnay/rust-toolchain@nightly | |
- name: "cargo doc" | |
run: cargo doc --features=nightly_doc | |
env: | |
RUSTDOCFLAGS: --cfg _docsrs | |
# 4. minimum supported Rust version | |
msrv: | |
name: "ubuntu / ${{ matrix.msrv }}" | |
runs-on: ubuntu-latest | |
# we use a matrix here just because env can't be used in job names | |
# https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability | |
strategy: | |
matrix: | |
msrv: [1.72.1] # sync with ../../{README.md, Cargo.toml, check.sh} | |
steps: | |
- name: "checkout" | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: "Install ${{ matrix.msrv }}" | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.msrv }} | |
- name: "cargo +${{ matrix.msrv }} check" | |
run: cargo check |