name: Rust
on:
push:
branches: ["main"]
paths:
- ".github/workflows/rust.yml"
- "src/**"
- "Cargo.toml"
- "Cargo.lock"
- "python/src/**"
- "python/Cargo.toml"
- "python/Cargo.lock"
pull_request:
branches: ["main"]
paths:
- ".github/workflows/rust.yml"
- "src/**"
- "Cargo.toml"
- "Cargo.lock"
- "python/src/**"
- "python/Cargo.toml"
- "python/Cargo.lock"
merge_group:
env:
CARGO_TERM_COLOR: always
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- name: Install lint tools
run: rustup component add rustfmt clippy
- name: Lint
run: |
make lint-rust
test:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Test
run: make test-rust