Add no_std support
#1605
Workflow file for this run
This file contains hidden or 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: CI | |
| jobs: | |
| check_msrv: | |
| name: Check MSRV (1.71.0) | |
| strategy: | |
| matrix: | |
| target: | |
| - os: ubuntu-latest | |
| backend: vulkan | |
| - os: windows-latest | |
| backend: vulkan,d3d12 | |
| - os: macos-latest | |
| backend: vulkan,metal | |
| features: | |
| - hashbrown | |
| - std | |
| - hashbrown,std | |
| runs-on: ${{ matrix.target.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| - name: Generate lockfile with minimal dependency versions | |
| run: cargo +nightly generate-lockfile -Zminimal-versions | |
| - uses: dtolnay/[email protected] | |
| # Note that examples are extempt from the MSRV check, so that they can use newer Rust features | |
| - run: cargo check --workspace --features ${{ matrix.target.backend }},${{ matrix.features }} --no-default-features | |
| test: | |
| name: Test Suite | |
| strategy: | |
| matrix: | |
| target: | |
| - os: ubuntu-latest | |
| backend: vulkan | |
| - os: windows-latest | |
| backend: vulkan,d3d12 | |
| - os: macos-latest | |
| backend: vulkan,metal | |
| features: | |
| - std | |
| - hashbrown,std | |
| runs-on: ${{ matrix.target.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cargo test all targets | |
| run: cargo test --workspace --all-targets --features visualizer,${{ matrix.target.backend }},${{ matrix.features }} --no-default-features | |
| - name: Cargo test docs | |
| run: cargo test --workspace --doc --features visualizer,${{ matrix.target.backend }},${{ matrix.features }} --no-default-features | |
| fmt: | |
| name: Rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cargo fmt | |
| run: cargo fmt --all -- --check | |
| clippy: | |
| name: Clippy | |
| strategy: | |
| matrix: | |
| target: | |
| - os: ubuntu-latest | |
| backend: vulkan | |
| - os: windows-latest | |
| backend: vulkan,d3d12 | |
| - os: macos-latest | |
| backend: vulkan,metal | |
| features: | |
| - std | |
| - hashbrown,std | |
| runs-on: ${{ matrix.target.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cargo clippy | |
| run: cargo clippy --workspace --all-targets --features visualizer,${{ matrix.target.backend }},${{ matrix.features }} --no-default-features -- -D warnings | |
| doc: | |
| name: Build documentation | |
| strategy: | |
| matrix: | |
| # Rely on Windows and Mac to also compile the Vulkan portion (via --all-features) | |
| os: [windows-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| RUSTDOCFLAGS: -Dwarnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build documentation | |
| run: cargo doc --no-deps --workspace --all-features --document-private-items | |
| readme: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use cached cargo-readme | |
| uses: actions/cache@v4 | |
| id: cargo-readme-cache | |
| with: | |
| path: ~/.cargo/bin/cargo-readme | |
| key: ${{ runner.os }}-cargo-readme | |
| - name: Install cargo-readme | |
| if: steps.cargo-readme-cache.outputs.cache-hit != 'true' | |
| run: cargo install cargo-readme | |
| - name: Check if README.md is up-to-date | |
| run: | | |
| cargo readme > README.md | |
| git diff --quiet || (echo '::error::Generated README is different, please regenerate with `cargo readme > README.md`'; git diff; false) |