name: CI
on:
push:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
lints:
name: Run cargo fmt and cargo clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v5
- name: Run cargo clippy
run: cargo clippy -- -D warnings
generate-windows-bindings:
name: Generate Rust crate
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Clean
run: rm src/stack/windows_bindings.rs
- name: Generate
run: cargo r -p api_gen
- name: Diff generated Rust code
run: test -z "$(git status --porcelain)" || (echo "::error::Generated files are different, please regenerate with cargo run -p api_gen!"; git status; false)