--- name: CI on: [push, pull_request] jobs: lint: name: Linting with Go ${{ matrix.go-version }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: go-version: [1.19.x] steps: - uses: actions/checkout@v3 - name: Setup Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: golangci-lint env: GOFLAGS: -tags=functional uses: golangci/golangci-lint-action@v3 with: version: v1.48.0 test: name: Unit Testing with Go ${{ matrix.go-version }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: go-version: [1.17.x, 1.18.x, 1.19.x] env: DEBUG: true GOFLAGS: -trimpath steps: - uses: actions/checkout@v3 - name: Setup Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: Get Go environment id: go-env run: | echo "cache=$(go env GOCACHE)" >> $GITHUB_OUTPUT echo "modcache=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT - name: Set up cache uses: actions/cache@v3 with: path: | ${{ steps.go-env.outputs.cache }} ${{ steps.go-env.outputs.modcache }} key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Test (Unit) run: make test