name: Test

# Translated: "Execute this workflow on pushes to main OR on pull requests
# opened against main"
#
# See this question and answer for what we're solving here:
# https://github.community/t5/GitHub-Actions/How-to-trigger-an-action-on-push-or-pull-request-but-not-both/m-p/36155#M2460
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest

    steps:
    - uses: actions/setup-go@v2
      with:
        go-version: '1.19'

    - uses: actions/checkout@v2

    - run: make testci

    - uses: codecov/codecov-action@v3
      with:
        files: ./coverage.txt

    - run: make image

  regression_tests:
    name: Regression Tests
    runs-on: ubuntu-latest

    strategy:
      matrix:
        go_version:
        - '1.18'
        - '1.17'

    steps:
    - uses: actions/setup-go@v2
      with:
        go-version: ${{matrix.go_version}}

    - uses: actions/checkout@v2

    - run: make test
