Skip to content

ci

ci #70

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "38 13 * * 3"
jobs:
stable:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/setup-rust
with:
toolchain: nightly
components: clippy
- run: cargo +stable check
- run: cargo +stable clippy -- -D clippy::pedantic
nightly:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/setup-rust
with:
toolchain: nightly
components: rustfmt,rust-docs
- run: cargo +nightly fmt --all -- --check
- run: RUSTDOCFLAGS="-D warnings --cfg docsrs" cargo +nightly doc --no-deps
test:
strategy:
fail-fast: false
matrix:
toolchain:
- "1.56"
- "stable"
- "beta"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/setup-rust
with:
toolchain: ${{ matrix.toolchain }}
- name: Update lockfile
run: cargo generate-lockfile -Zminimal-versions
env:
RUSTC_BOOTSTRAP: 1
- run: cargo +${{ matrix.toolchain }} test --workspace -- --nocapture --color=never
audit:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/setup-rust
- name: Audit
uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
devskim:
runs-on: ubuntu-22.04
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run DevSkim scanner
uses: microsoft/DevSkim-Action@v1
- name: Upload DevSkim scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: devskim-results.sarif
check-all-versions:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: ./.github/actions/setup-rust
- name: Install "cargo-hack"
run: curl --location --silent --show-error --fail https://github.com/cargo-bins/cargo-quickinstall/releases/download/cargo-hack-0.5.28-x86_64-unknown-linux-gnu/cargo-hack-0.5.28-x86_64-unknown-linux-gnu.tar.gz | tar -xzvvf - -C $HOME/.cargo/bin
- run: cargo hack check --version-range 1.56..