name: rust on: [push, pull_request] jobs: build: strategy: matrix: os: [ubuntu-latest, macOS-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 18 - name: Set Build Tools and update Rust run: | rustup update stable rustup component add rustfmt rustup component add clippy - name: Init Submodules run: | git submodule update --init --recursive - name: Use ffmpeg on Linux if: ${{ matrix.os == 'ubuntu-latest' }} uses: FedericoCarboni/setup-ffmpeg@v2 - name: Tests on Linux if: ${{ matrix.os == 'ubuntu-latest' }} run: | cargo test --all-features cargo clippy --all-features --all-targets -- --deny warnings cargo fmt --all -- --check - name: Run build on ${{ matrix.os }} run: cargo build --all-features