-
Notifications
You must be signed in to change notification settings - Fork 6
/
.gitlab-ci.yml
153 lines (138 loc) · 3.56 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
variables:
GIT_SUBMODULE_STRATEGY: recursive
default:
image: ${ENVOY_PROXY_IMAGE_HUB}/envoy-build-ubuntu:81a93046060dbe5620d5b3aa92632090a9ee4da6
stages:
- start
- check
- test
- coverage
- build
- release
code_format_check:
stage: start
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh check_format
tags:
- envoy-proxy-git-runner
merge_title_check:
stage: start
rules:
- if: $CI_MERGE_REQUEST_ID
script:
- FT=${CI_MERGE_REQUEST_TITLE_FORMAT:-".*"}
- TT=${CI_MERGE_REQUEST_TITLE}
- if [[ ! ${TT} =~ ${FT} ]]; then
- echo "Error format for MR."
- exit 1
- fi
tags:
- envoy-proxy-git-runner
clang_tidy_check:
stage: start
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh clang_tidy
tags:
- envoy-proxy-git-runner
unit_test_check_opt:
stage: test
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh unit_test_opt
tags:
- envoy-proxy-git-runner
unit_test_check_dbg:
stage: test
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh unit_test_dbg
tags:
- envoy-proxy-git-runner
unit_test_check_asan:
stage: test
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh unit_test_asan
tags:
- envoy-proxy-git-runner
unit_test_check_tsan:
stage: test
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh unit_test_tsan
tags:
- envoy-proxy-git-runner
unit_test_check_msan:
stage: test
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh unit_test_msan
tags:
- envoy-proxy-git-runner
unit_coverage_check:
stage: coverage
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
coverage: '/lines\.{6}: (\d+(\.\d+)?%) \(.+\)/'
script:
- ci/do_ci.sh unit_coverage
tags:
- envoy-proxy-git-runner
binary_build_check:
stage: build
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH =~ /^(master|main|release).*/
script:
- ci/do_ci.sh build_opt
tags:
- envoy-proxy-git-runner
tagged_image_release_amd64:
image:
name: ${ENVOY_PROXY_IMAGE_HUB}/envoy-build-ubuntu:81a93046060dbe5620d5b3aa92632090a9ee4da6@sha256:7046e39b4e3126e442fed66d3cbf935b2a75f83c9ca0cf5b53d94190998053fe
stage: release
rules:
- if: $CI_COMMIT_TAG != null
before_script:
- REPO=${ENVOY_PROXY_IMAGE_HUB}
- USER=${ENVOY_PROXY_IMAGE_HUB_USER}
- PASS=${ENVOY_PROXY_IMAGE_HUB_PASS}
- docker login "${REPO}" -u "${USER}" -p "${PASS}"
script:
- ci/docker_ci.sh stripped_opt
- ci/docker_ci.sh no_stripped_opt
tags:
- envoy-proxy-git-runner
tagged_image_release_arm64:
image:
name: ${ENVOY_PROXY_IMAGE_HUB}/envoy-build-ubuntu:81a93046060dbe5620d5b3aa92632090a9ee4da6@sha256:fcc98dbdf7c05a9f052bc958b5419254dfb72687dd837b2380ae6b29a30b8020
stage: release
rules:
- if: $CI_COMMIT_TAG != null
before_script:
- REPO=${ENVOY_PROXY_IMAGE_HUB}
- USER=${ENVOY_PROXY_IMAGE_HUB_USER}
- PASS=${ENVOY_PROXY_IMAGE_HUB_PASS}
- docker login "${REPO}" -u "${USER}" -p "${PASS}"
script:
- ci/docker_ci.sh stripped_opt
- ci/docker_ci.sh no_stripped_opt
tags:
- envoy-proxy-git-runner