From badc3eb61ea8db17dad1f869ccb63f2378e841ac Mon Sep 17 00:00:00 2001 From: Theta-Dev Date: Thu, 14 Oct 2021 07:55:28 +0200 Subject: [PATCH 1/2] Add golangci --- .golangci.yaml | 30 ++++++++++++++++++++++++++++++ .pre-commit-config.yaml | 7 +++++++ ci_ingo.go | 16 +++++++++------- 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 .golangci.yaml create mode 100644 .pre-commit-config.yaml 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) From 3d8f2d194e0aee968d2501d0772706ba2d84e22b Mon Sep 17 00:00:00 2001 From: Theta-Dev Date: Thu, 14 Oct 2021 08:00:25 +0200 Subject: [PATCH 2/2] Add drone CI --- .drone.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .drone.yml 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 ./...