name: Lint on: push: branches: - master - 2.* pull_request: branches: - master - 2.* permissions: contents: read jobs: # From https://github.com/golangci/golangci-lint-action golangci: permissions: contents: read # for actions/checkout to fetch code pull-requests: read # for golangci/golangci-lint-action to fetch pull requests name: lint strategy: matrix: os: - linux - mac - windows include: - os: linux OS_LABEL: ubuntu-latest - os: mac OS_LABEL: macos-14 - os: windows OS_LABEL: windows-latest runs-on: ${{ matrix.OS_LABEL }} steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '~1.23' check-latest: true - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: v1.60 # Windows times out frequently after about 5m50s if we don't set a longer timeout. args: --timeout 10m # Optional: show only new issues if it's a pull request. The default value is `false`. # only-new-issues: true govulncheck: runs-on: ubuntu-latest steps: - name: govulncheck uses: golang/govulncheck-action@v1 with: go-version-input: '~1.23.0' check-latest: true