rework #![no_std] support, switch on alloc
#188
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [ push, pull_request ] | |
name: Continuous integration | |
jobs: | |
fmt: | |
name: Basic sanity checks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
name: formatting check | |
with: | |
command: fmt | |
args: --all -- --check | |
- uses: actions-rs/cargo@v1 | |
name: clippy | |
with: | |
command: clippy | |
args: --all --tests -- -D warnings | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [ stable, nightly ] | |
use_std: [ y, n ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
name: thumbv6m-none-eabi toolchain setup | |
if: ${{ matrix.use_std == 'y' }} | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
target: thumbv6m-none-eabi | |
override: true | |
- uses: actions-rs/toolchain@v1 | |
name: std toolchain setup | |
if: ${{ matrix.use_std == 'n' }} | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
name: thumbv6m-none-eabi check | |
if: ${{ matrix.use_std == 'y' }} | |
with: | |
command: check | |
args: --target thumbv6m-none-eabi --no-default-features | |
- uses: actions-rs/cargo@v1 | |
name: std check | |
if: ${{ matrix.use_std == 'n' }} | |
with: | |
command: check | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [ stable, nightly ] | |
use_std: [ y, n ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
name: thumbv6m-none-eabi toolchain setup | |
if: ${{ matrix.use_std == 'y' }} | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
target: thumbv6m-none-eabi | |
override: true | |
- uses: actions-rs/toolchain@v1 | |
name: std toolchain setup | |
if: ${{ matrix.use_std == 'n' }} | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
name: thumbv6m-none-eabi build | |
if: ${{ matrix.use_std == 'y' }} | |
with: | |
command: build | |
args: --target thumbv6m-none-eabi --no-default-features | |
- uses: actions-rs/cargo@v1 | |
name: std build | |
if: ${{ matrix.use_std == 'n' }} | |
with: | |
command: build | |
- uses: actions-rs/cargo@v1 | |
name: std build examples | |
if: ${{ matrix.use_std == 'n' }} | |
with: | |
command: build | |
args: --examples | |
test: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [ stable, nightly ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
name: std test all | |
with: | |
command: test | |
args: --all --no-fail-fast | |
doc_check: | |
name: Doc check | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [ stable, nightly ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/cargo@v1 | |
name: std doc check | |
env: | |
RUSTDOCFLAGS: '-D warnings' | |
with: | |
command: doc | |
args: --all --no-deps --document-private-items |