Skip to content

Allow windows 0.52 in addition to windows 0.51 (#189) #1038

Allow windows 0.52 in addition to windows 0.51 (#189)

Allow windows 0.52 in addition to windows 0.51 (#189) #1038

Workflow file for this run

on: [push, pull_request]
name: CI
jobs:
check_msrv:
name: Check MSRV (1.65.0)
strategy:
matrix:
include:
- os: ubuntu-latest
features: vulkan
- os: windows-latest
features: vulkan,d3d12
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/[email protected]
- run: cargo check --workspace --all-targets --features ${{ matrix.features }} --no-default-features
test:
name: Test Suite
strategy:
matrix:
include:
- os: ubuntu-latest
features: vulkan,visualizer
- os: windows-latest
features: vulkan,visualizer,d3d12,public-winapi
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Cargo test all targets
run: cargo test --workspace --all-targets --features ${{ matrix.features }} --no-default-features
- name: Cargo test docs
run: cargo test --workspace --doc --features ${{ 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:
include:
- os: ubuntu-latest
features: vulkan,visualizer
- os: windows-latest
features: vulkan,visualizer,d3d12,public-winapi
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Cargo clippy
run: cargo clippy --workspace --all-targets --features ${{ matrix.features }} --no-default-features -- -D warnings
- name: Install nightly Rust
uses: dtolnay/rust-toolchain@nightly
- name: Generate lockfile with minimal dependency versions
run: cargo +nightly generate-lockfile -Zminimal-versions
- name: Cargo clippy with minimal-versions
run: cargo +stable clippy --workspace --all-targets --features ${{ matrix.features }} --no-default-features -- -D warnings
doc:
name: Build documentation
# Windows supports the entire feature surface
runs-on: windows-latest
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@v3
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)