mirror of
https://github.com/helm/helm.git
synced 2026-05-28 04:35:48 -04:00
Merge pull request #5421 from adamreese/v3/golangci-lint
feat(tests): replace gometalinter with golangci-lint
This commit is contained in:
commit
22393ad355
7 changed files with 39 additions and 71 deletions
27
.golangci.yml
Normal file
27
.golangci.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
run:
|
||||
deadline: 2m
|
||||
|
||||
linters:
|
||||
disable-all: true
|
||||
enable:
|
||||
- deadcode
|
||||
- dupl
|
||||
- gofmt
|
||||
- goimports
|
||||
- golint
|
||||
- gosimple
|
||||
- govet
|
||||
- ineffassign
|
||||
- misspell
|
||||
- nakedret
|
||||
- structcheck
|
||||
- unused
|
||||
- varcheck
|
||||
|
||||
linters-settings:
|
||||
gofmt:
|
||||
simplify: true
|
||||
goimports:
|
||||
local-prefixes: k8s.io/helm
|
||||
dupl:
|
||||
threshold: 400
|
||||
16
Makefile
16
Makefile
|
|
@ -3,10 +3,11 @@ DIST_DIRS := find * -type d -exec
|
|||
TARGETS := darwin/amd64 linux/amd64 linux/386 linux/arm linux/arm64 linux/ppc64le windows/amd64
|
||||
BINNAME ?= helm
|
||||
|
||||
GOPATH = $(shell go env GOPATH)
|
||||
DEP = $(GOPATH)/bin/dep
|
||||
GOX = $(GOPATH)/bin/gox
|
||||
GOIMPORTS = $(GOPATH)/bin/goimports
|
||||
GOPATH = $(shell go env GOPATH)
|
||||
DEP = $(GOPATH)/bin/dep
|
||||
GOX = $(GOPATH)/bin/gox
|
||||
GOIMPORTS = $(GOPATH)/bin/goimports
|
||||
GOLANGCI_LINT = $(GOPATH)/bin/golangci-lint
|
||||
|
||||
# go option
|
||||
PKG := ./...
|
||||
|
|
@ -70,8 +71,8 @@ test-unit: vendor
|
|||
HELM_HOME=/no_such_dir go test $(GOFLAGS) -run $(TESTS) $(PKG) $(TESTFLAGS)
|
||||
|
||||
.PHONY: test-style
|
||||
test-style: vendor
|
||||
@scripts/validate-go.sh
|
||||
test-style: vendor $(GOLANGCI_LINT)
|
||||
$(GOLANGCI_LINT) run
|
||||
@scripts/validate-license.sh
|
||||
|
||||
.PHONY: verify-docs
|
||||
|
|
@ -98,6 +99,9 @@ $(DEP):
|
|||
$(GOX):
|
||||
go get -u github.com/mitchellh/gox
|
||||
|
||||
$(GOLANGCI_LINT):
|
||||
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||
|
||||
$(GOIMPORTS):
|
||||
go get -u golang.org/x/tools/cmd/goimports
|
||||
|
||||
|
|
|
|||
|
|
@ -40,16 +40,12 @@ type options struct {
|
|||
force bool
|
||||
// if set, skip running hooks
|
||||
disableHooks bool
|
||||
// release list options are applied directly to the list releases request
|
||||
listReq hapi.ListReleasesRequest
|
||||
// release install options are applied directly to the install release request
|
||||
instReq hapi.InstallReleaseRequest
|
||||
// release update options are applied directly to the update release request
|
||||
updateReq hapi.UpdateReleaseRequest
|
||||
// release uninstall options are applied directly to the uninstall release request
|
||||
uninstallReq hapi.UninstallReleaseRequest
|
||||
// release get status options are applied directly to the get release status request
|
||||
statusReq hapi.GetReleaseStatusRequest
|
||||
// release get content options are applied directly to the get release content request
|
||||
contentReq hapi.GetReleaseContentRequest
|
||||
// release rollback options are applied directly to the rollback release request
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ func (p *Plugin) PrepareCommand(extraArgs []string) (string, []string, error) {
|
|||
if platCmdLen == 0 || parts == nil {
|
||||
parts = strings.Split(os.ExpandEnv(p.Metadata.Command), " ")
|
||||
}
|
||||
if parts == nil || len(parts) == 0 || parts[0] == "" {
|
||||
if len(parts) == 0 || parts[0] == "" {
|
||||
return "", nil, fmt.Errorf("No plugin command is applicable")
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
validPortRegEx = regexp.MustCompile("^([1-9]\\d{0,3}|0|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$") // adapted from https://stackoverflow.com/a/12968117
|
||||
validPortRegEx = regexp.MustCompile(`^([1-9]\d{0,3}|0|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$`) // adapted from https://stackoverflow.com/a/12968117
|
||||
errEmptyRepo = errors.New("parsed repo was empty")
|
||||
errTooManyColons = errors.New("ref may only contain a single colon character (:) unless specifying a port number")
|
||||
)
|
||||
|
|
|
|||
|
|
@ -136,11 +136,3 @@ func (k *kindSorter) Less(i, j int) bool {
|
|||
// sort different kinds
|
||||
return first < second
|
||||
}
|
||||
|
||||
// SortByKind sorts manifests in InstallOrder
|
||||
func SortByKind(manifests []Manifest) []Manifest {
|
||||
ordering := InstallOrder
|
||||
ks := newKindSorter(manifests, ordering)
|
||||
sort.Sort(ks)
|
||||
return ks.manifests
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,51 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright The Helm Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
set -euo pipefail
|
||||
|
||||
exit_code=0
|
||||
|
||||
if ! hash gometalinter.v1 2>/dev/null ; then
|
||||
go get -u gopkg.in/alecthomas/gometalinter.v1
|
||||
gometalinter.v1 --install
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "==> Running static validations <=="
|
||||
# Run linters that should return errors
|
||||
gometalinter.v1 \
|
||||
--disable-all \
|
||||
--enable deadcode \
|
||||
--severity deadcode:error \
|
||||
--enable gofmt \
|
||||
--enable ineffassign \
|
||||
--enable misspell \
|
||||
--enable vet \
|
||||
--tests \
|
||||
--vendor \
|
||||
--deadline 60s \
|
||||
./... || exit_code=1
|
||||
|
||||
echo
|
||||
echo "==> Running linters <=="
|
||||
# Run linters that should return warnings
|
||||
gometalinter.v1 \
|
||||
--disable-all \
|
||||
--enable golint \
|
||||
--vendor \
|
||||
--deadline 60s \
|
||||
./... || :
|
||||
|
||||
exit $exit_code
|
||||
Loading…
Reference in a new issue