-
Notifications
You must be signed in to change notification settings - Fork 33
/
.gitlab-ci.yml
86 lines (77 loc) · 1.7 KB
/
.gitlab-ci.yml
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
.go-cache:
variables:
GOPATH: $CI_PROJECT_DIR/.go
before_script:
- mkdir -p .go
cache:
- key: "golang"
paths:
- .go/pkg/mod/
after_script:
- find $XCACHE -type f
default:
tags:
- k3-nks-tiny
image: k3-local.artifactory-espoo2.int.net.nokia.com/k3ci/default:latest
variables:
XCACHE: "/xcache"
stages:
- build
- test
- deploy
golang:1.20:
stage: test
image: golang:1.20
script:
- go test ./...
golang:latest:
stage: test
image: golang:latest
extends: .go-cache
script:
- go install gotest.tools/gotestsum@latest
- $GOPATH/bin/gotestsum --junitfile report-junit.xml --format testname -- -race ./...
artifacts:
reports:
junit: report-junit.xml
coverage:
stage: test
image: golang:latest
extends: .go-cache
needs: []
script:
- go install github.com/boumenot/gocover-cobertura@latest
- go test -coverprofile=coverage.out -covermode count ./...
- $GOPATH/bin/gocover-cobertura <coverage.out >report-coverage.xml
coverage: '/coverage: \d+.\d+% of statements/'
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: report-coverage.xml
lint:
stage: test
image: golangci/golangci-lint:v1.59.1
needs: []
script:
- golangci-lint run --color=always --issues-exit-code=0 --out-format=code-climate:report-lint.json,colored-line-number:stdout
artifacts:
reports:
codequality: report-lint.json
paths:
- report-lint.json
trigger-k3:
stage: test
variables:
NTT_COMMIT_SHA: ${CI_COMMIT_SHA}
needs: []
trigger:
project: k3/k3
strategy: depend
update-k3:
stage: deploy
only:
refs:
- master
script:
- .gitlab/update-k3