-
Notifications
You must be signed in to change notification settings - Fork 0
36 lines (34 loc) · 1.14 KB
/
Copy pathci.yml
File metadata and controls
36 lines (34 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: gofmt
run: |
unformatted="$(gofmt -l .)"
if [ -n "$unformatted" ]; then
echo "These files are not gofmt-clean:"; echo "$unformatted"; exit 1
fi
- name: go vet
run: go vet ./...
- name: staticcheck
run: go run honnef.co/go/tools/cmd/staticcheck@latest ./...
- name: build
run: go build ./...
- name: test
run: go test -race ./...
- name: govulncheck
run: go run golang.org/x/vuln/cmd/govulncheck@latest ./...
- name: gosec
# Triaged-accepted under the private systemd StateDirectory= deployment: G304/G703
# (operator-controlled config / STATE_DIRECTORY paths) and G706 (log taint on operator /
# Telegram-supplied values, consumed by journald). The gate fails on any OTHER finding.
run: go run github.com/securego/gosec/v2/cmd/gosec@latest -exclude=G304,G703,G706 ./...