# ivuorinen/actions/go-lint ## Go Lint Check ### Description Run golangci-lint with advanced configuration, caching, and reporting ### Inputs | name | description | required | default | | ----------------------- | ---------------------------------------------------- | -------- | --------------- | | `working-directory` |
Directory containing Go files
| `false` | `.` | | `golangci-lint-version` |Version of golangci-lint to use
| `false` | `latest` | | `go-version` |Go version to use
| `false` | `stable` | | `config-file` |Path to golangci-lint config file
| `false` | `.golangci.yml` | | `timeout` |Timeout for analysis (e.g., 5m, 1h)
| `false` | `5m` | | `cache` |Enable golangci-lint caching
| `false` | `true` | | `fail-on-error` |Fail workflow if issues are found
| `false` | `true` | | `report-format` |Output format (json, sarif, github-actions)
| `false` | `sarif` | | `max-retries` |Maximum number of retry attempts
| `false` | `3` | | `only-new-issues` |Report only new issues since main branch
| `false` | `true` | | `disable-all` |Disable all linters (useful with --enable-\*)
| `false` | `false` | | `enable-linters` |Comma-separated list of linters to enable
| `false` | `""` | | `disable-linters` |Comma-separated list of linters to disable
| `false` | `""` | ### Outputs | name | description | | ---------------- | ----------------------------------------- | | `error-count` |Number of errors found
| | `sarif-file` |Path to SARIF report file
| | `cache-hit` |Indicates if there was a cache hit
| | `analyzed-files` |Number of files analyzed
| ### Runs This action is a `composite` action. ### Usage ```yaml - uses: ivuorinen/actions/go-lint@main with: working-directory: # Directory containing Go files # # Required: false # Default: . golangci-lint-version: # Version of golangci-lint to use # # Required: false # Default: latest go-version: # Go version to use # # Required: false # Default: stable config-file: # Path to golangci-lint config file # # Required: false # Default: .golangci.yml timeout: # Timeout for analysis (e.g., 5m, 1h) # # Required: false # Default: 5m cache: # Enable golangci-lint caching # # Required: false # Default: true fail-on-error: # Fail workflow if issues are found # # Required: false # Default: true report-format: # Output format (json, sarif, github-actions) # # Required: false # Default: sarif max-retries: # Maximum number of retry attempts # # Required: false # Default: 3 only-new-issues: # Report only new issues since main branch # # Required: false # Default: true disable-all: # Disable all linters (useful with --enable-*) # # Required: false # Default: false enable-linters: # Comma-separated list of linters to enable # # Required: false # Default: "" disable-linters: # Comma-separated list of linters to disable # # Required: false # Default: "" ```