Skip to content

Commit 8775b5e

Browse files
authored
chore: fix lint error (future-architect#1438)
* chore: fix lint: revive error * chore: golanci-lint uses go 1.18 * chore: refactor tasks in GNUmakefile * chore: add trivy binary in fvuls image
1 parent a9f29a6 commit 8775b5e

File tree

9 files changed

+44
-42
lines changed

9 files changed

+44
-42
lines changed

.golangci.yml

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: golang-ci
22

3+
run:
4+
timeout: 10m
5+
go: '1.18'
6+
37
linters-settings:
48
revive:
59
# see https://github.com/mgechev/revive#available-rules for details.

GNUmakefile

+10-13
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,9 @@ CGO_UNABLED := CGO_ENABLED=0 go
2323
GO_OFF := GO111MODULE=off go
2424

2525

26-
all: b
26+
all: build test
2727

28-
build: ./cmd/vuls/main.go pretest fmt
29-
$(GO) build -a -ldflags "$(LDFLAGS)" -o vuls ./cmd/vuls
30-
31-
b: ./cmd/vuls/main.go
28+
build: ./cmd/vuls/main.go
3229
$(GO) build -a -ldflags "$(LDFLAGS)" -o vuls ./cmd/vuls
3330

3431
install: ./cmd/vuls/main.go
@@ -41,13 +38,14 @@ install-scanner: ./cmd/scanner/main.go
4138
$(CGO_UNABLED) install -tags=scanner -ldflags "$(LDFLAGS)" ./cmd/scanner
4239

4340
lint:
44-
$(GO_OFF) get -u github.com/mgechev/revive
41+
$(GO) install github.com/mgechev/revive@latest
4542
revive -config ./.revive.toml -formatter plain $(PKGS)
4643

4744
vet:
4845
echo $(PKGS) | xargs env $(GO) vet || exit;
4946

5047
golangci:
48+
$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
5149
golangci-lint run
5250

5351
fmt:
@@ -59,9 +57,9 @@ mlint:
5957
fmtcheck:
6058
$(foreach file,$(SRCS),gofmt -s -d $(file);)
6159

62-
pretest: lint vet fmtcheck golangci
60+
pretest: lint vet fmtcheck
6361

64-
test:
62+
test: pretest
6563
$(GO) test -cover -v ./... || exit;
6664

6765
unused:
@@ -76,13 +74,12 @@ clean:
7674
echo $(PKGS) | xargs go clean || exit;
7775

7876
# trivy-to-vuls
79-
build-trivy-to-vuls: pretest fmt
80-
$(GO) build -a -ldflags "$(LDFLAGS)" -o trivy-to-vuls contrib/trivy/cmd/*.go
77+
build-trivy-to-vuls: ./contrib/trivy/cmd/main.go
78+
$(GO) build -a -ldflags "$(LDFLAGS)" -o trivy-to-vuls ./contrib/trivy/cmd
8179

8280
# future-vuls
83-
build-future-vuls: pretest fmt
84-
$(GO) build -a -ldflags "$(LDFLAGS)" -o future-vuls contrib/future-vuls/cmd/*.go
85-
81+
build-future-vuls: ./contrib/future-vuls/cmd/main.go
82+
$(GO) build -a -ldflags "$(LDFLAGS)" -o future-vuls ./contrib/future-vuls/cmd
8683

8784
# integration-test
8885
BASE_DIR := '${PWD}/integration/results'

contrib/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ RUN apk add --no-cache \
55
make \
66
gcc \
77
musl-dev
8-
RUN go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.45.0
98

109
ENV REPOSITORY github.com/future-architect/vuls
1110
COPY . $GOPATH/src/$REPOSITORY
@@ -27,6 +26,7 @@ RUN apk add --no-cache \
2726
&& mkdir -p $WORKDIR $LOGDIR
2827

2928
COPY --from=builder /go/bin/vuls /go/bin/trivy-to-vuls /go/bin/future-vuls /usr/local/bin/
29+
COPY --from=aquasec/trivy:latest /usr/local/bin/trivy /usr/local/bin/trivy
3030

3131
VOLUME ["$WORKDIR", "$LOGDIR"]
3232
WORKDIR $WORKDIR

detector/util.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func getPlusDiffCves(previous, current models.ScanResult) models.VulnInfos {
130130
previousCveIDsSet[previousVulnInfo.CveID] = true
131131
}
132132

133-
new := models.VulnInfos{}
133+
newer := models.VulnInfos{}
134134
updated := models.VulnInfos{}
135135
for _, v := range current.ScannedCves {
136136
if previousCveIDsSet[v.CveID] {
@@ -150,17 +150,17 @@ func getPlusDiffCves(previous, current models.ScanResult) models.VulnInfos {
150150
logging.Log.Debugf("same: %s", v.CveID)
151151
}
152152
} else {
153-
logging.Log.Debugf("new: %s", v.CveID)
153+
logging.Log.Debugf("newer: %s", v.CveID)
154154
v.DiffStatus = models.DiffPlus
155-
new[v.CveID] = v
155+
newer[v.CveID] = v
156156
}
157157
}
158158

159-
if len(updated) == 0 && len(new) == 0 {
159+
if len(updated) == 0 && len(newer) == 0 {
160160
logging.Log.Infof("%s: There are %d vulnerabilities, but no difference between current result and previous one.", current.FormatServerName(), len(current.ScannedCves))
161161
}
162162

163-
for cveID, vuln := range new {
163+
for cveID, vuln := range newer {
164164
updated[cveID] = vuln
165165
}
166166
return updated

gost/gost.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func FillCVEsWithRedHat(r *models.ScanResult, cnf config.GostConf, o logging.Log
5454
return client.fillCvesWithRedHatAPI(r)
5555
}
5656

57-
// NewClient make Client by family
57+
// NewGostClient make Client by family
5858
func NewGostClient(cnf config.GostConf, family string, o logging.LogOpts) (Client, error) {
5959
if err := gostlog.SetLogger(o.LogToFile, o.LogDir, o.Debug, o.LogJSON); err != nil {
6060
return nil, xerrors.Errorf("Failed to set gost logger. err: %w", err)

oval/pseudo.go

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ func NewPseudo(family string) Pseudo {
1818
}
1919
}
2020

21+
// FillWithOval is a mock function for operating systems that do not use OVAL
2122
func (pse Pseudo) FillWithOval(_ *models.ScanResult) (int, error) {
2223
return 0, nil
2324
}

reporter/util.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ func getPlusDiffCves(previous, current models.ScanResult) models.VulnInfos {
623623
previousCveIDsSet[previousVulnInfo.CveID] = true
624624
}
625625

626-
new := models.VulnInfos{}
626+
newer := models.VulnInfos{}
627627
updated := models.VulnInfos{}
628628
for _, v := range current.ScannedCves {
629629
if previousCveIDsSet[v.CveID] {
@@ -643,17 +643,17 @@ func getPlusDiffCves(previous, current models.ScanResult) models.VulnInfos {
643643
logging.Log.Debugf("same: %s", v.CveID)
644644
}
645645
} else {
646-
logging.Log.Debugf("new: %s", v.CveID)
646+
logging.Log.Debugf("newer: %s", v.CveID)
647647
v.DiffStatus = models.DiffPlus
648-
new[v.CveID] = v
648+
newer[v.CveID] = v
649649
}
650650
}
651651

652-
if len(updated) == 0 && len(new) == 0 {
652+
if len(updated) == 0 && len(newer) == 0 {
653653
logging.Log.Infof("%s: There are %d vulnerabilities, but no difference between current result and previous one.", current.FormatServerName(), len(current.ScannedCves))
654654
}
655655

656-
for cveID, vuln := range new {
656+
for cveID, vuln := range newer {
657657
updated[cveID] = vuln
658658
}
659659
return updated

reporter/util_test.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ func TestMain(m *testing.M) {
1919

2020
func TestIsCveInfoUpdated(t *testing.T) {
2121
f := "2006-01-02"
22-
old, _ := time.Parse(f, "2015-12-15")
23-
new, _ := time.Parse(f, "2015-12-16")
22+
base, _ := time.Parse(f, "2015-12-15")
23+
newer, _ := time.Parse(f, "2015-12-16")
2424

2525
type In struct {
2626
cveID string
@@ -78,7 +78,7 @@ func TestIsCveInfoUpdated(t *testing.T) {
7878
models.CveContent{
7979
Type: models.Jvn,
8080
CveID: "CVE-2017-0002",
81-
LastModified: old,
81+
LastModified: base,
8282
},
8383
),
8484
},
@@ -92,7 +92,7 @@ func TestIsCveInfoUpdated(t *testing.T) {
9292
models.CveContent{
9393
Type: models.Jvn,
9494
CveID: "CVE-2017-0002",
95-
LastModified: old,
95+
LastModified: base,
9696
},
9797
),
9898
},
@@ -114,7 +114,7 @@ func TestIsCveInfoUpdated(t *testing.T) {
114114
models.CveContent{
115115
Type: models.Nvd,
116116
CveID: "CVE-2017-0002",
117-
LastModified: new,
117+
LastModified: newer,
118118
},
119119
),
120120
},
@@ -129,7 +129,7 @@ func TestIsCveInfoUpdated(t *testing.T) {
129129
models.CveContent{
130130
Type: models.Nvd,
131131
CveID: "CVE-2017-0002",
132-
LastModified: old,
132+
LastModified: base,
133133
},
134134
),
135135
},
@@ -151,7 +151,7 @@ func TestIsCveInfoUpdated(t *testing.T) {
151151
models.CveContent{
152152
Type: models.Nvd,
153153
CveID: "CVE-2017-0002",
154-
LastModified: old,
154+
LastModified: base,
155155
},
156156
),
157157
},

scanner/redhatbase.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -784,49 +784,49 @@ func (o *redhatBase) getOwnerPkgs(paths []string) (names []string, _ error) {
784784

785785
func (o *redhatBase) rpmQa() string {
786786
const old = `rpm -qa --queryformat "%{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{ARCH}\n"`
787-
const new = `rpm -qa --queryformat "%{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE} %{ARCH}\n"`
787+
const newer = `rpm -qa --queryformat "%{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE} %{ARCH}\n"`
788788
switch o.Distro.Family {
789789
case constant.OpenSUSE:
790790
if o.Distro.Release == "tumbleweed" {
791-
return new
791+
return newer
792792
}
793793
return old
794794
case constant.OpenSUSELeap:
795-
return new
795+
return newer
796796
case constant.SUSEEnterpriseServer, constant.SUSEEnterpriseDesktop:
797797
if v, _ := o.Distro.MajorVersion(); v < 12 {
798798
return old
799799
}
800-
return new
800+
return newer
801801
default:
802802
if v, _ := o.Distro.MajorVersion(); v < 6 {
803803
return old
804804
}
805-
return new
805+
return newer
806806
}
807807
}
808808

809809
func (o *redhatBase) rpmQf() string {
810810
const old = `rpm -qf --queryformat "%{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{ARCH}\n" `
811-
const new = `rpm -qf --queryformat "%{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE} %{ARCH}\n" `
811+
const newer = `rpm -qf --queryformat "%{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE} %{ARCH}\n" `
812812
switch o.Distro.Family {
813813
case constant.OpenSUSE:
814814
if o.Distro.Release == "tumbleweed" {
815-
return new
815+
return newer
816816
}
817817
return old
818818
case constant.OpenSUSELeap:
819-
return new
819+
return newer
820820
case constant.SUSEEnterpriseServer, constant.SUSEEnterpriseDesktop:
821821
if v, _ := o.Distro.MajorVersion(); v < 12 {
822822
return old
823823
}
824-
return new
824+
return newer
825825
default:
826826
if v, _ := o.Distro.MajorVersion(); v < 6 {
827827
return old
828828
}
829-
return new
829+
return newer
830830
}
831831
}
832832

0 commit comments

Comments
 (0)