name: Rust
on:
push:
branches:
- master
paths:
- '.github/workflows/rust.yml'
- 'src/**/*.rs'
- 'tests/**/*.rs'
- 'Cargo.toml'
- 'opus/**/*'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- '**'
paths:
- '.github/workflows/rust.yml'
- 'src/**/*.rs'
- 'tests/**/*'
- 'Cargo.toml'
- 'opus/**/*'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- uses: actions/checkout@v4
- name: Install Rust Unix
if: runner.os != 'Windows'
run: rustup update
- name: Install Rust Windows
if: runner.os == 'Windows'
run: rustup update
- name: Build
run: cargo test