55 lines
1.4 KiB
YAML
55 lines
1.4 KiB
YAML
name: CI
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
RUSTFLAGS: "-Dwarnings"
|
|
RUSTDOCFLAGS: "-Dwarnings"
|
|
|
|
jobs:
|
|
test:
|
|
name: Test
|
|
strategy:
|
|
matrix:
|
|
os: [windows-2025, ubuntu-24.04, macos-15]
|
|
rust: [stable, nightly]
|
|
include:
|
|
- os: ubuntu-24.04
|
|
rust: beta
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Install Rust
|
|
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
|
|
- uses: Swatinem/rust-cache@v2
|
|
with:
|
|
key: ${{ matrix.target }}
|
|
- run: cargo test
|
|
- run: cargo test --no-default-features
|
|
|
|
doc_fmt:
|
|
name: Document and check formatting
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Install Rust
|
|
run: |
|
|
rustup update nightly
|
|
rustup default nightly
|
|
rustup component add rustfmt
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo doc
|
|
- run: cargo fmt --check
|
|
|
|
msrv:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Install Rust
|
|
run: |
|
|
msrv="$(cargo metadata --format-version=1 |
|
|
jq -r '.packages[] | select(.name == "getopts").rust_version'
|
|
)"
|
|
rustup update "$msrv" && rustup default "$msrv"
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo check
|