Skip to content

Commit 2381553

Browse files
authored
chore(ci): add trivy (#251)
* chore(ci): add trivy * oops * chore(ci): add trivy * oops
1 parent 1ea7da0 commit 2381553

File tree

3 files changed

+123
-21
lines changed

3 files changed

+123
-21
lines changed

.github/workflows/lint.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,24 @@ on:
77
pull_request:
88
schedule:
99
- cron: '0 3 * * 1'
10+
workflow_dispatch: # Allow manual trigger
1011

1112
jobs:
12-
analyze:
13+
lint:
1314
name: lint
1415
runs-on: ubuntu-latest
1516
strategy:
1617
fail-fast: false
1718

18-
permissions:
19-
# required for codeql analysis
20-
security-events: write
21-
2219
steps:
2320
- uses: actions/checkout@v6
2421
- uses: actions/setup-go@v6
25-
with:
26-
go-version: 'stable'
22+
2723
- name: golangci-lint
2824
uses: golangci/golangci-lint-action@v9
2925
with:
3026
args: --timeout 120s --max-same-issues 50
3127

32-
- name: Bearer
33-
uses: bearer/bearer-action@v2
34-
with:
35-
skip-path: 'docs/'
36-
37-
- name: Initialize CodeQL
38-
uses: github/codeql-action/init@v4
39-
with:
40-
languages: go
41-
- name: Autobuild
42-
uses: github/codeql-action/autobuild@v4
43-
- name: Perform CodeQL Analysis
44-
uses: github/codeql-action/analyze@v4
45-
4628
# - name: Install mdsf
4729
# uses: hougesen/mdsf@main
4830

.github/workflows/security.yml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: Security scan
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
schedule:
9+
- cron: '0 3 * * 1'
10+
workflow_dispatch: # Allow manual trigger
11+
12+
permissions:
13+
contents: read
14+
# required for codeql analysis
15+
security-events: write
16+
17+
jobs:
18+
govulncheck:
19+
name: govulncheck
20+
runs-on: ubuntu-latest
21+
strategy:
22+
fail-fast: false
23+
steps:
24+
- uses: actions/checkout@v6
25+
- uses: actions/setup-go@v6
26+
27+
- name: Install govulncheck
28+
run: go install golang.org/x/vuln/cmd/govulncheck@latest
29+
30+
- name: govulncheck
31+
run: govulncheck ./...
32+
33+
bearer:
34+
name: bearer
35+
runs-on: ubuntu-latest
36+
strategy:
37+
fail-fast: false
38+
steps:
39+
- uses: actions/checkout@v6
40+
- name: Bearer
41+
uses: bearer/bearer-action@v2
42+
with:
43+
skip-path: 'docs/'
44+
45+
codeql:
46+
name: codeql
47+
runs-on: ubuntu-latest
48+
strategy:
49+
fail-fast: false
50+
steps:
51+
- uses: actions/checkout@v6
52+
- uses: actions/setup-go@v6
53+
54+
- name: Initialize CodeQL
55+
uses: github/codeql-action/init@v4
56+
with:
57+
languages: go
58+
59+
- name: Autobuild
60+
uses: github/codeql-action/autobuild@v4
61+
- name: Perform CodeQL Analysis
62+
uses: github/codeql-action/analyze@v4
63+
64+
trivy-codeql:
65+
name: trivy-codeql
66+
runs-on: ubuntu-latest
67+
strategy:
68+
fail-fast: false
69+
steps:
70+
- uses: actions/checkout@v6
71+
- uses: actions/setup-go@v6
72+
73+
- name: Run Trivy vulnerability scanner (source code)
74+
uses: aquasecurity/trivy-action@0.35.0
75+
with:
76+
scan-type: "fs"
77+
scan-ref: "."
78+
scanners: "vuln,secret,misconfig"
79+
format: "sarif"
80+
output: "trivy-results.sarif"
81+
severity: "CRITICAL,HIGH,MEDIUM"
82+
ignore-unfixed: true
83+
84+
- name: Upload Trivy results to GitHub Security tab
85+
uses: github/codeql-action/upload-sarif@v4
86+
if: always()
87+
with:
88+
sarif_file: "trivy-results.sarif"
89+
90+
trivy-logs:
91+
name: trivy-logs
92+
runs-on: ubuntu-latest
93+
strategy:
94+
fail-fast: false
95+
steps:
96+
- uses: actions/checkout@v6
97+
- uses: actions/setup-go@v6
98+
99+
- name: Run Trivy scanner (table output for logs)
100+
uses: aquasecurity/trivy-action@0.35.0
101+
if: always()
102+
with:
103+
scan-type: "fs"
104+
scan-ref: "."
105+
scanners: "vuln,secret,misconfig"
106+
format: "table"
107+
severity: "CRITICAL,HIGH,MEDIUM"
108+
ignore-unfixed: true
109+
exit-code: "1"
110+
111+
- name: Run Trivy scanner (license)
112+
uses: aquasecurity/trivy-action@0.35.0
113+
if: always()
114+
with:
115+
scan-type: fs
116+
scan-ref: .
117+
scanners: license
118+
severity: UNKNOWN,HIGH,CRITICAL
119+
format: table

.golangci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ linters:
3737
- tparallel
3838
- paralleltest
3939
- predeclared
40+
- modernize
4041

4142
# disable noisy/controversial ones which you might enable later
4243
disable:

0 commit comments

Comments
 (0)