name: Test
on: [push, pull_request]
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macOS-latest
rust:
- stable
- beta
- nightly
cargo_flags:
- ""
- "--no-default-features"
- "--features nightly"
- "--features nightly --no-default-features"
exclude:
- rust: stable
cargo_flags: "--features nightly"
- rust: stable
cargo_flags: "--features nightly --no-default-features"
- rust: beta
cargo_flags: "--features nightly"
- rust: beta
cargo_flags: "--features nightly --no-default-features"
steps:
- name: Install Rust
uses: hecrj/setup-rust-action@master
with:
rust-version: ${{ matrix.rust }}
- name: Checkout source code
uses: actions/checkout@master
- name: Build
run: cargo build --all ${{ matrix.cargo_flags }} ${{ matrix.additional_flags }}
- name: Test
run: cargo test --all ${{ matrix.cargo_flags }} ${{ matrix.additional_flags }}