Skip to content

Commit 6c0f496

Browse files
authored
Merge pull request #1 from davejohnston/maint/fix_linter
(MAINT) This updates some targets in the makefile to building and check the code
2 parents 1f20386 + 3a641be commit 6c0f496

File tree

6 files changed

+86
-22
lines changed

6 files changed

+86
-22
lines changed

Makefile

Lines changed: 80 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,95 @@
1-
GOLANGCI_LINT_VERSION=v1.10.2
1+
GOLANGCI_LINT_VERSION=v1.37.1
22

3-
LINTER=./bin/golangci-lint
3+
ifndef GOPATH
4+
GOPATH := $(shell go env GOPATH)
5+
endif
46

5-
.PHONY: build clean test lint
7+
# Default target will fetch deps, build and run tests.
8+
all: tidy generate build check test
69

710
generate:
8-
oapi-codegen -generate client,spec -package=rest ./api.yaml > ./pkg/rest/services.gen.go
9-
oapi-codegen -generate types -package=rest ./api.yaml > ./pkg/rest/types.gen.go
11+
oapi-codegen -generate client,spec -package=rest ./api.yaml > rest/services.gen.go
12+
oapi-codegen -generate types -package=rest ./api.yaml > rest/types.gen.go
13+
14+
tidy:
15+
go mod tidy
1016

1117
build:
1218
go build ./...
1319

20+
check: format lint sec
21+
1422
clean:
1523
go clean
1624

1725
test:
1826
go test -race -v --cover ./...
1927

20-
$(LINTER):
21-
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s $(GOLANGCI_LINT_VERSION)
2228

23-
lint: $(LINTER)
24-
$(LINTER) run ./...
29+
# Format go code and error if any changes are made
30+
PHONY+= format
31+
format:
32+
@echo "Checking that go fmt does not make any changes..."
33+
@test -z $$(go fmt $(go list ./...)) || (echo "go fmt would make a change. Please verify and commit the proposed changes"; exit 1)
34+
@echo "Checking go fmt complete"
35+
36+
PHONY+= lint
37+
lint: $(GOPATH)/bin/golangci-lint $(GOPATH)/bin/golint
38+
@echo "Linting $(1)"
39+
@golint -set_exit_status ./...
40+
@go vet ./...
41+
@golangci-lint run \
42+
-E asciicheck \
43+
-E bodyclose \
44+
-E exhaustive \
45+
-E exportloopref \
46+
-E gci \
47+
-E gofmt \
48+
-E goimports \
49+
-E goimports \
50+
-E gosec \
51+
-E noctx \
52+
-E nolintlint \
53+
-E rowserrcheck \
54+
-E scopelint \
55+
-E sqlclosecheck \
56+
-E stylecheck \
57+
-E unconvert \
58+
-E unparam
59+
@echo "Lint-free"
60+
61+
#
62+
# Install Tools
63+
#
64+
PHONY+= sec
65+
sec: $(GOPATH)/bin/gosec
66+
@echo "Checking for security problems ..."
67+
@gosec -quiet ./...
68+
@echo "No problems found"; \
69+
70+
$(GOPATH)/bin/golangci-lint:
71+
@echo "🔘 Installing golangci-lint... (`date '+%H:%M:%S'`)"
72+
@curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin
73+
74+
$(GOPATH)/bin/golint:
75+
@echo "🔘 Installing golint ... (`date '+%H:%M:%S'`)"
76+
@GO111MODULE=off go get -u golang.org/x/lint/golint
77+
78+
$(GOPATH)/bin/gosec:
79+
@echo "🔘 Installing gosec ... (`date '+%H:%M:%S'`)"
80+
@curl -sfL https://raw.githubusercontent.com/securego/gosec/master/install.sh | sh -s -- -b $(GOPATH)/bin
81+
82+
83+
PHONY+= tools
84+
tools: $(GOPATH)/bin/golangci-lint $(GOPATH)/bin/golint $(GOPATH)/bin/gosec
85+
86+
PHONY+= update-tools
87+
update-tools: delete-tools $(GOPATH)/bin/golangci-lint $(GOPATH)/bin/golint $(GOPATH)/bin/gosec
88+
89+
PHONY+= delete-tools
90+
delete-tools:
91+
@rm $(GOPATH)/bin/golangci-lint
92+
@rm $(GOPATH)/bin/gosec
93+
@rm $(GOPATH)/bin/golint
94+
95+
.PHONY: all tidy generate build clean test lint

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Harness FFM Server-side SDK for Go
22

