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@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.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