Add support for heapless feature to avoid alloc in no_std case #45
Workflow file for this run
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 [heapless] | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --verbose --no-default-features --features heapless | |
- 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 | |
build-no-alloc: | |
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 heapless --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 |