Skip to content

Merge branch 'lazer' #46

Merge branch 'lazer'

Merge branch 'lazer' #46

Workflow file for this run

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