ci(build): Test build using defined MSRV (currently 1.60) #42
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
name: build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
env: | |
RUST_BACKTRACE: "1" | |
RUSTFLAGS: -D warnings | |
jobs: | |
build: | |
strategy: | |
# We want the tests to run on all configurations, even if jobs (like on nightly), fail. | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest, windows-latest, macos-latest] | |
toolchain: ['1.60', stable, beta, nightly] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Checkout Sources | |
uses: actions/checkout@v2 | |
- name: Install Rust Toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
components: rustfmt, clippy | |
- name: Code Format Check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Clippy Check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-features --all-targets -- -D warnings | |
- name: Test [no-default-features] | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --verbose --no-default-features | |
- name: Test [alloc] | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --verbose --no-default-features --features alloc | |
- name: Test [serde] | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --verbose --features serde | |
- name: Validate Benchmarks | |
uses: actions-rs/cargo@v1 | |
with: | |
command: bench | |
args: --all -- --test | |
build-no-std: | |
name: Build no_std | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Sources | |
uses: actions/checkout@v2 | |
- name: Install Rust Toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
target: thumbv6m-none-eabi | |
- name: Build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --no-default-features --features alloc --target thumbv6m-none-eabi | |
# coverage: | |
# name: Code Coverage | |
# runs-on: ubuntu-latest | |
# | |
# steps: | |
# - name: Checkout Sources | |
# uses: actions/checkout@v2 | |
# | |
# - name: Install Rust Toolchain | |
# uses: actions-rs/toolchain@v1 | |
# with: | |
# profile: minimal | |
# toolchain: stable | |
# override: true | |
# | |
# - name: Generate Code Coverage | |
# uses: actions-rs/tarpaulin@v0.1 | |
# | |
# - name: Upload Code Coverage | |
# uses: codecov/codecov-action@v1 |