Skip to content

Workflow file for this run

name: apistos build
on:
pull_request:
branches: [ main ]
paths:
- "**.rs"
- "**Cargo.toml"
push:
branches:
- main
paths:
- "**.rs"
- "**Cargo.toml"
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
strategy:
matrix:
crate:
- apistos
- apistos-core
- apistos-gen
- apistos-gen-test
- apistos-models
- apistos-plugins
- apistos-rapidoc
- apistos-redoc
- apistos-scalar
- apistos-shuttle
- apistos-swagger-ui
fail-fast: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Check format
run: |
rustup component add rustfmt
cargo fmt --all --check --package ${{ matrix.crate }}
- name: Check clippy
run: |
rustup component add clippy
cargo clippy --no-deps --all-features --tests --package ${{ matrix.crate }} -- -D warnings
- name: Run tests
run: |
cargo test --all-features --package ${{ matrix.crate }}