name: Linter on: push: tags: - v* branches: - main pull_request: permissions: contents: read pull-requests: read jobs: golangci-lint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Filter paths uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1 id: filter with: filters: | go: - '**/*.go' - 'tools/go.mod' - name: Setup Go uses: actions/setup-go@v5 if: steps.filter.outputs.go == 'true' with: go-version-file: "go.mod" - name: Lint code if: steps.filter.outputs.go == 'true' run: | go run -modfile=tools/go.mod github.com/golangci/golangci-lint/cmd/golangci-lint run -v --timeout 5m