refactor(.github/workflows/ci.yaml): update golangci-lint version to v2.0.2
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
		
							parent
							
								
									4295ca06fa
								
							
						
					
					
						commit
						ab1a7c1d0d
					
				|  | @ -20,7 +20,7 @@ jobs: | ||||||
|           cache: false |           cache: false | ||||||
|       - uses: golangci/golangci-lint-action@v7 |       - uses: golangci/golangci-lint-action@v7 | ||||||
|         with: |         with: | ||||||
|           version: v1.64.5 |           version: v2.0.2 | ||||||
| 
 | 
 | ||||||
|   tests: |   tests: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|  |  | ||||||
							
								
								
									
										466
									
								
								.golangci.yaml
								
								
								
								
							
							
						
						
									
										466
									
								
								.golangci.yaml
								
								
								
								
							|  | @ -1,374 +1,146 @@ | ||||||
| # This file contains all available configuration options | version: "2" | ||||||
| # with their default values. |  | ||||||
| 
 |  | ||||||
| # options for analysis running |  | ||||||
| run: | run: | ||||||
|   # default concurrency is a available CPU number |  | ||||||
|   # concurrency: 4 |  | ||||||
| 
 |  | ||||||
|   # timeout for analysis, e.g. 30s, 5m, default is 1m |  | ||||||
|   timeout: 30m |  | ||||||
| 
 |  | ||||||
|   # exit code when at least one issue was found, default is 1 |  | ||||||
|   issues-exit-code: 1 |   issues-exit-code: 1 | ||||||
| 
 |  | ||||||
|   # include test files or not, default is true |  | ||||||
|   tests: true |   tests: true | ||||||
| 
 |  | ||||||
|   # list of build tags, all linters use it. Default is empty list. |  | ||||||
|   # build-tags: |  | ||||||
|   #   - mytag |  | ||||||
| 
 |  | ||||||
|   # which dirs to skip: issues from them won't be reported; |  | ||||||
|   # can use regexp here: generated.*, regexp is applied on full path; |  | ||||||
|   # default value is empty list, but default dirs are skipped independently |  | ||||||
|   # from this option's value (see skip-dirs-use-default). |  | ||||||
|   # skip-dirs: |  | ||||||
|   #   - src/external_libs |  | ||||||
|   #   - autogenerated_by_my_lib |  | ||||||
| 
 |  | ||||||
|   # which files to skip: they will be analyzed, but issues from them |  | ||||||
|   # won't be reported. Default value is empty list, but there is |  | ||||||
|   # no need to include all autogenerated files, we confidently recognize |  | ||||||
|   # autogenerated files. If it's not please let us know. |  | ||||||
|   # skip-files: |  | ||||||
|   #   - ".*\\.my\\.go$" |  | ||||||
|   #   - lib/bad.go |  | ||||||
| 
 |  | ||||||
|   # by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules": |  | ||||||
|   # If invoked with -mod=readonly, the go command is disallowed from the implicit |  | ||||||
|   # automatic updating of go.mod described above. Instead, it fails when any changes |  | ||||||
|   # to go.mod are needed. This setting is most useful to check that go.mod does |  | ||||||
|   # not need updates, such as in a continuous integration and testing system. |  | ||||||
|   # If invoked with -mod=vendor, the go command assumes that the vendor |  | ||||||
|   # directory holds the correct copies of dependencies and ignores |  | ||||||
|   # the dependency descriptions in go.mod. |  | ||||||
|   # modules-download-mode: readonly|release|vendor |  | ||||||
| 
 |  | ||||||
| # output configuration options |  | ||||||
| output: | output: | ||||||
|   # The formats used to render issues. |  | ||||||
|   # Formats: |  | ||||||
|   # - `colored-line-number` |  | ||||||
|   # - `line-number` |  | ||||||
|   # - `json` |  | ||||||
|   # - `colored-tab` |  | ||||||
|   # - `tab` |  | ||||||
|   # - `html` |  | ||||||
|   # - `checkstyle` |  | ||||||
|   # - `code-climate` |  | ||||||
|   # - `junit-xml` |  | ||||||
|   # - `junit-xml-extended` |  | ||||||
|   # - `github-actions` |  | ||||||
|   # - `teamcity` |  | ||||||
|   # - `sarif` |  | ||||||
|   # Output path can be either `stdout`, `stderr` or path to the file to write to. |  | ||||||
|   # |  | ||||||
|   # For the CLI flag (`--out-format`), multiple formats can be specified by separating them by comma. |  | ||||||
|   # The output can be specified for each of them by separating format name and path by colon symbol. |  | ||||||
|   # Example: "--out-format=checkstyle:report.xml,json:stdout,colored-line-number" |  | ||||||
|   # The CLI flag (`--out-format`) override the configuration file. |  | ||||||
|   # |  | ||||||
|   # Default: |  | ||||||
|   #   formats: |  | ||||||
|   #     - format: colored-line-number |  | ||||||
|   #       path: stdout |  | ||||||
|   formats: |   formats: | ||||||
|     - format: line-number |     text: | ||||||
|       path: stdout |       path: stdout | ||||||
| 
 |       print-linter-name: true | ||||||
