# This workflow runs all the tests in ubuntu, windows and mac
# environments.
#
# Trigger this workflow by pushing commits or by opening 
# a pull request.
name: Test
on: 
  push:
  pull_request:
    types:
      - opened
jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        go: [ '1.x', '1.20', '1.19', '1.18']
    steps:
      - name: Check out repository code
        uses: actions/checkout@v4
      - name: Install latest version of go
        uses: actions/setup-go@v5
        with:
          go-version: ${{ matrix.go }}
      - name: Run tests
        run: go test -v ./...
