ffplayout/.github/workflows/rust.yml
2023-11-01 18:07:10 +00:00

37 lines
1015 B
YAML

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