|   # print lines of code with issue, default is true |       print-issued-lines: true | ||||||
|   print-issued-lines: true |       colors: false | ||||||
| 
 |  | ||||||
|   # print linter name in the end of issue text, default is true |  | ||||||
|   print-linter-name: true |  | ||||||
| 
 |  | ||||||
| # all available settings of specific linters |  | ||||||
| linters-settings: |  | ||||||
|   gci: |  | ||||||
|     sections: |  | ||||||
|       - standard |  | ||||||
|       - default |  | ||||||
|       - prefix(github.com/helmfile/helmfile) |  | ||||||
| 
 |  | ||||||
|   errcheck: |  | ||||||
|     # report about not checking of errors in type assetions: `a := b.(MyStruct)`; |  | ||||||
|     # default is false: such cases aren't reported by default. |  | ||||||
|     check-type-assertions: false |  | ||||||
| 
 |  | ||||||
|     # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`; |  | ||||||
|     # default is false: such cases aren't reported by default. |  | ||||||
|     check-blank: false |  | ||||||
| 
 |  | ||||||
|     # [deprecated] comma-separated list of pairs of the form pkg:regex |  | ||||||
|     # the regex is used to ignore names within pkg. (default "fmt:.*"). |  | ||||||
|     # see https://github.com/kisielk/errcheck#the-deprecated-method for details |  | ||||||
|     # ignore: fmt:.* |  | ||||||
| 
 |  | ||||||
|     # path to a file containing a list of functions to exclude from checking |  | ||||||
|     # see https://github.com/kisielk/errcheck#excluding-functions for details |  | ||||||
|     # exclude: /path/to/file.txt |  | ||||||
| 
 |  | ||||||
|   # Disable error checking, as errorcheck detects more errors and is more configurable. |  | ||||||
|   gosec: |  | ||||||
|     excludes: |  | ||||||
|       - "G104" |  | ||||||
| 
 |  | ||||||
|   govet: |  | ||||||
|     # report about shadowed variables |  | ||||||
|     disable: |  | ||||||
|       - shadow |  | ||||||
| 
 |  | ||||||
