on: [push, pull_request]

name: CI

jobs:
  check:
    name: Build
    strategy:
      matrix:
        include:
          - rust_version: stable
            run_tests: true
          - rust_version: beta
            run_tests: true
          - rust_version: nightly
            run_tests: true
          # Minimal supported rustc version
          - rust_version: 1.36.0
            run_tests: false
    runs-on: ubuntu-latest
    continue-on-error: ${{ matrix.rust_version == 'nightly' }}
    env:
      RUST_LOG: warn
      RUST_BACKTRACE: 1
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust_version }}

      - name: Run cargo build
        uses: actions-rs/cargo@v1
        with:
          command: build

      - name: Run cargo test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose
        if: ${{ matrix.run_tests }}

      - name: Run cargo build - no_std
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --no-default-features

      - name: Run cargo build - no_std, lfn
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --no-default-features --features lfn

      - name: Run cargo build - no_std, alloc, lfn, unicode
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --no-default-features --features alloc,lfn,unicode

Add Github Actions based CI
Add Github Actions based CI
