Skip to content

Commit

Permalink
task: lint update
Browse files Browse the repository at this point in the history
  • Loading branch information
gssbzn committed Mar 30, 2023
1 parent a54a38f commit 7d4c154
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 47 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: lint
uses: golangci/golangci-lint-action@v3.4.0
with:
version: v1.52.0
version: v1.52.2

tests-on-unix:
needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
Expand Down
108 changes: 64 additions & 44 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ linters:
- misspell # Finds commonly misspelled English words in comments [fast: true, auto-fix: true]
- nakedret # Finds naked returns in functions greater than a specified function length [fast: true, auto-fix: false]
- nolintlint # Reports ill-formed or insufficient nolint directives [fast: true, auto-fix: false]
- prealloc # Finds slice declarations that could potentially be pre-allocated [fast: true, auto-fix: false]
- revive # Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint. [fast: false, auto-fix: false]
- rowserrcheck # checks whether Err of rows is checked successfully [fast: false, auto-fix: false]
- staticcheck #megacheck): Staticcheck is a go vet on steroids, applying a ton of static analysis checks [fast: false, auto-fix: false]
Expand All @@ -99,53 +100,72 @@ linters:
- unconvert # Remove unnecessary type conversions [fast: false, auto-fix: false]
- unparam # Reports unused function parameters [fast: false, auto-fix: false]
- unused # Checks Go code for unused constants, variables, functions and types [fast: false, auto-fix: false]
- usestdlibvars # A linter that detect the possibility to use variables/constants from the Go standard library. [fast: true, auto-fix: false]
- whitespace # Tool for detection of leading and trailing whitespace [fast: true, auto-fix: true]

# don't enable:
# - asciicheck # Simple linter to check that your code does not contain non-ASCII identifiers [fast: true, auto-fix: false]
# - cyclop # checks function and package cyclomatic complexity [fast: false, auto-fix: false]
# - deadcode # Finds unused code [fast: false, auto-fix: false]
# - dupl # Tool for code clone detection [fast: true, auto-fix: false]
# - durationcheck # check for two durations multiplied together [fast: false, auto-fix: false]
# - errname # Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`. [fast: false, auto-fix: false]
# - exhaustivestruct # Checks if all struct's fields are initialized [fast: false, auto-fix: false]
# - forbidigo # Forbids identifiers [fast: true, auto-fix: false]
# - forcetypeassert # finds forced type assertions [fast: true, auto-fix: false]
# - funlen # Tool for detection of long functions [fast: true, auto-fix: false]
# - gci # Gci control golang package import order and make it always deterministic. [fast: true, auto-fix: true]
# - gochecknoglobals # check that no global variables exist [fast: true, auto-fix: false]
# - gocognit # Computes and checks the cognitive complexity of functions [fast: true, auto-fix: false]
# - godox # Tool for detection of FIXME, TODO and other comment keywords [fast: true, auto-fix: false]
# - goerr113 # Golang linter to check the errors handling expressions [fast: false, auto-fix: false]
# - gofumpt # Gofumpt checks whether code was gofumpt-ed. [fast: true, auto-fix: true]
# - goheader # Checks is file header matches to pattern [fast: true, auto-fix: false]
# - gomoddirectives # Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod. [fast: true, auto-fix: false]
# - gomodguard # Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations. [fast: true, auto-fix: false]
# - importas # Enforces consistent import aliases [fast: false, auto-fix: false]
# - interfacer # Linter that suggests narrower interface types [fast: false, auto-fix: false]
# - lll # Reports long lines [fast: true, auto-fix: false]
# - makezero # Finds slice declarations with non-zero initial length [fast: false, auto-fix: false]
# - maligned # Tool to detect Go structs that would take less memory if their fields were sorted [fast: false, auto-fix: false]
# - nestif # Reports deeply nested if statements [fast: true, auto-fix: false]
# - nilerr # Finds the code that returns nil even if it checks that the error is not nil. [fast: false, auto-fix: false]
# - nlreturn # nlreturn checks for a new line before return and branch statements to increase code clarity [fast: true, auto-fix: false]
# - noctx # noctx finds sending http request without context.Context [fast: false, auto-fix: false]
# - paralleltest # paralleltest detects missing usage of t.Parallel() method in your Go test [fast: true, auto-fix: false]
# - prealloc # Finds slice declarations that could potentially be preallocated [fast: true, auto-fix: false]
# - predeclared # find code that shadows one of Go's predeclared identifiers [fast: true, auto-fix: false]
# - promlinter # Check Prometheus metrics naming via promlint [fast: true, auto-fix: false]
# - scopelint # Scopelint checks for unpinned variables in go programs [fast: true, auto-fix: false]
# - sqlclosecheck # Checks that sql.Rows and sql.Stmt are closed. [fast: false, auto-fix: false]
# - structcheck # Finds unused struct fields [fast: false, auto-fix: false]
# - testpackage # linter that makes you use a separate _test package [fast: true, auto-fix: false]
# - tparallel # tparallel detects inappropriate usage of t.Parallel() method in your Go test codes [fast: false, auto-fix: false]
# - varcheck # Finds unused global variables and constants [fast: false, auto-fix: false]
# - wastedassign # wastedassign finds wasted assignment statements. [fast: false, auto-fix: false]
# - wrapcheck # Checks that errors returned from external packages are wrapped [fast: false, auto-fix: false]
# - wsl # Whitespace Linter - Forces you to use empty lines! [fast: true, auto-fix: false]