|     # settings per analyzer |  | ||||||
|     settings: |  | ||||||
|       printf: # analyzer name, run `go tool vet help` to see all analyzers |  | ||||||
|         funcs: # run `go tool vet help printf` to see available settings for `printf` analyzer |  | ||||||
|           - (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof |  | ||||||
|           - (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf |  | ||||||
|           - (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf |  | ||||||
|           - (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf |  | ||||||
| 
 |  | ||||||
|     # enable or disable analyzers by name |  | ||||||
|     # enable: |  | ||||||
|     #   - atomicalign |  | ||||||
|     # enable-all: false |  | ||||||
|     # disable: |  | ||||||
|     #   - shadow |  | ||||||
|     # disable-all: false |  | ||||||
|   revive: |  | ||||||
|     # minimal confidence for issues, default is 0.8 |  | ||||||
|     confidence: 0.8 |  | ||||||
|     ignore-generated-header: true |  | ||||||
|     severity: warning |  | ||||||
|   gofmt: |  | ||||||
|     # simplify code: gofmt with `-s` option, true by default |  | ||||||
|     simplify: true |  | ||||||
|   # goimports: |  | ||||||
|     # put imports beginning with prefix after 3rd-party packages; |  | ||||||
|     # it's a comma-separated list of prefixes |  | ||||||
|     # local-prefixes: github.com/org/project |  | ||||||
|   gocyclo: |  | ||||||
|     # minimal code complexity to report, 30 by default (but we recommend 10-20) |  | ||||||
|     min-complexity: 30 |  | ||||||
|   gocognit: |  | ||||||
|     # minimal code complexity to report, 30 by default (but we recommend 10-20) |  | ||||||
|     min-complexity: 100 |  | ||||||
|   dupl: |  | ||||||
|     # tokens count to trigger issue, 150 by default |  | ||||||
|     threshold: 100 |  | ||||||
|   goconst: |  | ||||||
|     # minimal length of string constant, 3 by default |  | ||||||
|     min-len: 3 |  | ||||||
|     # minimal occurrences count to trigger, 3 by default |  | ||||||
|     min-occurrences: 8 |  | ||||||
|   # depguard: |  | ||||||
|   #   list-type: blacklist |  | ||||||
|   #   include-go-root: false |  | ||||||
|   #   packages: |  | ||||||
|   #     - github.com/sirupsen/logrus |  | ||||||
|   #   packages-with-error-messages: |  | ||||||
|   #     # specify an error message to output when a blacklisted package is used |  | ||||||
|   #     github.com/sirupsen/logrus: "logging is allowed only by logutils.Log" |  | ||||||
|   misspell: |  | ||||||
|     # Correct spellings using locale preferences for US or UK. |  | ||||||
|     # Default is to use a neutral variety of English. |  | ||||||
|     # Setting locale to US will correct the British spelling of 'colour' to 'color'. |  | ||||||
|     locale: US |  | ||||||
|     ignore-words: |  | ||||||
|       - GitLab |  | ||||||
|   lll: |  | ||||||
|     # max line length, lines longer will be reported. Default is 120. |  | ||||||
|     # '\t' is counted as 1 character by default, and can be changed with the tab-width option |  | ||||||
|     line-length: 120 |  | ||||||
|     # tab width in spaces. Default to 1. |  | ||||||
|     tab-width: 1 |  | ||||||
|   unparam: |  | ||||||
|     # Inspect exported functions, default is false. Set to true if no external program/library imports your code. |  | ||||||
|     # XXX: if you enable this setting, unparam will report a lot of false-positives in text editors: |  | ||||||
|     # if it's called for subdir of a project it can't find external interfaces. All text editor integrations |  | ||||||
|     # with golangci-lint call it on a directory with the changed file. |  | ||||||
|     check-exported: false |  | ||||||
|   nakedret: |  | ||||||
|     # make an issue if func has more lines of code than this setting and it has naked returns; default is 30 |  | ||||||
|     max-func-lines: 50 |  | ||||||
|   prealloc: |  | ||||||
|     # XXX: we don't recommend using this linter before doing performance profiling. |  | ||||||
|     # For most programs usage of prealloc will be a premature optimization. |  | ||||||
| 
 |  | ||||||
|     # Report preallocation suggestions only on simple loops that have no returns/breaks/continues/gotos in them. |  | ||||||
|     # True by default. |  | ||||||
|     simple: true |  | ||||||
|     range-loops: true # Report preallocation suggestions on range loops, true by default |  | ||||||
|     for-loops: false # Report preallocation suggestions on for loops, false by default |  | ||||||
|   gocritic: |  | ||||||
|     # Which checks should be enabled; can't be combined with 'disabled-checks'; |  | ||||||
|     # See https://go-critic.github.io/overview#checks-overview |  | ||||||
|     # To check which checks are enabled run `GL_DEBUG=gocritic golangci-lint run` |  | ||||||
|     # By default list of stable checks is used. |  | ||||||
|     # enabled-checks: |  | ||||||
|     #   - rangeValCopy |  | ||||||
| 
 |  | ||||||
|     # Which checks should be disabled; can't be combined with 'enabled-checks'; default is empty |  | ||||||
|     # disabled-checks: |  | ||||||
|     #   - regexpMust |  | ||||||
| 
 |  | ||||||
|     # Enable multiple checks by tags, run `GL_DEBUG=gocritic golangci-lint run` to see all tags and checks. |  | ||||||
|     # Empty list by default. See https://github.com/go-critic/go-critic#usage -> section "Tags". |  | ||||||
|     # enabled-tags: |  | ||||||
|     #   - performance |  | ||||||
| 
 |  | ||||||
|     settings: # settings passed to gocritic |  | ||||||
|       captLocal: # must be valid enabled check name |  | ||||||
|         paramsOnly: true |  | ||||||
|     # rangeValCopy: |  | ||||||
|     #   sizeThreshold: 32 |  | ||||||
|   godox: |  | ||||||
|     # report any comments starting with keywords, this is useful for TODO or FIXME comments that |  | ||||||
|     # might be left in the code accidentally and should be resolved before merging |  | ||||||
|     keywords: # default keywords are TODO, BUG, and FIXME, these can be overwritten by this setting |  | ||||||
|       - TODO |  | ||||||
|       - BUG |  | ||||||
|       - FIXME |  | ||||||
|       - NOTE |  | ||||||
|       - OPTIMIZE # marks code that should be optimized before merging |  | ||||||
|       - HACK # marks hack-arounds that should be removed before merging |  | ||||||
|   dogsled: |  | ||||||
|     # checks assignments with too many blank identifiers; default is 2 |  | ||||||
|     max-blank-identifiers: 2 |  | ||||||
| 
 |  | ||||||
|   whitespace: |  | ||||||
|     multi-if: false   # Enforces newlines (or comments) after every multi-line if statement |  | ||||||
|     multi-func: false # Enforces newlines (or comments) after every multi-line function signature |  | ||||||
|   wsl: |  | ||||||
|     # If true append is only allowed to be cuddled if appending value is |  | ||||||
|     # matching variables, fields or types on line above. Default is true. |  | ||||||
|     strict-append: true |  | ||||||
|     # Allow calls and assignments to be cuddled as long as the lines have any |  | ||||||
|     # matching variables, fields or types. Default is true. |  | ||||||
|     allow-assign-and-call: true |  | ||||||
|     # Allow multiline assignments to be cuddled. Default is true. |  | ||||||
|     allow-multiline-assign: true |  | ||||||
|     # Allow declarations (var) to be cuddled. |  | ||||||
|     allow-cuddle-declarations: false |  | ||||||
|     # Allow trailing comments in ending of blocks |  | ||||||
|     allow-trailing-comment: false |  | ||||||
|     # Force newlines in end of case at this limit (0 = never). |  | ||||||
|     force-case-trailing-whitespace: 0 |  | ||||||
|   funlen: |  | ||||||
|     # Checks the number of lines in a function. |  | ||||||
|     # If lower than 0, disable the check. |  | ||||||
|     # Default: 60 |  | ||||||
|     lines: 280 |  | ||||||
|     # Checks the number of statements in a function. |  | ||||||
|     # If lower than 0, disable the check. |  | ||||||
|     # Default: 40 |  | ||||||
|     statements: 140 |  | ||||||
| 
 |  | ||||||
| linters: | linters: | ||||||
|   # please, do not use `enable-all`: it's deprecated and will be removed soon. |   default: none | ||||||
|   # inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint |  | ||||||
|   disable-all: true |  | ||||||
|   enable: |   enable: | ||||||
|     - bodyclose |     - bodyclose | ||||||
|     - usestdlibvars |     - copyloopvar | ||||||
|     - reassign |  | ||||||
|     - errcheck |     - errcheck | ||||||
|     - funlen |     - funlen | ||||||
|     - gocognit |     - gocognit | ||||||
|     - goconst |     - goconst | ||||||
|     - gofmt |  | ||||||
|     - goimports |  | ||||||
|     - revive |  | ||||||
|     - gosimple |  | ||||||
|     - govet |     - govet | ||||||
|     - ineffassign |     - ineffassign | ||||||
|     - misspell |     - misspell | ||||||
|     - nakedret |     - nakedret | ||||||
|     - copyloopvar |     - reassign | ||||||
|  |     - revive | ||||||
|     - staticcheck |     - staticcheck | ||||||
|     - typecheck |  | ||||||
|     - unconvert |     - unconvert | ||||||
|     - unparam |     - unparam | ||||||
|     - unused |     - unused | ||||||
|  |     - usestdlibvars | ||||||
|     - whitespace |     - whitespace | ||||||
|     - gci |   settings: | ||||||
|   # don't enable: |     staticcheck: | ||||||
|   # - depguard |       checks: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-ST1005", "-QF1001", "-QF1008"] | ||||||
|   # - deadcode |  | ||||||
|   # - gochecknoglobals |  | ||||||
|   # - gochecknoinits |  | ||||||
|   # - gocyclo |  | ||||||
|   # - lll |  | ||||||
|   # - maligned |  | ||||||
|   # - prealloc |  | ||||||
|   # - varcheck |  | ||||||
|   # - gocritic |  | ||||||
|   # - godox |  | ||||||
|   # - gosec |  | ||||||
|   # - interfacer |  | ||||||
|   # - stylecheck |  | ||||||
|   # - dogsled |  | ||||||
|   # - dupl |  | ||||||
| 
 | 
 | ||||||
|  |     dogsled: | ||||||
|  |       max-blank-identifiers: 2 | ||||||
|  |     dupl: | ||||||
|  |       threshold: 100 | ||||||
|  |     errcheck: | ||||||
|  |       check-type-assertions: false | ||||||
|  |       check-blank: false | ||||||
|  |     funlen: | ||||||
|  |       lines: 280 | ||||||
|  |       statements: 140 | ||||||
|  |     gocognit: | ||||||
|  |       min-complexity: 100 | ||||||
|  |     goconst: | ||||||
|  |       min-len: 3 | ||||||
|  |       min-occurrences: 8 | ||||||
|  |     gocritic: | ||||||
|  |       settings: | ||||||
|  |         captLocal: | ||||||
|  |           paramsOnly: true | ||||||
|  |     gocyclo: | ||||||
|  |       min-complexity: 30 | ||||||
|  |     godox: | ||||||
|  |       keywords: | ||||||
|  |         - TODO | ||||||
|  |         - BUG | ||||||
|  |         - FIXME | ||||||
|  |         - NOTE | ||||||
|  |         - OPTIMIZE | ||||||
|  |         - HACK | ||||||
|  |     gosec: | ||||||
|  |       excludes: | ||||||
|  |         - G104 | ||||||
|  |     govet: | ||||||
|  |       disable: | ||||||
|  |         - shadow | ||||||
|  |       settings: | ||||||
|  |         printf: | ||||||
|  |           funcs: | ||||||
|  |             - (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof | ||||||
|  |             - (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf | ||||||
|  |             - (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf | ||||||
|  |             - (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf | ||||||
|  |     lll: | ||||||
|  |       line-length: 120 | ||||||
|  |       tab-width: 1 | ||||||
|  |     misspell: | ||||||
|  |       locale: US | ||||||
|  |       ignore-rules: | ||||||
|  |         - GitLab | ||||||
|  |     nakedret: | ||||||
|  |       max-func-lines: 50 | ||||||
|  |     prealloc: | ||||||
|  |       simple: true | ||||||
|  |       range-loops: true | ||||||
|  |       for-loops: false | ||||||
|  |     revive: | ||||||
|  |       confidence: 0.8 | ||||||
|  |       severity: warning | ||||||
|  |     unparam: | ||||||
|  |       check-exported: false | ||||||
|  |     whitespace: | ||||||
|  |       multi-if: false | ||||||
|  |       multi-func: false | ||||||
|  |     wsl: | ||||||
|  |       strict-append: true | ||||||
|  |       allow-assign-and-call: true | ||||||
|  |       allow-multiline-assign: true | ||||||
|  |       force-case-trailing-whitespace: 0 | ||||||
|  |       allow-trailing-comment: false | ||||||
|  |       allow-cuddle-declarations: false | ||||||
|  |   exclusions: | ||||||
|  |     generated: lax | ||||||
|  |     rules: | ||||||
|  |       - linters: | ||||||
|  |           - dupl | ||||||
|  |           - errcheck | ||||||
|  |           - funlen | ||||||
|  |           - gocyclo | ||||||
|  |           - gosec | ||||||
|  |         path: _test\.go | ||||||
|  |       - linters: | ||||||
|  |           - lll | ||||||
|  |         source: '^//go:generate ' | ||||||
|  |     paths: | ||||||
|  |       - third_party$ | ||||||
|  |       - builtin$ | ||||||
|  |       - examples$ | ||||||
| issues: | issues: | ||||||
|   # List of regexps of issue texts to exclude, empty list by default. |  | ||||||
|   # But independently from this option we use default exclude patterns, |  | ||||||
|   # it can be disabled by `exclude-use-default: false`. To list all |  | ||||||
|   # excluded by default patterns execute `golangci-lint run --help` |  | ||||||
|   # exclude: |  | ||||||
|   #   - abcdef |  | ||||||
| 
 |  | ||||||
|   # Excluding configuration per-path, per-linter, per-text and per-source |  | ||||||
|   exclude-rules: |  | ||||||
|     # Exclude some linters from running on tests files. |  | ||||||
|     - path: _test\.go |  | ||||||
|       linters: |  | ||||||
|         - gocyclo |  | ||||||
|         - errcheck |  | ||||||
|         - dupl |  | ||||||
|         - gosec |  | ||||||
|         - funlen |  | ||||||
| 
 |  | ||||||
|     # Exclude known linters from partially hard-vendored code, |  | ||||||
|     # which is impossible to exclude via "nolint" comments. |  | ||||||
|     # - path: internal/hmac/ |  | ||||||
|     #   text: "weak cryptographic primitive" |  | ||||||
|     #   linters: |  | ||||||
|     #     - gosec |  | ||||||
| 
 |  | ||||||
|     # Exclude some staticcheck messages |  | ||||||
|     # - linters: |  | ||||||
|     #     - staticcheck |  | ||||||
|     #   text: "SA9003:" |  | ||||||
| 
 |  | ||||||
|     # Exclude lll issues for long lines with go:generate |  | ||||||
|     - linters: |  | ||||||
|         - lll |  | ||||||
|       source: "^//go:generate " |  | ||||||
| 
 |  | ||||||
|   # Independently from option `exclude` we use default exclude patterns, |  | ||||||
|   # it can be disabled by this option. To list all |  | ||||||
|   # excluded by default patterns execute `golangci-lint run --help`. |  | ||||||
|   # Default value for this option is true. |  | ||||||
|   exclude-use-default: false |  | ||||||
| 
 |  | ||||||
|   # Maximum issues count per one linter. Set to 0 to disable. Default is 50. |  | ||||||
|   max-issues-per-linter: 0 |   max-issues-per-linter: 0 | ||||||
| 
 |  | ||||||
|   # Maximum count of issues with the same text. Set to 0 to disable. Default is 3. |  | ||||||
|   max-same-issues: 0 |   max-same-issues: 0 | ||||||
| 
 |  | ||||||
|   # Show only new issues: if there are unstaged changes or untracked files, |  | ||||||
|   # only those changes are analyzed, else only changes in HEAD~ are analyzed. |  | ||||||
|   # It's a super-useful option for integration of golangci-lint into existing |  | ||||||
|   # large codebase. It's not practical to fix all existing issues at the moment |  | ||||||
|   # of integration: much better don't allow issues in new code. |  | ||||||
|   # Default is false. |  | ||||||
|   new: false |   new: false | ||||||
| 
 | formatters: | ||||||
|   # Show only new issues created after git revision `REV` |   enable: | ||||||
|   # This should be passed as flag during individual CI jobs. |     - gci | ||||||
|   # new-from-rev: REV |     - gofmt | ||||||
| 
 |     - goimports | ||||||
|   # Show only new issues created in git patch with set file path. |   settings: | ||||||
|   # new-from-patch: path/to/patch/file |     gci: | ||||||
|  |       sections: | ||||||
|  |         - standard | ||||||
|  |         - default | ||||||
|  |         - prefix(github.com/helmfile/helmfile) | ||||||
|  |     gofmt: | ||||||
|  |       simplify: true | ||||||
|  |   exclusions: | ||||||
|  |     generated: lax | ||||||
|  |     paths: | ||||||
|  |       - third_party$ | ||||||
|  |       - builtin$ | ||||||
|  |       - examples$ | ||||||
|  |  | ||||||
|  | @ -1005,7 +1005,7 @@ func printDAG(batches [][]state.Release) string { | ||||||
| 	for i, batch := range batches { | 	for i, batch := range batches { | ||||||
| 		for _, r := range batch { | 		for _, r := range batch { | ||||||
| 			id := state.ReleaseToID(&r.ReleaseSpec) | 			id := state.ReleaseToID(&r.ReleaseSpec) | ||||||
| 			needs := r.ReleaseSpec.Needs | 			needs := r.Needs | ||||||
| 			_, _ = fmt.Fprintf(w, "%d\t%s\t%s\n", i+1, id, strings.Join(needs, ", ")) | 			_, _ = fmt.Fprintf(w, "%d\t%s\t%s\n", i+1, id, strings.Join(needs, ", ")) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -24,9 +24,10 @@ func AskForConfirmation(s string) bool { | ||||||
| 
 | 
 | ||||||
| 		response = strings.ToLower(strings.TrimSpace(response)) | 		response = strings.ToLower(strings.TrimSpace(response)) | ||||||
| 
 | 
 | ||||||
| 		if response == "y" || response == "yes" { | 		switch response { | ||||||
|  | 		case "y", "yes": | ||||||
| 			return true | 			return true | ||||||
| 		} else if response == "n" || response == "no" { | 		case "n", "no": | ||||||
| 			return false | 			return false | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ func prependLineNumbers(text string) string { | ||||||
| 	buf := bytes.NewBufferString("") | 	buf := bytes.NewBufferString("") | ||||||
| 	lines := strings.Split(text, "\n") | 	lines := strings.Split(text, "\n") | ||||||
| 	for i, line := range lines { | 	for i, line := range lines { | ||||||
| 		buf.WriteString(fmt.Sprintf("%2d: %s\n", i, line)) | 		fmt.Fprintf(buf, "%2d: %s\n", i, line) | ||||||
| 	} | 	} | ||||||
| 	return buf.String() | 	return buf.String() | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -119,7 +119,7 @@ func (a *ApplyImpl) StripTrailingCR() bool { | ||||||
| 
 | 
 | ||||||
| // DiffOutput returns the diff output.
 | // DiffOutput returns the diff output.
 | ||||||
| func (a *ApplyImpl) DiffOutput() string { | func (a *ApplyImpl) DiffOutput() string { | ||||||
| 	return a.ApplyOptions.Output | 	return a.Output | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // IncludeNeeds returns the include needs.
 | // IncludeNeeds returns the include needs.
 | ||||||
|  |  | ||||||
|  | @ -126,7 +126,7 @@ func (a *DiffImpl) StripTrailingCR() bool { | ||||||
| 
 | 
 | ||||||
| // Output returns the output
 | // Output returns the output
 | ||||||
| func (t *DiffImpl) DiffOutput() string { | func (t *DiffImpl) DiffOutput() string { | ||||||
| 	return t.DiffOptions.Output | 	return t.Output | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // IncludeTests returns the include tests
 | // IncludeTests returns the include tests
 | ||||||
|  |  | ||||||
|  | @ -133,7 +133,7 @@ func (g *GlobalImpl) Chart() string { | ||||||
| 
 | 
 | ||||||
| // FileOrDir returns the path to the Helmfile.
 | // FileOrDir returns the path to the Helmfile.
 | ||||||
| func (g *GlobalImpl) FileOrDir() string { | func (g *GlobalImpl) FileOrDir() string { | ||||||
| 	file := g.GlobalOptions.File | 	file := g.File | ||||||
| 	if file == "" { | 	if file == "" { | ||||||
| 		file = os.Getenv(envvar.FilePath) | 		file = os.Getenv(envvar.FilePath) | ||||||
| 	} | 	} | ||||||
|  | @ -143,7 +143,7 @@ func (g *GlobalImpl) FileOrDir() string { | ||||||
| 
 | 
 | ||||||
| // Selectors returns the selectors to use.
 | // Selectors returns the selectors to use.
 | ||||||
| func (g *GlobalImpl) Selectors() []string { | func (g *GlobalImpl) Selectors() []string { | ||||||
| 	return g.GlobalOptions.Selector | 	return g.Selector | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // StateValuesSet returns the set
 | // StateValuesSet returns the set
 | ||||||
|  | @ -158,12 +158,12 @@ func (g *GlobalImpl) RawStateValuesSet() []string { | ||||||
| 
 | 
 | ||||||
| // RawStateValuesSetString returns the set
 | // RawStateValuesSetString returns the set
 | ||||||
| func (g *GlobalImpl) RawStateValuesSetString() []string { | func (g *GlobalImpl) RawStateValuesSetString() []string { | ||||||
| 	return g.GlobalOptions.StateValuesSetString | 	return g.StateValuesSetString | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // StateValuesFiles returns the state values files
 | // StateValuesFiles returns the state values files
 | ||||||
| func (g *GlobalImpl) StateValuesFiles() []string { | func (g *GlobalImpl) StateValuesFiles() []string { | ||||||
| 	return g.GlobalOptions.StateValuesFile | 	return g.StateValuesFile | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // EnableLiveOutput return when to pipe the stdout and stderr from Helm live to the helmfile stdout
 | // EnableLiveOutput return when to pipe the stdout and stderr from Helm live to the helmfile stdout
 | ||||||
|  | @ -193,7 +193,7 @@ func (g *GlobalImpl) DisableForceUpdate() bool { | ||||||
| 
 | 
 | ||||||
| // Logger returns the logger
 | // Logger returns the logger
 | ||||||
| func (g *GlobalImpl) Logger() *zap.SugaredLogger { | func (g *GlobalImpl) Logger() *zap.SugaredLogger { | ||||||
| 	return g.GlobalOptions.logger | 	return g.logger | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (g *GlobalImpl) Color() bool { | func (g *GlobalImpl) Color() bool { | ||||||
|  | @ -226,8 +226,8 @@ func (g *GlobalImpl) Env() string { | ||||||
| 	var env string | 	var env string | ||||||
| 
 | 
 | ||||||
| 	switch { | 	switch { | ||||||
| 	case g.GlobalOptions.Environment != "": | 	case g.Environment != "": | ||||||
| 		env = g.GlobalOptions.Environment | 		env = g.Environment | ||||||
| 	case os.Getenv("HELMFILE_ENVIRONMENT") != "": | 	case os.Getenv("HELMFILE_ENVIRONMENT") != "": | ||||||
| 		env = os.Getenv("HELMFILE_ENVIRONMENT") | 		env = os.Getenv("HELMFILE_ENVIRONMENT") | ||||||
| 	default: | 	default: | ||||||
|  | @ -255,7 +255,7 @@ func (g *GlobalImpl) Interactive() bool { | ||||||
| // Args returns the args to use for helm
 | // Args returns the args to use for helm
 | ||||||
| func (g *GlobalImpl) Args() string { | func (g *GlobalImpl) Args() string { | ||||||
| 	args := g.GlobalOptions.Args | 	args := g.GlobalOptions.Args | ||||||
| 	enableHelmDebug := g.GlobalOptions.Debug | 	enableHelmDebug := g.Debug | ||||||
| 
 | 
 | ||||||
| 	if enableHelmDebug { | 	if enableHelmDebug { | ||||||
| 		args = fmt.Sprintf("%s %s", args, "--debug") | 		args = fmt.Sprintf("%s %s", args, "--debug") | ||||||
|  |  | ||||||
|  | @ -43,7 +43,7 @@ var ( | ||||||
| 
 | 
 | ||||||
| func expect(t *testing.T, a any, b any) { | func expect(t *testing.T, a any, b any) { | ||||||
| 	_, fn, line, _ := runtime.Caller(1) | 	_, fn, line, _ := runtime.Caller(1) | ||||||
| 	fn = strings.Replace(fn, wd+"/", "", -1) | 	fn = strings.ReplaceAll(fn, wd+"/", "") | ||||||
| 
 | 
 | ||||||
| 	require.Equalf(t, a, b, "(%s:%d) Expected %v (type %v) - Got %v (type %v)", fn, line, b, reflect.TypeOf(b), a, reflect.TypeOf(a)) | 	require.Equalf(t, a, b, "(%s:%d) Expected %v (type %v) - Got %v (type %v)", fn, line, b, reflect.TypeOf(b), a, reflect.TypeOf(a)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ import ( | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
| 	EnvironmentsAndReleasesWithinSameYamlPartErr = errors.New("environments and releases cannot be defined within the same YAML part. Use --- to extract the environments into a dedicated part") | 	ErrEnvironmentsAndReleasesWithinSameYamlPart = errors.New("environments and releases cannot be defined within the same YAML part. Use --- to extract the environments into a dedicated part") | ||||||
| 	topConfigKeysRegex                           = regexp.MustCompile(`^[a-zA-Z]+:`) | 	topConfigKeysRegex                           = regexp.MustCompile(`^[a-zA-Z]+:`) | ||||||
| 	separatorRegex                               = regexp.MustCompile(`^--- *$`) | 	separatorRegex                               = regexp.MustCompile(`^--- *$`) | ||||||
| 	topkeysPriority                              = map[string]int{ | 	topkeysPriority                              = map[string]int{ | ||||||
|  | @ -49,7 +49,7 @@ func forbidEnvironmentsWithReleases(filePath string, content []byte) (bool, erro | ||||||
| 	} | 	} | ||||||
| 	for i := 0; i < len(result)-1; i++ { | 	for i := 0; i < len(result)-1; i++ { | ||||||
| 		if result[i] != "---" && result[i+1] != "---" { | 		if result[i] != "---" && result[i+1] != "---" { | ||||||
| 			return true, EnvironmentsAndReleasesWithinSameYamlPartErr | 			return true, ErrEnvironmentsAndReleasesWithinSameYamlPart | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	return false, nil | 	return false, nil | ||||||
|  |  | ||||||
|  | @ -56,7 +56,7 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) { | ||||||
| 			isStrict, err := forbidEnvironmentsWithReleases(tc.filePath, tc.content) | 			isStrict, err := forbidEnvironmentsWithReleases(tc.filePath, tc.content) | ||||||
| 			require.Equal(t, tc.isStrict, isStrict, "expected isStrict=%v, got=%v", tc.isStrict, isStrict) | 			require.Equal(t, tc.isStrict, isStrict, "expected isStrict=%v, got=%v", tc.isStrict, isStrict) | ||||||
| 			if tc.expectedErr { | 			if tc.expectedErr { | ||||||
| 				require.ErrorIsf(t, err, EnvironmentsAndReleasesWithinSameYamlPartErr, "expected error=%v, got=%v", EnvironmentsAndReleasesWithinSameYamlPartErr, err) | 				require.ErrorIsf(t, err, ErrEnvironmentsAndReleasesWithinSameYamlPart, "expected error=%v, got=%v", ErrEnvironmentsAndReleasesWithinSameYamlPart, err) | ||||||
| 			} else { | 			} else { | ||||||
| 				require.NoError(t, err, "expected no error but got error: %v", err) | 				require.NoError(t, err, "expected no error but got error: %v", err) | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | @ -584,7 +584,7 @@ func (st *HelmState) SyncRepos(helm RepoUpdater, shouldSkip map[string]bool) ([] | ||||||
| func gatherUsernamePassword(repoName string, username string, password string) (string, string) { | func gatherUsernamePassword(repoName string, username string, password string) (string, string) { | ||||||
| 	var user, pass string | 	var user, pass string | ||||||
| 
 | 
 | ||||||
| 	replacedRepoName := strings.ToUpper(strings.Replace(repoName, "-", "_", -1)) | 	replacedRepoName := strings.ToUpper(strings.ReplaceAll(repoName, "-", "_")) | ||||||
| 	if username != "" { | 	if username != "" { | ||||||
| 		user = username | 		user = username | ||||||
| 	} else if u := os.Getenv(fmt.Sprintf("%s_USERNAME", replacedRepoName)); u != "" { | 	} else if u := os.Getenv(fmt.Sprintf("%s_USERNAME", replacedRepoName)); u != "" { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue