ash-molten 0.20.0+1.2.11

Statically linked MoltenVK for Vulkan on Mac using Ash
on:
  push:
    branches:
      - main
  pull_request:

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

name: CI
jobs:
  lint:
    name: Lint
    runs-on: macos-11
    env:
      DEVELOPER_DIR: /Applications/Xcode_12.5.app
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: "clippy, rustfmt"
      - uses: Swatinem/rust-cache@v2
      # make sure all code has been formatted with rustfmt
      - run: cargo fmt --all -- --check --color always
      # run clippy to verify we have no warnings
      - run: cargo fetch --target x86_64-apple-darwin
      - run: cargo clippy --features pre-built -- -D warnings

  cargo-deny:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - uses: Swatinem/rust-cache@v2
      - uses: EmbarkStudios/cargo-deny-action@v1

  test-source:
    name: Test (source build)
    runs-on: macos-11
    env:
      DEVELOPER_DIR: /Applications/Xcode_12.5.app
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: actions/setup-python@v5
        with:
          python-version: '3.10'
      - uses: Swatinem/rust-cache@v2
      - run: cargo fetch --target x86_64-apple-darwin
      - run: cargo build

  test:
    name: Test (pre-built)
    runs-on: macos-11
    env:
      DEVELOPER_DIR: /Applications/Xcode_12.5.app
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: actions/setup-python@v5
        with:
          python-version: '3.10'
      - uses: Swatinem/rust-cache@v2
      - run: cargo fetch --target x86_64-apple-darwin
      - run: cargo build --verbose --features pre-built