name: Rust on: [push, pull_request] env: CARGO_TERM_COLOR: always jobs: build: strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] runs-on: ${{ matrix.os }} env: RUSTFLAGS: -D warnings RUSTDOCFLAGS: -D warnings steps: - uses: actions/checkout@v4 - name: Install XCB and GL dependencies if: contains(matrix.os, 'ubuntu') run: sudo apt-get install libx11-dev libxcb1-dev libx11-xcb-dev libgl1-mesa-dev - name: Install rust stable uses: dtolnay/rust-toolchain@stable with: toolchain: stable components: rustfmt, clippy - name: Build Default run: cargo build --workspace --all-targets --verbose - name: Build All Features run: cargo build --workspace --all-targets --all-features --verbose - name: Run tests run: cargo test --workspace --all-targets --all-features --verbose - name: Check docs run: cargo doc --examples --all-features --no-deps - name: Clippy run: cargo clippy --workspace --all-targets --all-features -- -D warnings - name: Check Formatting (rustfmt) run: cargo fmt --all -- --check