Skip to content

runtime: Fix and require compatibility with objc2-metal 0.3.2 (#44) #433

runtime: Fix and require compatibility with objc2-metal 0.3.2 (#44)

runtime: Fix and require compatibility with objc2-metal 0.3.2 (#44) #433

Workflow file for this run

on:
push:
pull_request:
jobs:
rust:
name: Lint Rust code
# Theoretically saxaboom runs on Windows as well, but the metal dependency
# inside saxaboom-runtime must be tested on or cross-compiled for an Apple
# target.
runs-on: macos-latest
steps:
- uses: actions/checkout@v5
- name: Cargo fmt
run: cargo fmt --all -- --check
- name: Cargo clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Cargo test
run: cargo test --workspace
- name: Cargo doc
run: cargo doc --workspace --all-features --no-deps --document-private-items
generate-rust:
name: Generate Rust crate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Clean
run: rm src/bindings.rs
- name: Generate bindings
run: cargo r -p bindings_generator
- name: Upload crate source
uses: actions/upload-artifact@v4
with:
name: crate-source
path: src/
- name: Diff generated Rust code
run: test -z "$(git status --porcelain)" || (echo '::error::Generated files are different, please regenerate with `cargo run -p bindings_generator`!'; git diff; false)