optimize lint logic (#586)

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero 2022-12-18 08:39:45 +08:00 committed by GitHub
parent 9cc0cff07f
commit 36c91c5427
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 34 additions and 68 deletions

View File

@ -25,4 +25,4 @@ jobs:
- name: Golangci lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.48.0
version: v1.50.1

View File

@ -257,34 +257,35 @@ linters:
enable:
- bodyclose
- depguard
# - dogsled
# - dupl
- usestdlibvars
- reassign
- errcheck
- funlen
- gocognit
- goconst
# - gocritic
# - godox
- gofmt
- goimports
- revive
# - gosec
- gosimple
- govet
- ineffassign
# - interfacer
- misspell
- nakedret
- exportloopref
- staticcheck
- structcheck
# - stylecheck
- typecheck
- unconvert
- unparam
- unused
- whitespace
- gci
# - gocritic
# - godox
# - gosec
# - interfacer
# - stylecheck
# - dogsled
# - dupl
# don't enable:
# - deadcode
# - gochecknoglobals

View File

@ -30,7 +30,7 @@ func TestDownloadfile(t *testing.T) {
{
name: "download 404",
handler: func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(404)
w.WriteHeader(http.StatusNotFound)
fmt.Fprint(w, "not found")
},
wantError: "download .*? error, code: 404",
@ -38,7 +38,7 @@ func TestDownloadfile(t *testing.T) {
{
name: "download 500",
handler: func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(500)
w.WriteHeader(http.StatusInternalServerError)
fmt.Fprint(w, "server error")
},
wantError: "download .*? error, code: 500",

View File

@ -113,7 +113,6 @@ func redactedURL(chart string) string {
}
// New for running helm commands
// nolint: golint
func New(helmBinary string, enableLiveOutput bool, logger *zap.SugaredLogger, kubeContext string, runner Runner) *execer {
// TODO: proper error handling
version, err := GetHelmVersion(helmBinary, runner)

View File

@ -33,7 +33,6 @@ func (mock *mockRunner) Execute(cmd string, args []string, env map[string]string
return mock.output, mock.err
}
// nolint: golint
func MockExecer(logger *zap.SugaredLogger, kubeContext string) *execer {
execer := New("helm", false, logger, kubeContext, &mockRunner{})
return execer

View File

@ -279,7 +279,6 @@ type chartDependencyManager struct {
writeFile func(string, []byte, os.FileMode) error
}
// nolint: golint
func NewChartDependencyManager(name string, logger *zap.SugaredLogger, lockFilePath string) *chartDependencyManager {
return &chartDependencyManager{
Name: name,

View File

@ -22,7 +22,6 @@ const (
DefaultHelmBinary = "helm"
)
// nolint: golint
type StateLoadError struct {
msg string
Cause error
@ -306,12 +305,14 @@ func (c *StateCreator) scatterGatherEnvSecretFiles(st *HelmState, envSecretFiles
results <- secretResult{secret.id, nil, err, secret.path}
continue
}
// nolint: staticcheck
defer func() {
if err := c.fs.DeleteFile(decFile); err != nil {
c.logger.Warnf("removing decrypted file %s: %w", decFile, err)
}
}()
bytes, err := c.fs.ReadFile(decFile)
if err != nil {
results <- secretResult{secret.id, nil, fmt.Errorf("failed to load environment secrets file \"%s\": %v", secret.path, err), secret.path}

View File

@ -17,18 +17,16 @@ type Dependency struct {
Alias string `yaml:"alias"`
}
// nolint: unparam
func (st *HelmState) appendHelmXFlags(flags []string, release *ReleaseSpec) ([]string, error) {
func (st *HelmState) appendHelmXFlags(flags []string, release *ReleaseSpec) []string {
for _, adopt := range release.Adopt {
flags = append(flags, "--adopt", adopt)
}
return flags, nil
return flags
}
// append post-renderer flags to helm flags
// nolint: unparam
func (st *HelmState) appendPostRenderFlags(flags []string, release *ReleaseSpec, helm helmexec.Interface) ([]string, error) {
func (st *HelmState) appendPostRenderFlags(flags []string, release *ReleaseSpec, helm helmexec.Interface) []string {
if helm.IsHelm3() {
switch {
// helm.GetPostRenderer() comes from cmd flag.
@ -40,7 +38,7 @@ func (st *HelmState) appendPostRenderFlags(flags []string, release *ReleaseSpec,
flags = append(flags, "--post-renderer", *st.HelmDefaults.PostRenderer)
}
}
return flags, nil
return flags
}
type Chartify struct {

View File

@ -1141,10 +1141,12 @@ func (st *HelmState) PrepareCharts(helm helmexec.Interface, dir string, concurre
isLocal := st.fs.DirectoryExistsAt(normalizeChart(st.basePath, chartName))
chartification, clean, err := st.PrepareChartify(helm, release, chartPath, workerIndex)
if !opts.SkipCleanup {
// nolint: staticcheck
defer clean()
}
if err != nil {
results <- &chartPrepareResult{err: err}
return
@ -1256,7 +1258,6 @@ func (st *HelmState) PrepareCharts(helm helmexec.Interface, dir string, concurre
chartPath = filepath.Dir(fullChartPath)
}
}
results <- &chartPrepareResult{
releaseName: release.Name,
chartName: chartName,
@ -2515,16 +2516,9 @@ func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSp
flags = st.appendConnectionFlags(flags, helm, release)
var err error
flags, err = st.appendHelmXFlags(flags, release)
if err != nil {
return nil, nil, err
}
flags = st.appendHelmXFlags(flags, release)
flags, err = st.appendPostRenderFlags(flags, release, helm)
if err != nil {
return nil, nil, err
}
flags = st.appendPostRenderFlags(flags, release, helm)
common, clean, err := st.namespaceAndValuesFlags(helm, release, workerIndex)
if err != nil {
@ -2545,18 +2539,11 @@ func (st *HelmState) flagsForTemplate(helm helmexec.Interface, release *ReleaseS
flags = st.chartVersionFlags(release)
}
var err error
flags, err = st.appendHelmXFlags(flags, release)
if err != nil {
return nil, nil, err
}
flags = st.appendHelmXFlags(flags, release)
flags = st.appendApiVersionsFlags(flags, release)
flags, err = st.appendPostRenderFlags(flags, release, helm)
if err != nil {
return nil, nil, err
}
flags = st.appendPostRenderFlags(flags, release, helm)
common, files, err := st.namespaceAndValuesFlags(helm, release, workerIndex)
if err != nil {
@ -2593,16 +2580,9 @@ func (st *HelmState) flagsForDiff(helm helmexec.Interface, release *ReleaseSpec,
flags = st.appendConnectionFlags(flags, helm, release)
var err error
flags, err = st.appendHelmXFlags(flags, release)
if err != nil {
return nil, nil, err
}
flags = st.appendHelmXFlags(flags, release)
flags, err = st.appendPostRenderFlags(flags, release, helm)
if err != nil {
return nil, nil, err
}
flags = st.appendPostRenderFlags(flags, release, helm)
common, files, err := st.namespaceAndValuesFlags(helm, release, workerIndex)
if err != nil {
@ -2660,12 +2640,7 @@ func (st *HelmState) flagsForLint(helm helmexec.Interface, release *ReleaseSpec,
return nil, files, err
}
flags, err = st.appendHelmXFlags(flags, release)
if err != nil {
return nil, files, err
}
return flags, files, nil
return st.appendHelmXFlags(flags, release), files, nil
}
func (st *HelmState) newReleaseTemplateData(release *ReleaseSpec) releaseTemplateData {

View File

@ -14,7 +14,6 @@ type TextRenderer interface {
RenderTemplateText(text string) (string, error)
}
// nolint: golint
func NewTextRenderer(fs *filesystem.FileSystem, basePath string, data interface{}) *templateTextRenderer {
return &templateTextRenderer{
ReadText: fs.ReadFile,

View File

@ -137,10 +137,9 @@ type meta struct {
namespace string
}
// nolint: unparam
func (res resource) getMeta() (meta, error) {
func (res resource) getMeta() meta {
if len(res) == 0 {
return meta{}, nil
return meta{}
}
m := meta{}
apiVersion, _ := res["apiVersion"].(string)
@ -152,7 +151,7 @@ func (res resource) getMeta() (meta, error) {
m.name = name
namespace, _ := metadata["namespace"].(string)
m.namespace = namespace
return m, nil
return m
}
func readManifest(path string) ([]resource, error) {
@ -183,10 +182,8 @@ func readManifest(path string) ([]resource, error) {
}
func (res resource) getID() string {
meta, err := res.getMeta()
if err != nil {
return fmt.Sprintf("%v", res)
}
meta := res.getMeta()
ns := meta.namespace
if ns == "" {
ns = "~X"
@ -229,10 +226,8 @@ func (ps *pairs) isSameResource(meta1, meta2 meta) bool {
}
func (ps *pairs) add(node resource, source diffSource) error {
nodeMeta, err := node.getMeta()
if err != nil {
return err
}
nodeMeta := node.getMeta()
for i := range ps.list {
p := ps.list[i]
if ps.isSameResource(p.meta, nodeMeta) {