fix: anticipate stats field not being present (#32) #55
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
name: Checks | |
on: | |
push: | |
branches: | |
- main | |
- next | |
- lazer | |
pull_request: | |
jobs: | |
build-docs: | |
name: Build docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
- name: Build docs | |
env: | |
RUSTDOCFLAGS: --cfg docsrs | |
run: cargo doc --no-deps --all-features | |
clippy: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- kind: default-features | |
features: default | |
- kind: full-features | |
features: cache,macros,metrics,replay,serialize,local_oauth | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Add problem matchers | |
run: echo "::add-matcher::.github/rust.json" | |
- name: Run clippy | |
run: cargo clippy --features ${{ matrix.features }} --all-targets | |
rustfmt: | |
name: Format | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install nightly toolchain | |
uses: dtolnay/rust-toolchain@v1 | |
with: | |
components: rustfmt | |
toolchain: nightly | |
- name: Add problem matchers | |
run: echo "::add-matcher::.github/rust.json" | |
- name: Check code formatting | |
run: cargo fmt -- --check | |
feature-combinations: | |
name: Feature combinations | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Add problem matchers | |
run: echo "::add-matcher::.github/rust.json" | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@cargo-hack | |
- name: Check feature-combinations | |
run: > | |
cargo hack check | |
--feature-powerset --no-dev-deps | |
--optional-deps metrics | |
--group-features default,cache,macros,local_oauth,deny_unknown_fields | |
readme: | |
name: Readme | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Check if README is up to date | |
run: | | |
cargo install cargo-rdme | |
cargo rdme --check | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Add problem matchers | |
run: echo "::add-matcher::.github/rust.json" | |
- name: Install nextest | |
uses: taiki-e/install-action@nextest | |
- name: Run tests with nextest | |
run: > | |
cargo nextest run | |
--all-features | |
--no-fail-fast | |
--failure-output "immediate-final" | |
--filter-expr 'not binary(requests)' | |
- name: Run doctests | |
run: cargo test --doc --all-features |