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