name: Build and test

on: [push, pull_request, workflow_dispatch]

jobs:
  build-test:
    runs-on: ubuntu-latest
    strategy:
      max-parallel: 1 # cannot run tests concurrently, files are created
      matrix:
        go-version: ['stable', 'oldstable']
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v4
        with:
          go-version: ${{ matrix.go-version }}
      - run: make build
      # Need to run tests with a temp dir on same file system for os.Rename to succeed.
      - run: 'mkdir -p tmp && TMPDIR=$PWD/tmp make test'
      - uses: actions/upload-artifact@v3
        with:
          path: cover.html
