name: ci
on:
push:
branches:
- master
pull_request:
jobs:
test:
name: test
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [stable, macos, windows]
include:
- build: stable
os: ubuntu-latest
rust: stable
- build: macos
os: macOS-latest
rust: stable
- build: windows
os: windows-latest
rust: stable
steps:
- uses: actions/checkout@v5
- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Build System Info
run: rustc --version
- name: check with all features enabled
run: cargo check --all-features
- name: run tests
run: cargo test
- name: run all examples
run: |
cargo run --features=cli -- examples/hooks/ --no-input -o hooks
cargo run --features=cli -- examples/complex/ --no-input -o complex
cargo run --features=cli -- examples/default-from-variable/ --no-input -o default
cargo run --features=cli -- examples/slugify/ --no-input -o slugify
cargo run --features=cli -- examples/super-basic/ --no-input -o super-basic
cargo run --features=cli -- examples/super-basic/ -i examples/super-basic/test-input.json -o super-basic-json
cargo run --features=cli -- examples/with-directory/ --no-input -o with-directory
cargo run --features=cli -- examples/derived/ --no-input -o derived