crevice 0.19.0

Create GLSL-compatible versions of structs with explicitly-initialized padding
Documentation
name: CI

on:
  push:
    branches:
    - main

  pull_request:
    branches:
    - main

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        include:
          - label: Stable
            rust_version: stable
          - label: MSRV
            rust_version: 1.85
          - label: Stable (All Features)
            rust_version: stable
            flags: --features test-all-math-libraries
          - label: Stable (no_std)
            rust_version: stable
            flags: --no-default-features

    name: ${{ matrix.label }}

    steps:
    - uses: actions/checkout@v3

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: ${{ matrix.rust_version }}
        override: true
        profile: minimal

    - name: Build
      run: cargo build --verbose ${{ matrix.flags }}

    - name: Run tests
      run: cargo test --verbose ${{ matrix.flags }}

  lint:
    name: Rustfmt and Clippy
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
        components: rustfmt, clippy

    - name: Rustfmt
      run: cargo fmt -- --check

    - name: Clippy
      run: cargo clippy --all-features

  wgpu-validation:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v3

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
        profile: minimal

    - name: Run Validation Tests
      run: cargo test --package crevice-tests --features wgpu-validation --no-fail-fast --verbose