name: Checks on: push: branches: - main pull_request: env: # https://github.com/actions/setup-go#supported-version-syntax # ex: # - 1.18beta1 -> 1.18.0-beta.1 # - 1.18rc1 -> 1.18.0-rc.1 GO_VERSION: '1.24' jobs: # Check if there is any dirty change for go mod tidy go-mod: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} - name: Check go mod run: | go mod tidy git diff --exit-code go.mod git diff --exit-code go.sum # Checks: GitHub action assets check-generated: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} - name: Check generated files are up-to-date run: make fast_check_generated env: # needed for github-action-config.json generation GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} check-local-install-script: name: Installation script (local) strategy: matrix: os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Check installation script run: cat ./install.sh | sh -s -- -d -b "./install-golangci-lint" # Note: the command `run` is tested by the other workflows (`make test`). check-commands: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} - name: Build golangci-lint run: make build - run: ./golangci-lint - run: ./golangci-lint fmt - run: ./golangci-lint fmt --diff - run: cat cmd/golangci-lint/main.go | ./golangci-lint fmt --stdin - run: ./golangci-lint cache - run: ./golangci-lint cache status - run: ./golangci-lint cache clean - run: ./golangci-lint completion - run: ./golangci-lint completion bash - run: ./golangci-lint completion bash --no-descriptions - run: ./golangci-lint completion zsh - run: ./golangci-lint completion zsh --no-descriptions - run: ./golangci-lint completion fish - run: ./golangci-lint completion fish --no-descriptions - run: ./golangci-lint completion powershell - run: ./golangci-lint completion powershell --no-descriptions - run: ./golangci-lint config - run: ./golangci-lint config path - run: ./golangci-lint config path --json - run: ./golangci-lint config verify --schema jsonschema/golangci.next.jsonschema.json - run: ./golangci-lint help - run: ./golangci-lint help linters - run: ./golangci-lint help linters --json - run: ./golangci-lint help formatters - run: ./golangci-lint help formatters --json - run: ./golangci-lint linters - run: ./golangci-lint linters --json - run: ./golangci-lint formatters - run: ./golangci-lint formatters --json - run: ./golangci-lint version - run: ./golangci-lint version --short - run: ./golangci-lint version --debug - run: ./golangci-lint version --json - run: ./golangci-lint version --json --debug