name: Continuous integration

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always
  CARGO_INCREMENTAL: 0

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust: [1.39.0, stable, nightly]

    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: ${{ matrix.rust }}
        override: true
    - name: Tests
      run: |
        cargo test -v --no-default-features --tests --lib &&
        cargo build --verbose --features "$FEATURES" &&
        cargo test --verbose --features "$FEATURES" &&
        cargo test --verbose --release --features "$FEATURES"