# - asasalint # check for pass []any as any in variadic func(...any) [fast: false, auto-fix: false]
# - asciicheck # Simple linter to check that your code does not contain non-ASCII identifiers [fast: true, auto-fix: false]
# - bidichk # Checks for dangerous unicode character sequences [fast: true, auto-fix: false]
# - containedctx # containedctx is a linter that detects struct contained context.Context field [fast: true, auto-fix: false]
# - contextcheck # check whether the function uses a non-inherited context [fast: false, auto-fix: false]
# - cyclop # checks function and package cyclomatic complexity [fast: false, auto-fix: false]
# - deadcode # [deprecated] Finds unused code [fast: false, auto-fix: false]
# - decorder # check declaration order and count of types, constants, variables and functions [fast: true, auto-fix: false]
# - dupl # Tool for code clone detection [fast: true, auto-fix: false]
# - dupword # checks for duplicate words in the source code [fast: true, auto-fix: true]
# - durationcheck # check for two durations multiplied together [fast: false, auto-fix: false]
# - errchkjson # Checks types passed to the json encoding functions. Reports unsupported types and optionally reports occasions, where the check for the returned error can be omitted. [fast: false, auto-fix: false]
# - errname # Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`. [fast: false, auto-fix: false]
# - execinquery # execinquery is a linter about query string checker in Query function which reads your Go src files and warning it finds [fast: false, auto-fix: false]
# - exhaustivestruct # [deprecated] Checks if all struct's fields are initialized [fast: false, auto-fix: false]
# - exhaustruct # Checks if all structure fields are initialized [fast: false, auto-fix: false]
# - forbidigo # Forbids identifiers [fast: true, auto-fix: false]
# - forcetypeassert # finds forced type assertions [fast: true, auto-fix: false]
# - funlen # Tool for detection of long functions [fast: true, auto-fix: false]
# - gci # Gci controls golang package import order and makes it always deterministic. [fast: true, auto-fix: false]
# - gochecknoglobals: check that no global variables exist [fast: true, auto-fix: false]
# - gocognit # Computes and checks the cognitive complexity of functions [fast: true, auto-fix: false]
# - godox # Tool for detection of FIXME, TODO and other comment keywords [fast: true, auto-fix: false]
# - goerr113 # Golang linter to check the errors handling expressions [fast: false, auto-fix: false]
# - gofumpt # Gofumpt checks whether code was gofumpt-ed. [fast: true, auto-fix: true]
# - goheader # Checks is file header matches to pattern [fast: true, auto-fix: false]
# - golint # [deprecated] Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes [fast: false, auto-fix: false]
# - gomoddirectives # Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod. [fast: true, auto-fix: false]
# - gomodguard # Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations. [fast: true, auto-fix: false]
# - grouper # An analyzer to analyze expression groups. [fast: true, auto-fix: false]
# - importas # Enforces consistent import aliases [fast: false, auto-fix: false]
# - interfacebloat # A linter that checks the number of methods inside an interface. [fast: true, auto-fix: false]
# - interfacer # [deprecated] Linter that suggests narrower interface types [fast: false, auto-fix: false]
# - ireturn # Accept Interfaces, Return Concrete Types [fast: false, auto-fix: false]
# - lll # Reports long lines [fast: true, auto-fix: false]
# - loggercheck # (logrlint) Checks key valur pairs for common logger libraries (kitlog,klog,logr,zap). [fast: false, auto-fix: false]
# - maintidx # maintidx measures the maintainability index of each function. [fast: true, auto-fix: false]
# - makezero # Finds slice declarations with non-zero initial length [fast: false, auto-fix: false]
# - maligned # [deprecated] Tool to detect Go structs that would take less memory if their fields were sorted [fast: false, auto-fix: false]
# - nestif # Reports deeply nested if statements [fast: true, auto-fix: false]
# - nilerr # Finds the code that returns nil even if it checks that the error is not nil. [fast: false, auto-fix: false]
# - nilnil # Checks that there is no simultaneous return of `nil` error and an invalid value. [fast: false, auto-fix: false]
# - nlreturn # nlreturn checks for a new line before return and branch statements to increase code clarity [fast: true, auto-fix: false]
# - noctx # noctx finds sending http request without context.Context [fast: false, auto-fix: false]
# - nonamedreturns # Reports all named returns [fast: false, auto-fix: false]
# - nosnakecase # [deprecated] nosnakecase is a linter that detects snake case of variable naming and function name. [fast: true, auto-fix: false]
# - nosprintfhostport # Checks for misuse of Sprintf to construct a host with port in a URL. [fast: true, auto-fix: false]
# - paralleltest # paralleltest detects missing usage of t.Parallel() method in your Go test [fast: false, auto-fix: false]
# - predeclared # find code that shadows one of Go's predeclared identifiers [fast: true, auto-fix: false]
# - promlinter # Check Prometheus metrics naming via promlint [fast: true, auto-fix: false]
# - reassign # Checks that package variables are not reassigned [fast: false, auto-fix: false]
# - scopelint # [deprecated] Scopelint checks for unpinned variables in go programs [fast: true, auto-fix: false]
# - sqlclosecheck # Checks that sql.Rows and sql.Stmt are closed. [fast: false, auto-fix: false]
# - structcheck # [deprecated] Finds unused struct fields [fast: false, auto-fix: false]
# - tenv # tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17 [fast: false, auto-fix: false]
# - testpackage # linter that makes you use a separate _test package [fast: true, auto-fix: false]
# - tparallel # tparallel detects inappropriate usage of t.Parallel() method in your Go test codes [fast: false, auto-fix: false]
# - varcheck # [deprecated] Finds unused global variables and constants [fast: false, auto-fix: false]
# - varnamelen # checks that the length of a variable's name matches its scope [fast: false, auto-fix: false]
# - wastedassign # wastedassign finds wasted assignment statements. [fast: false, auto-fix: false]
# - wrapcheck # Checks that errors returned from external packages are wrapped [fast: false, auto-fix: false]
# - wsl # Whitespace Linter - Forces you to use empty lines! [fast: true, auto-fix: false]
run:
tests: true
skip-dirs:
- internal/mocks
modules-download-mode: readonly
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# A Self-Documenting Makefile: http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html

SOURCE_FILES?=./...
GOLANGCI_VERSION=v1.52.0
GOLANGCI_VERSION=v1.52.2
COVERAGE=coverage.out

export PATH := ./bin:$(PATH)
Expand Down
2 changes: 1 addition & 1 deletion opsmngr/opsmngr_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ func TestClient_Do_httpError(t *testing.T) {
defer teardown()

mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.Error(w, "Bad Request", 400)
http.Error(w, "Bad Request", http.StatusBadRequest)
})

req, _ := client.NewRequest(ctx, http.MethodGet, ".", nil)
Expand Down

0 comments on commit 7d4c154

Please sign in to comment.