name: ci
on:
  pull_request:
  push:
    branches:
    - master
  schedule:
  - cron: '00 01 * * *'
jobs:
  test:
    name: test
    env:
      # For some builds, we use cross to test on 32-bit and big-endian
      # systems.
      CARGO: cargo
      # When CARGO is set to CROSS, TARGET is set to `--target matrix.target`.
      TARGET:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        build:
        - pinned
        - stable
        - stable-32
        - stable-mips
        - stable-thumb
        - beta
        - nightly
        - macos
        - win-msvc
        - win-gnu
        include:
        - build: pinned
          os: ubuntu-18.04
          rust: 1.41.1
        - build: stable
          os: ubuntu-18.04
          rust: stable
        - build: stable-32
          os: ubuntu-18.04
          rust: stable
          target: i686-unknown-linux-gnu
        - build: stable-mips
          os: ubuntu-18.04
          rust: stable
          target: mips64-unknown-linux-gnuabi64
        - build: stable-thumb
          os: ubuntu-18.04
          rust: stable
          target: thumbv7em-none-eabihf
        - build: beta
          os: ubuntu-18.04
          rust: beta
        - build: nightly
          os: ubuntu-18.04
          rust: nightly
        - build: macos
          os: macos-latest
          rust: stable
        - build: win-msvc
          os: windows-2019
          rust: stable
        - build: win-gnu
          os: windows-2019
          rust: stable-x86_64-gnu
    steps:
    - name: Checkout repository
      uses: actions/checkout@v1
      with:
        fetch-depth: 1

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: ${{ matrix.rust }}
        profile: minimal
        override: true

    - name: Use Cross
      if: matrix.target != ''
      run: |
        # FIXME: to work around bugs in latest cross release, install master.
        # See: https://github.com/rust-embedded/cross/issues/357
        cargo install --git https://github.com/rust-embedded/cross
        echo "CARGO=cross" >> $GITHUB_ENV
        echo "TARGET=--target ${{ matrix.target }}" >> $GITHUB_ENV

    - name: Show command used for Cargo
      run: |
        echo "cargo command is: ${{ env.CARGO }}"
        echo "target flag is: ${{ env.TARGET }}"

    - name: Build
      if: matrix.build != 'stable-thumb'
      run: ${{ env.CARGO }} build --verbose ${{ env.TARGET }}

    - name: Build docs
      if: matrix.build != 'stable-thumb'
      run: ${{ env.CARGO }} doc --verbose ${{ env.TARGET }}

    # Our dev dependencies are increasing their MSRV more quickly then we want
    # to, so the following are only run on non-pinned targets.

    - name: Build examples
      if: matrix.build != 'pinned' && matrix.build != 'stable-thumb'
      run: ${{ env.CARGO }} build --manifest-path examples/Cargo.toml --examples

    - name: Run tests
      if: matrix.build != 'pinned' && matrix.build != 'stable-thumb' && matrix.build != 'stable-mips'
      run: ${{ env.CARGO }} test --verbose --features transducer ${{ env.TARGET }}

    # The mips test runner is quite sluggish, so don't run the full test
    # suite there. Unfortunate, but CI times balloon otherwise.
    - name: Run tests
      if: matrix.build == 'stable-mips'
      run: ${{ env.CARGO }} test --verbose --features transducer --lib ${{ env.TARGET }}

    - name: Build without default features
      if: matrix.build != 'pinned'
      run: ${{ env.CARGO }} build --verbose --no-default-features ${{ env.TARGET }}

    - name: Build docs without default features
      if: matrix.build != 'pinned'
      run: ${{ env.CARGO }} doc --verbose --lib --no-default-features ${{ env.TARGET }}

    - name: Run tests without default features
      if: matrix.build != 'pinned' && matrix.build != 'stable-thumb'
      run: ${{ env.CARGO }} test --verbose --lib --no-default-features ${{ env.TARGET }}

    - name: Compile debug tool
      if: matrix.build != 'pinned' && matrix.build != 'stable-thumb'
      run: ${{ env.CARGO }} build --verbose --manifest-path regex-automata-debug/Cargo.toml ${{ env.TARGET }}

    - name: Test benchmarks
      if: matrix.build != 'pinned' && matrix.build != 'stable-thumb'
      run: ${{ env.CARGO }} bench --manifest-path bench/Cargo.toml --verbose ${{ env.TARGET }} -- --test

  rustfmt:
    name: rustfmt
    runs-on: ubuntu-18.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@v1
      with:
        fetch-depth: 1
    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
        profile: minimal
        components: rustfmt
    - name: Check formatting
      run: |
        cargo fmt --all -- --check
    - name: Check formatting for debug tool
      run: |
        cargo fmt --manifest-path regex-automata-debug/Cargo.toml -- --check
