Files
DRMLibre/.github/workflows/ci.yml
T
JMR-devandClaude Opus 4.8 e5e4173ee6 Add CI and release GitHub Actions workflows
* ci.yml: on pull requests to main, runs on windows-latest and macos-latest;
  checks formatting, runs clippy (warnings denied), and runs the unit tests
  (`cargo test --workspace`).
* release.yml: manual workflow_dispatch (tag + optional prerelease inputs);
  builds release binaries for Windows (x86_64) and macOS (aarch64 + x86_64),
  then publishes them to GitHub Releases with auto-generated notes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 20:03:32 -05:00

41 lines
801 B
YAML

name: CI
on:
pull_request:
branches: [main]
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Cache cargo build
uses: Swatinem/rust-cache@v2
- name: Format check
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy --workspace --all-targets --locked -- -D warnings
- name: Run unit tests
run: cargo test --workspace --locked