Skip to content

Merge #111

Merge #111 #215

Workflow file for this run

name: CI
on:
push:
branches: [master, staging, trying]
pull_request:
branches: [master]
env:
CARGO_TERM_COLOR: always
jobs:
check:
name: check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.65.0
- stable
- beta
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: swatinem/rust-cache@v2
- name: cargo-check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-features
test:
name: test
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.65.0
- stable
- beta
# - nightly
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: swatinem/rust-cache@v2
- name: cargo-test
uses: actions-rs/cargo@v1
with:
command: test
args: --all --all-features
- name: cargo-test-doc
uses: actions-rs/cargo@v1
with:
command: test
args: --doc
deny:
name: deny
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources
# Prevent sudden announcement of a new advisory from failing ci:
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- uses: actions/checkout@v4
- name: cargo-deny
uses: EmbarkStudios/cargo-deny-action@v1
with:
command: check ${{ matrix.checks }}
fmt:
name: format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.65.0
components: rustfmt
- name: cargo-fmt
run: cargo fmt -- --check
clippy:
name: clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.67.0
components: clippy
- uses: swatinem/rust-cache@v2
- name: cargo-clippy
run: cargo clippy --all --all-targets --all-features
# We need some "accummulation" job here because bors fails (timeouts) to
# listen on matrix builds.
# Hence, we have some kind of dummy here that bors can listen on
ci-success:
name: CI
if: ${{ success() }}
needs:
- check
- deny
- fmt
- clippy
- test
runs-on: ubuntu-latest
steps:
- name: CI succeeded
run: exit 0