3+
[![Go Report Card](https://goreportcard.com/badge/github.com/drone/ff-golang-server-sdk)](https://goreportcard.com/report/github.com/drone/ff-golang-server-sdk)
4+
35
## FFM overview
46
FFM is feature flag management platform for helping teams to deliver better software and faster.
57

evaluation/feature_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package evaluation
22

33
import (
44
"encoding/json"
5-
"github.com/google/uuid"
65
"github.com/drone/ff-golang-server-sdk/types"
6+
"github.com/google/uuid"
77
"reflect"
88
"strconv"
99
"testing"

evaluation/reflection_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@ func Test_caseInsensitiveFieldByName(t *testing.T) {
7474
{name: "check with struct", args: struct {
7575
v reflect.Value
7676
name string
77-
}{v:reflect.ValueOf(target), name: "identifier"}, want: reflect.ValueOf("john")},
77+
}{v: reflect.ValueOf(target), name: "identifier"}, want: reflect.ValueOf("john")},
7878
{name: "check with other than struct", args: struct {
7979
v reflect.Value
8080
name string
81-
}{v:reflect.ValueOf("Identifier"), name: "identifier"}, want: reflect.ValueOf("Identifier")},
81+
}{v: reflect.ValueOf("Identifier"), name: "identifier"}, want: reflect.ValueOf("Identifier")},
8282
}
8383
for _, tt := range tests {
8484
t.Run(tt.name, func(t *testing.T) {
@@ -87,4 +87,4 @@ func Test_caseInsensitiveFieldByName(t *testing.T) {
8787
}
8888
})
8989
}
90-
}
90+
}

go.sum

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
5858
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
5959
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
6060
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
61-
github.com/r3labs/sse v0.0.0-20200629114018-c9bb0c82ec80 h1:BcutWYmIuaJkm1DK5gTTl/q6+kuT6lAEhK4TYdod1rE=
62-
github.com/r3labs/sse v0.0.0-20200629114018-c9bb0c82ec80/go.mod h1:S8xSOnV3CgpNrWd0GQ/OoQfMtlg2uPRSuTzcSGrzwK8=
6361
github.com/r3labs/sse v0.0.0-20201126193848-34e640891548 h1:ewzX4RiFeFXl8APBmMqXBXR5CZoF/jctB71BuLg7d3s=
6462
github.com/r3labs/sse v0.0.0-20201126193848-34e640891548/go.mod h1:S8xSOnV3CgpNrWd0GQ/OoQfMtlg2uPRSuTzcSGrzwK8=
6563
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -77,7 +75,6 @@ github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyC
7775
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
7876
github.com/valyala/fasttemplate v1.1.0 h1:RZqt0yGBsps8NGvLSGW804QQqCUYYLsaOjTVHy1Ocw4=
7977
github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
80-
github.com/wings-software/ff-client-sdk-go v0.0.0-20210302094748-2b28d05dbab0 h1:dD9k6J670ykM+WmAcmzBKga29kMqX7tKmtZRJnOJ6i0=
8178
go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk=
8279
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
8380
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
@@ -103,8 +100,6 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
103100
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
104101
golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
105102
golang.org/x/net v0.0.0-20191116160921-f9c825593386/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
106-
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
107-
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
108103
golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
109104
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
110105
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -114,8 +109,6 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
114109
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
115110
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
116111
golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
117-
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
118-
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
119112
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
120113
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
121114
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=

types/bool.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77

88
type Boolean bool
99

10-
1110
func NewBoolean(value interface{}) (*Boolean, error) {
1211
num, ok := value.(bool)
1312
if ok {
@@ -64,4 +63,3 @@ func (b Boolean) LessThanEqual(value interface{}) bool {
6463
func (b Boolean) In(value interface{}) bool {
6564
return false
6665
}
67-

0 commit comments

Comments
 (0)