Skip to content

Commit dfb2884

Browse files
committed
[CI] issue: 4007026 Unify pipeline files into one, change harbor url
Jenkins job builder (JJB) allows for multiple job definitions in one file, this will make it easier to share common variables such as folder or git url, as well as make it easier to maintain in the future. In the PDC site the harbor url is different and needs to be changed Merge all jjb files into one under proj_jjb.yaml Change registry url in release_matrix to match the PDC harbor url Remove the latest_release link from do_release script, requrest by the dev team Signed-off-by: NirWolfer <[email protected]>
1 parent 25f17b3 commit dfb2884

File tree

8 files changed

+259
-272
lines changed

8 files changed

+259
-272
lines changed

.ci/do_release.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,7 @@ if [ "${do_release}" = true ] ; then
7070

7171
sudo -E -u swx-jenkins mkdir -p "$DST_DIR"
7272
sudo -E -u swx-jenkins cp -v "${pkg_name}" "$DST_DIR"
73-
74-
cd "${release_folder}"
75-
sudo -E -u swx-jenkins ln -s "$DST_DIR/${pkg_name}" latest_release
76-
7773
echo "Release found at $DST_DIR"
78-
7974
else
8075
echo "do_release is set to false, skipping package release."
8176
fi
File renamed without changes.
File renamed without changes.

