name: Go CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: name: Test runs-on: ubuntu-latest strategy: matrix: go-version: ['1.20', '1.21'] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: Get dependencies run: go get -v -t -d ./... - name: Verify dependencies run: go mod verify - name: Run go vet run: go vet ./... - name: Run tests run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: files: ./coverage.txt fail_ci_if_error: false build: name: Build runs-on: ubuntu-latest strategy: matrix: go-version: ['1.20', '1.21'] os: [ubuntu-latest, macos-latest] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: Build run: go build -v ./cmd/proxy