Skip to content

CI

CI #958

Workflow file for this run

name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
schedule:
- cron: '0 2 * * *'
env:
RUSTFLAGS: -Dwarnings
RUST_BACKTRACE: 1
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- run: cargo hack build --feature-powerset --optional-deps --no-dev-deps
- run: cargo test --all-features
minrust:
strategy:
matrix:
rust:
# This is the minimum supported Rust version of this crate.
- 1.31.0
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
- run: cargo build
no-std:
strategy:
matrix:
rust:
# This is the minimum supported Rust version for "no_std"
- 1.36.0
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
- run: rustup target add thumbv7m-none-eabi
- run: cargo build --no-default-features --target thumbv7m-none-eabi
miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup toolchain install nightly --component miri && rustup default nightly
- run: cargo miri test --workspace --all-features
env:
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Z randomize-layout
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable
- run: cargo clippy --all-features
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable
- run: cargo fmt --all -- --check
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update nightly && rustup default nightly
- run: cargo doc --no-deps --all-features
env:
RUSTDOCFLAGS: -Dwarnings