Skip to content

Prep 0.3.8 release #267

Prep 0.3.8 release

Prep 0.3.8 release #267

Workflow file for this run

name: CI
permissions:
contents: read
on:
pull_request:
paths-ignore:
- README.md
push:
branches: main
paths-ignore:
- README.md
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly-2023-04-01
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: ${{ matrix.rust }}
components: rustfmt
- run: cargo +${{ matrix.rust }} build --release --workspace
- run: cargo +${{ matrix.rust }} build --release --workspace --features=std
test:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly-2023-04-01
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
submodules: true
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: ${{ matrix.rust }}
components: rustfmt
- run: cargo +${{ matrix.rust }} test --workspace -- --nocapture
- run: cargo +${{ matrix.rust }} test --workspace --features=std -- --nocapture
examples:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly-2023-04-01
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
submodules: true
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: ${{ matrix.rust }}
components: rustfmt
- run: cargo +${{ matrix.rust }} test --examples
- run: cargo +${{ matrix.rust }} test --features=std --examples
no_std:
name: Build for a no_std target
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly-2023-04-01
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: ${{ matrix.rust }}
components: rustfmt
targets: thumbv6m-none-eabi
- run: cargo +${{ matrix.rust }} build --release --workspace --target thumbv6m-none-eabi
msrv:
name: Rust ${{matrix.rust}} MSRV
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: [1.58.0, 1.59.0]
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
submodules: true
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: ${{ matrix.rust }}
components: rustfmt
- run: rustc --version
- run: cargo +${{ matrix.rust }} build --release --workspace
- run: cargo +${{ matrix.rust }} build --release --workspace --all-features
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0
- run: go install github.com/campoy/embedmd@97c13d6
- uses: ruby/setup-ruby@d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c # v1.148.0
with:
ruby-version: '2.7'
- run: gem install mdl
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: nightly-2023-04-01
components: rustfmt
- run: cargo +nightly-2023-04-01 fmt --all -- --check
- run: scripts/check-format.sh
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: stable
components: rustfmt, clippy
- run: cargo +stable clippy --all-features --all-targets -- -Dwarnings
- run: git diff --exit-code
doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: stable
- run: RUSTDOCFLAGS="-Dwarnings" cargo doc --no-deps --document-private-items
udeps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: nightly-2023-04-01
components: rustfmt
- run: cargo +nightly-2023-04-01 install --locked --version 0.1.39 cargo-udeps
- run: cargo +nightly-2023-04-01 udeps
deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: nightly-2023-04-01
components: rustfmt
- run: cargo +nightly-2023-04-01 install --locked --version 0.13.9 cargo-deny
- run: cargo deny check
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
submodules: true
fetch-depth: 0
- uses: dtolnay/rust-toolchain@a3ac054b2e7d62f514aa1bd57e3508c522fe772d # 1.68.2
with:
toolchain: stable
components: rustfmt
- uses: actions-rs/install@69ec87709ffb5b19a7b5ddbf610cb221498bb1eb # v0.1.2
with:
crate: cargo-tarpaulin
version: 0.30.0
use-tool-cache: true
- run: cargo tarpaulin --verbose --ignore-tests --all-features --timeout=600 --out Xml
- name: Upload to codecov.io
run: |
bash <(curl -s https://codecov.io/bash)