name: linux
on:
  push:
    branches:
      - master
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    name: (${{ matrix.target }}, nightly)
    strategy:
      # https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions#usage-limits
      # There's a limit of 60 concurrent jobs across all repos in the rust-lang organization.
      # In order to prevent overusing too much of that 60 limit, we throttle the
      # number of rustfmt jobs that will run concurrently.
      max-parallel: 1
      fail-fast: false
      matrix:
        target: [
          x86_64-unknown-linux-gnu,
        ]

    steps:
    - name: checkout
      uses: actions/checkout@v2

      # Run build
    - name: install rustup
      run: |
        curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup-init.sh
        sh rustup-init.sh -y --default-toolchain none
        rustup target add ${{ matrix.target }}

    - name: build
      run: |
        rustc -Vv
        cargo -V
        cargo build

    - name: test
      run: cargo test
