name: Go on: push: branches: - main - beta - dev - 'jc/**' - 'feature/**' - 'r/**' - 'x/**' - 't/**' paths: - '**.go' - 'go.mod' - '.golangci.yml' - '.github/workflows/go.yml' pull_request: paths: - '**.go' - 'go.mod' - '.golangci.yml' - '.github/workflows/go.yml' env: GOPROXY: "https://proxy.golang.org" permissions: contents: read jobs: # lint: # permissions: # contents: read # for actions/checkout to fetch code # pull-requests: read # for golangci/golangci-lint-action to fetch pull requests # name: Lint # runs-on: ubuntu-latest # steps: # - name: Checkout code # uses: actions/checkout@v3 # - name: Run golangci-lint # uses: golangci/golangci-lint-action@v3 # with: # version: latest # args: --timeout=30m test: name: Test strategy: matrix: go-version: [ 1.20.x, 1.21.x ] platform: [ ubuntu-latest, macos-latest ] runs-on: ${{ matrix.platform }} steps: - name: Install Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v3 - name: Run tests run: go test -v -race ./... # Running tests with race detection consumes too much memory on Windows, # see https://github.com/golang/go/issues/46099 for details. test-windows: name: TestOnWindows strategy: matrix: go-version: [ 1.20.x, 1.21.x ] platform: [ windows-latest ] runs-on: ${{ matrix.platform }} steps: - name: Install Go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v3 - name: Run tests run: go test -v ./...