Files
proton-stream/.github/workflows/ci.yml
T
2026-08-03 09:38:01 +02:00

48 lines
1.2 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
gate:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
# Pinned: the MSRV the workspace declares.
toolchain: "1.96"
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
# libmpv for pstr-player. On Windows the DLL and import library are
# bundled from the mpv-dev build rather than installed system-wide.
- name: Install libmpv (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libmpv-dev
# Without this the test binaries do not link: there is no mpv.lib on the
# runner. See .github/actions/libmpv-windows.
- name: Install libmpv (Windows)
if: runner.os == 'Windows'
uses: ./.github/actions/libmpv-windows
- run: cargo fmt --all -- --check
- run: cargo clippy --workspace --all-targets -- -D warnings
- run: cargo test --workspace --locked