summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 3c830e621ab8a9f24e48d0cd4435e71db9e6058c (plain)
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
37
38
39
---

stages:
  - test
  - validate

test:
  image: golang:alpine
  stage: test
  script:
    - apk add build-base
    - go test -v ./...
  tags:
    - linux

validate:
  image: golang:alpine
  stage: test
  script: |
      apk add build-base git
      go version
      go env

      go install honnef.co/go/tools/cmd/staticcheck@latest
      go install github.com/securego/gosec/v2/cmd/gosec@latest

      export PATH=$(go env GOPATH)/bin:$PATH

      go vet ./...
      gofmt -s -l . && [ -z "$(gofmt -s -l .)" ]

      # See: https://staticcheck.io/docs/checks
      staticcheck -checks inherit,ST1000,ST1016,ST1020,ST1021,ST1022,ST1023 ./...
      # gosec does not handle modules correctly.
      # See: https://github.com/securego/gosec/issues/622
      gosec -exclude-dir=obfsproxy ./...

      go mod tidy
      git diff --exit-code -- go.mod go.sum