Improve std
feature propagation.
#138
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: CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
jobs: | |
test: | |
name: Test (${{ matrix.toolchain }}, ${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable, nightly] | |
os: [windows-latest, ubuntu-latest, macos-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo test | |
build-no-std: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
# Use a target without `std` to make sure we don't link to `std` | |
targets: "x86_64-unknown-none,thumbv7m-none-eabi" | |
- run: cargo build --target x86_64-unknown-none --no-default-features --features libm | |
- run: cargo build --target x86_64-unknown-none --no-default-features --features libm,scale | |
- run: cargo build --target x86_64-unknown-none --no-default-features --features libm,render | |
- run: cargo build --target thumbv7m-none-eabi --no-default-features --features libm | |
- run: cargo build --target thumbv7m-none-eabi --no-default-features --features libm,scale | |
- run: cargo build --target thumbv7m-none-eabi --no-default-features --features libm,render | |
miri: | |
name: Miri | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: miri | |
- run: cargo miri test | |
doc: | |
name: cargo doc | |
# NOTE: We don't have any platform specific docs in this workspace, so we only run on Ubuntu. | |
# If we get per-platform docs (win/macos/linux/wasm32/..) then doc jobs should match that. | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install nightly toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
# We test documentation using nightly to match docs.rs. | |
- name: cargo doc | |
run: cargo doc --workspace --all-features --no-deps --document-private-items | |
env: | |
RUSTDOCFLAGS: '--cfg docsrs -D warnings' |