name: Tests on: push: branches: - main pull_request: branches: - '*' jobs: test: strategy: matrix: go-version: [1.18, 1.23] platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v2 - name: Check formatting if: matrix.go-version == '1.17' && matrix.platform == 'ubuntu-latest' run: diff -u <(echo -n) <(go fmt $(go list ./...)) - name: Check Go modules run: | go mod tidy git diff --exit-code - name: Check formatting run: diff -u <(echo -n) <(gofmt -d .) - name: Run unit tests run: go test -v ./...