build(deps): bump golangci/golangci-lint-action from 6 to 7 (#1975)
* build(deps): bump golangci/golangci-lint-action from 6 to 7 Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6 to 7. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v7) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * refactor(.github/workflows/ci.yaml): update golangci-lint version to v2.0.2 Signed-off-by: yxxhero <aiopsclub@163.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: yxxhero <aiopsclub@163.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
parent
d2ec2b7150
commit
d26d909a5e
|
|
@ -18,9 +18,9 @@ jobs:
|
||||||
with:
|
with:
|
||||||
go-version-file: go.mod
|
go-version-file: go.mod
|
||||||
cache: false
|
cache: false
|
||||||
- uses: golangci/golangci-lint-action@v6
|
- 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
|
||||||
|
|
|
||||||
490
.golangci.yaml
490
.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 lines of code with issue, default is true
|
|
||||||
print-issued-lines: true
|
|
||||||
|
|
||||||
# print linter name in the end of issue text, default is true
|
|
||||||
print-linter-name: true
|
print-linter-name: true
|
||||||
|
print-issued-lines: true
|
||||||
|
colors: false
|
||||||
|
linters:
|
||||||
|
default: none
|
||||||
|
enable:
|
||||||
|
- bodyclose
|
||||||
|
- copyloopvar
|
||||||
|
- errcheck
|
||||||
|
- funlen
|
||||||
|
- gocognit
|
||||||
|
- goconst
|
||||||
|
- govet
|
||||||
|
- ineffassign
|
||||||
|
- misspell
|
||||||
|
- nakedret
|
||||||
|
- reassign
|
||||||
|
- revive
|
||||||
|
- staticcheck
|
||||||
|
- unconvert
|
||||||
|
- unparam
|
||||||
|
- unused
|
||||||
|
- usestdlibvars
|
||||||
|
- whitespace
|
||||||
|
settings:
|
||||||
|
staticcheck:
|
||||||
|
checks: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-ST1005", "-QF1001", "-QF1008"]
|
||||||
|
|
||||||
# all available settings of specific linters
|
dogsled:
|
||||||
linters-settings:
|
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:
|
||||||
|
max-issues-per-linter: 0
|
||||||
|
max-same-issues: 0
|
||||||
|
new: false
|
||||||
|
formatters:
|
||||||
|
enable:
|
||||||
|
- gci
|
||||||
|
- gofmt
|
||||||
|
- goimports
|
||||||
|
settings:
|
||||||
gci:
|
gci:
|
||||||
sections:
|
sections:
|
||||||
- standard
|
- standard
|
||||||
- default
|
- default
|
||||||
- prefix(github.com/helmfile/helmfile)
|
- 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:
|
gofmt:
|
||||||
# simplify code: gofmt with `-s` option, true by default
|
|
||||||
simplify: true
|
simplify: true
|
||||||
# goimports:
|
exclusions:
|
||||||
# put imports beginning with prefix after 3rd-party packages;
|
generated: lax
|
||||||
# it's a comma-separated list of prefixes
|
paths:
|
||||||
# local-prefixes: github.com/org/project
|
- third_party$
|
||||||
gocyclo:
|
- builtin$
|
||||||
# minimal code complexity to report, 30 by default (but we recommend 10-20)
|
- examples$
|
||||||
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:
|
|
||||||
# please, do not use `enable-all`: it's deprecated and will be removed soon.
|
|
||||||
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
|
|
||||||
disable-all: true
|
|
||||||
enable:
|
|
||||||
- bodyclose
|
|
||||||
- usestdlibvars
|
|
||||||
- reassign
|
|
||||||
- errcheck
|
|
||||||
- funlen
|
|
||||||
- gocognit
|
|
||||||
- goconst
|
|
||||||
- gofmt
|
|
||||||
- goimports
|
|
||||||
- revive
|
|
||||||
- gosimple
|
|
||||||
- govet
|
|
||||||
- ineffassign
|
|
||||||
- misspell
|
|
||||||
- nakedret
|
|
||||||
- copyloopvar
|
|
||||||
- staticcheck
|
|
||||||
- typecheck
|
|
||||||
- unconvert
|
|
||||||
- unparam
|
|
||||||
- unused
|
|
||||||
- whitespace
|
|
||||||
- gci
|
|
||||||
# don't enable:
|
|
||||||
# - depguard
|
|
||||||
# - deadcode
|
|
||||||
# - gochecknoglobals
|
|
||||||
# - gochecknoinits
|
|
||||||
# - gocyclo
|
|
||||||
# - lll
|
|
||||||
# - maligned
|
|
||||||
# - prealloc
|
|
||||||
# - varcheck
|
|
||||||
# - gocritic
|
|
||||||
# - godox
|
|
||||||
# - gosec
|
|
||||||
# - interfacer
|
|
||||||
# - stylecheck
|
|
||||||
# - dogsled
|
|
||||||
# - dupl
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
|
|
||||||
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
|
|
||||||
|
|
||||||
# Show only new issues created after git revision `REV`
|
|
||||||
# This should be passed as flag during individual CI jobs.
|
|
||||||
# new-from-rev: REV
|
|
||||||
|
|
||||||
# Show only new issues created in git patch with set file path.
|
|
||||||
# new-from-patch: path/to/patch/file
|
|
||||||
|
|
|
||||||
|
|
@ -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