crystal-api 0.0.6

Crystal API is a unified GPU API's wrapper
Documentation
name: Rust

on:
  push:
    branches: ["dev"]
  pull_request:
    branches: ["dev"]

env:
  CARGO_TERM_COLOR: always

jobs:
  formatting:
    runs-on: "ubuntu-latest"

    steps:
      - uses: actions/checkout@v4

      - name: Check formatting
        run: cargo fmt --all -- --check

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

  test:
    runs-on: ${{ matrix.config.os }}
    strategy:
      matrix:
        config:
          - { name: "Windows", os: windows-latest }
          - { name: "Ubuntu", os: ubuntu-latest }
          - { name: "MacOS", os: macos-latest }

    steps:
      - uses: actions/checkout@v4

      - name: Prepare Vulkan SDK
        uses: jakoch/install-vulkan-sdk-action@v1
        with:
          vulkan_version: latest
          optional_components: com.lunarg.vulkan.vma
          install_runtime: true
          cache: true
          stripdown: true

      - name: Build
        run: cargo build --verbose