olio 1.4.0

Miscellaneous I/O utilities
Documentation
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