name: functional-tests
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
      matrix:
        target:
        - linux-amd64-functional
    steps:
    - uses: actions/checkout@v2
    - id: goversion
      run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
    - uses: actions/setup-go@v2
      with:
        go-version: ${{ steps.goversion.outputs.goversion }}
    - run: date
    - env:
        TARGET: ${{ matrix.target }}
      run: |
        set -euo pipefail

        echo "${TARGET}"
        case "${TARGET}" in
          linux-amd64-functional)
            GO_BUILD_FLAGS='-v -mod=readonly' ./build && GOARCH=amd64 PASSES='functional' ./test
            ;;
          *)
            echo "Failed to find target"
            exit 1
            ;;
        esac