.ci/pipeline/proj_jjb.yaml

Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
- job-template:
2+
name: "{jjb_proj}"
3+
project-type: pipeline
4+
folder: "{jjb_folder}"
5+
properties:
6+
- github:
7+
url: "https://github.com/Mellanox/libvma"
8+
- build-discarder:
9+
days-to-keep: 50
10+
num-to-keep: 20
11+
- inject:
12+
keep-system-variables: true
13+
properties-content: |
14+
jjb_proj={jjb_proj}
15+
description: Do NOT edit this job through the Web GUI !
16+
concurrent: false
17+
parameters:
18+
- string:
19+
name: "sha1"
20+
default: "{jjb_branch}"
21+
description: "Commit to be checked, set by PR"
22+
- bool:
23+
name: "build_dockers"
24+
default: false
25+
description: "Rebuild docker containers. Check this box if .ci/DockerFile* was changed"
26+
- string:
27+
name: "conf_file"
28+
default: ".ci/matrix_job.yaml"
29+
description: "Regex to select job config file. Do not change it"
30+
- string:
31+
name: "DEBUG"
32+
default: 0
33+
description: "Enable debug prints and traces, valid values are 0-9."
34+
- bool:
35+
name: "do_build"
36+
default: true
37+
description: "This verifies different configuration using gcc compiler."
38+
- bool:
39+
name: "do_compiler"
40+
default: true
41+
description: "Check ability to be built under icc, clang."
42+
- bool:
43+
name: "do_package"
44+
default: true
45+
description: "Check tar, source and binary packages."
46+
- bool:
47+
name: "do_cppcheck"
48+
default: true
49+
description: "Run static analysis using cppcheck tool."
50+
- bool:
51+
name: "do_csbuild"
52+
default: true
53+
description: "Run static analysis using csbuild tool."
54+
- bool:
55+
name: "do_service"
56+
default: true
57+
description: "Verify service."
58+
- bool:
59+
name: "do_style"
60+
default: false
61+
description: "Analysis source code for coding style."
62+
- bool:
63+
name: "do_coverity"
64+
default: true
65+
description: "Launch coverity verification."
66+
- bool:
67+
name: "do_coverity_snapshot"
68+
default: false
69+
description: "Submit Coverity Static Analysis as a snapshot (normally it should be checked only for master branch after proper defects review)"
70+
- bool:
71+
name: "do_test"
72+
default: true
73+
description: "Use runtime verification."
74+
- bool:
75+
name: "do_gtest"
76+
default: true
77+
description: "Use google tests."
78+
- bool:
79+
name: "do_valgrind"
80+
default: true
81+
description: "Use valgrind."
82+
- bool:
83+
name: "do_commit"
84+
default: true
85+
description: "Use commit message check."
86+
- bool:
87+
name: "do_artifact"
88+
default: true
89+
description: "Collect artifacts."
90+
- bool:
91+
name: "do_blackduck"
92+
default: false
93+
description: "Run BlackDuck."
94+
- bool:
95+
name: "do_copyrights"
96+
default: true
97+
description: "Check copyrights in source headers"
98+
triggers:
99+
- github-pull-request:
100+
cron: 'H/5 * * * *'
101+
trigger-phrase: '.*\bbot:retest\b.*'
102+
status-context: "{jjb_proj}"
103+
success-status: "[PASS]"
104+
failure-status: "[FAIL]"
105+
error-status: "[FAIL]"
106+
status-add-test-results: true
107+
auth-id: '2806c206-c725-4d8c-af4b-bedfc463b401'
108+
org-list: ["Mellanox"]
109+
white-list: ["swx-jenkins","swx-jenkins2","swx-jenkins3","mellanox-github"]
110+
allow-whitelist-orgs-as-admins: true
111+
cancel-builds-on-update: true
112+
pipeline-scm:
113+
scm:
114+
- git:
115+
url: "{jjb_git}"
116+
credentials-id: 'b7d08ca7-378c-45d6-ac4b-3f30bdf49168'
117+
branches: ['$sha1']
118+
shallow-clone: true
119+
depth: 2
120+
refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
121+
browser: githubweb
122+
browser-url: "{jjb_git}"
123+
script-path: "{jjb_jenkinsfile}"
124+
125+
- job-template:
126+
name: "{jjb_proj}-redmine-checker"
127+
project-type: pipeline
128+
folder: "{jjb_folder}"
129+
properties:
130+
- github:
131+
url: "https://github.com/Mellanox/libvma"
132+
- build-discarder:
133+
days-to-keep: 30
134+
num-to-keep: 30
135+
- inject:
136+
keep-system-variables: true
137+
properties-content: |
138+
jjb_proj={jjb_proj}
139+
description: The job is checking the RM issue. Do NOT edit this job through the Web GUI !
140+
concurrent: true
141+
parameters:
142+
- string:
143+
name: "git_repository"
144+
default: "ssh://[email protected]/mellanox/libvma"
145+
description: "Git repository path."
146+
- string:
147+
name: "conf_file"
148+
default: ".ci/pipeline/redmine_matrix_job.yaml"
149+
description: "Regex to select job config file. Do not change it"
150+
- string:
151+
name: "MAIL_TO"
152+
default: "[email protected]"
153+
description: "Whitespace-separated list of recipient addresses."
154+
155+
wrappers:
156+
- workspace-cleanup
157+
- build-user-vars
158+
- timestamps
159+
160+
triggers:
161+
- github-pull-request:
162+
cron: 'H/5 * * * *'
163+
trigger-phrase: '.*\bbot:(?:rm:)?retest\b.*'
164+
status-context: "{jjb_proj}-redmine-checker"
165+
success-status: "[PASS]"
166+
failure-status: "[FAIL]"
167+
error-status: "[FAIL]"
168+
status-add-test-results: true
169+
auth-id: '2806c206-c725-4d8c-af4b-bedfc463b401'
170+
admin-list: ["Mellanox"]
171+
org-list: ["Mellanox"]
172+
white-list: ["Mellanox"]
173+
allow-whitelist-orgs-as-admins: true
174+
cancel-builds-on-update: true
175+
176+
pipeline-scm:
177+
scm:
178+
- git:
179+
url: "{jjb_git}"
180+
credentials-id: 'b7d08ca7-378c-45d6-ac4b-3f30bdf49168'
181+
branches: ['$sha1']
182+
shallow-clone: true
183+
depth: 2
184+
refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
185+
browser: githubweb
186+
browser-url: "{jjb_git}"
187+
script-path: "{jjb_jenkinsfile}"
188+
189+
- job-template:
190+
name: "{jjb_proj}-release"
191+
project-type: pipeline
192+
folder: "{jjb_folder}"
193+
properties:
194+
- github:
195+
url: "https://github.com/Mellanox/libvma"
196+
- build-discarder:
197+
days-to-keep: 50
198+
num-to-keep: 20
199+
- inject:
200+
keep-system-variables: true
201+
properties-content: |
202+
jjb_proj={jjb_proj}
203+
description: Do NOT edit this job through the Web GUI !
204+
concurrent: false
205+
parameters:
206+
- string:
207+
name: "release_tag"
208+
default: ""
209+
description: "Tag to release"
210+
- string:
211+
name: sha1
212+
default: 'tags/$release_tag'
213+
description: 'commit to use, defaults to the commit tag provided under release_tag'
214+
- string:
215+
name: "revision"
216+
default: "1"
217+
description: "Release revision"
218+
- string:
219+
name: "release_folder"
220+
default: "/auto/mswg/release/vma"
221+
description: "Folder to release packages into"
222+
- bool:
223+
name: "do_release"
224+
default: true
225+
description: "Release build packges into the release folder, set to false for debugging"
226+
- string:
227+
name: "notification_email"
228+
default: "[email protected]"
229+
description: "Email to send report to upon success/failure"
230+
- string:
231+
name: "conf_file"
232+
default: ".ci/pipeline/release_matrix_job.yaml"
233+
description: "job config file. Do not change it"
234+
pipeline-scm:
235+
scm:
236+
- git:
237+
url: "{jjb_git}"
238+
credentials-id: 'b7d08ca7-378c-45d6-ac4b-3f30bdf49168'
239+
branches: ['$sha1']
240+
shallow-clone: true
241+
depth: 2
242+
refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
243+
browser: githubweb
244+
browser-url: "{jjb_git}"
245+
script-path: "{jjb_jenkinsfile}"
246+
247+
- project:
248+
name: libvma
249+
jjb_email: '[email protected]'
250+
jjb_proj: 'LibVMA'
251+
jjb_git: '[email protected]:Mellanox/libvma.git'
252+
jjb_owner: 'Nir Wolfer'
253+
jjb_jenkinsfile: '.ci/pipeline/Jenkinsfile.shlib'
254+
jjb_folder: 'libvma'
255+
jjb_branch: 'master'
256+
jobs:
257+
- "{jjb_proj}"
258+
- "{jjb_proj}-redmine-checker"
259+
- "{jjb_proj}-release"
File renamed without changes.

.ci/pipeline/release_jjb.yaml

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)