diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..04ff24d --- /dev/null +++ b/.drone.yml @@ -0,0 +1,13 @@ +kind: pipeline +name: default +type: docker + +steps: +- name: lint + image: golangci/golangci-lint:latest + commands: + - golangci-lint run +- name: test + image: golangci/golangci-lint:latest + commands: + - go test -v ./... diff --git a/.golangci.yaml b/.golangci.yaml new file mode 100644 index 0000000..feddee3 --- /dev/null +++ b/.golangci.yaml @@ -0,0 +1,30 @@ +run: + modules-download-mode: readonly + +linters: + presets: + - bugs + - unused + - import + - module + + enable: + - gofumpt + - godot + - lll + - predeclared + - gocognit + - nestif + + disable: + - scopelint + +linters-settings: + godot: + capital: true + lll: + line-length: 88 + gocognit: + min-complexity: 10 + nestif: + min-complexity: 3 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..648c12e --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,7 @@ +repos: +- repo: https://github.com/tekwizely/pre-commit-golang + rev: v1.0.0-beta.4 + hooks: + - id: golangci-lint-repo-mod + name: GolangCI Lint + - id: go-test-repo-mod diff --git a/ci_ingo.go b/ci_ingo.go index 71379cb..ed0028c 100644 --- a/ci_ingo.go +++ b/ci_ingo.go @@ -5,7 +5,7 @@ import ( "strings" ) -// CI holds information about the current CI environment +// CI holds information about the current CI environment. type CI struct { Name string Constant string @@ -25,7 +25,7 @@ type envMatcher interface { matchEnv(env map[string]string) bool } -// simpleEnvMatcher Test if the specified environment variable is set +// simpleEnvMatcher Test if the specified environment variable is set. type simpleEnvMatcher struct { envvar string } @@ -35,7 +35,7 @@ func (m simpleEnvMatcher) matchEnv(env map[string]string) bool { return exists } -// anyEnvMatcher Test if any of the specified environment variables is set +// anyEnvMatcher Test if any of the specified environment variables is set. type anyEnvMatcher struct { envvars []string } @@ -49,7 +49,7 @@ func (m anyEnvMatcher) matchEnv(env map[string]string) bool { return false } -// allEnvMatcher Test if all of the specified environment variables are set +// allEnvMatcher Test if all of the specified environment variables are set. type allEnvMatcher struct { envvars []string } @@ -64,7 +64,7 @@ func (m allEnvMatcher) matchEnv(env map[string]string) bool { } // kvEnvMatcher Test if all specified environment variables are set to the -// specified values +// specified values. type kvEnvMatcher struct { envvars map[string]string } @@ -79,7 +79,7 @@ func (m kvEnvMatcher) matchEnv(env map[string]string) bool { } // neEnvMatcher Test if the specified environment variable is set, but not -// to the specified value +// to the specified value. type neEnvMatcher struct { envvar string ne string @@ -93,7 +93,9 @@ func (m neEnvMatcher) matchEnv(env map[string]string) bool { } func getEnvironment() map[string]string { - getenvironment := func(data []string, getkeyval func(item string) (key, val string)) map[string]string { + getenvironment := func( + data []string, getkeyval func(item string) (key, val string)) map[string]string { + items := make(map[string]string) for _, item := range data { key, val := getkeyval(item)