-
Notifications
You must be signed in to change notification settings - Fork 781
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
74fa6ff
commit cdcb9b9
Showing
2 changed files
with
100 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
name: lint | ||
|
||
on: | ||
pull_request: | ||
|
||
jobs: | ||
run-linters: | ||
name: Run linters | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | ||
|
||
- name: Set up Go | ||
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1 | ||
with: | ||
go-version-file: 'go.mod' | ||
|
||
- name: Run linters | ||
uses: golangci/golangci-lint-action@639cd343e1d3b897ff35927a75193d57cfcba299 # v3.6.0 | ||
with: | ||
version: latest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Copyright (c) HashiCorp, Inc. | ||
# SPDX-License-Identifier: MPL-2.0 | ||
|
||
linters: | ||
disable-all: true | ||
enable: | ||
- gofmt | ||
- govet | ||
- unconvert | ||
- staticcheck | ||
- ineffassign | ||
- unparam | ||
- forbidigo | ||
- gomodguard | ||
- gosimple | ||
|
||
issues: | ||
# Disable the default exclude list so that all excludes are explicitly | ||
# defined in this file. | ||
exclude-use-default: false | ||
|
||
exclude-rules: | ||
# Temp Ignore SA9004: only the first constant in this group has an explicit type | ||
# https://staticcheck.io/docs/checks#SA9004 | ||
- linters: [staticcheck] | ||
text: "SA9004:" | ||
|
||
- linters: [staticcheck] | ||
text: 'SA1019: "io/ioutil" has been deprecated since Go 1.16' | ||
|
||
# An argument that always receives the same value is often not a problem. | ||
- linters: [unparam] | ||
text: "always receives" | ||
|
||
# Often functions will implement an interface that returns an error without | ||
# needing to return an error. Sometimes the error return value is unnecessary | ||
# but a linter can not tell the difference. | ||
- linters: [unparam] | ||
text: 'result \d+ \(error\) is always nil' | ||
|
||
# Allow unused parameters to start with an underscore. Arguments with a name | ||
# of '_' are already ignored. | ||
# Ignoring longer names that start with underscore allow for better | ||
# self-documentation than a single underscore by itself. Underscore arguments | ||
# should generally only be used when a function is implementing an interface. | ||
- linters: [unparam] | ||
text: "`_[^`]*` is unused" | ||
|
||
# Temp ignore some common unused parameters so that unparam can be added | ||
# incrementally. | ||
- linters: [unparam] | ||
text: "`(t|resp|req|entMeta)` is unused" | ||
|
||
linters-settings: | ||
govet: | ||
check-shadowing: true | ||
enable-all: true | ||
disable: | ||
- fieldalignment | ||
- nilness | ||
- shadow | ||
- unusedwrite | ||
forbidigo: | ||
# Forbid the following identifiers (list of regexp). | ||
forbid: | ||
- '\bioutil\b(# Use io and os packages instead of ioutil)?' | ||
- '\brequire\.New\b(# Use package-level functions with explicit TestingT)?' | ||
- '\bassert\.New\b(# Use package-level functions with explicit TestingT)?' | ||
# Exclude godoc examples from forbidigo checks. | ||
# Default: true | ||
exclude_godoc_examples: false | ||
gofmt: | ||
simplify: true | ||
|
||
run: | ||
timeout: 10m | ||
concurrency: 4 | ||
skip-dirs-use-default: false |