name: CI
on:
pull_request:
push:
schedule:
- cron: '10 16 * * 1,4'
env:
RUSTFLAGS: -Dwarnings
jobs:
test:
name: ${{ matrix.rust }} ${{ matrix.os }} ${{ join(matrix.extras) }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- rust: 1.39.0
os: ubuntu-20.04
- rust: 1.39.0
os: ubuntu-20.04
extras: [update]
- rust: 1.39.0
os: windows-latest
- rust: 1.39.0
os: windows-latest
extras: [update]
- rust: 1.39.0
os: macos-latest
- rust: 1.39.0
os: macos-latest
extras: [update]
- rust: stable
os: ubuntu-20.04
extras: [update]
- rust: nightly
os: ubuntu-20.04
- rust: nightly
os: ubuntu-20.04
extras: [update]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install rust (${{ matrix.rust }})
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
- name: Update deps
if: ${{ contains(matrix.extras, 'update') }}
run: cargo update
- name: Test (no features)
run: cargo test --no-default-features
- name: Test all features
run: cargo test --all-features
- name: Build all features/targets
if: ${{ matrix.rust == 'nightly' }}
run: cargo build --all-features --all-targets