6 name: ta-parameters-manifest
9 default: refs/heads/master
11 name: SCM_REFSPEC_MANIFEST
15 name: ta-parameters-build-tools
18 default: refs/heads/master
20 name: SCM_REFSPEC_BUILD_TOOLS
24 name: ta-parameters-rpmbuilder
27 default: refs/heads/master
29 name: SCM_REFSPEC_RPMBUILDER
33 name: ta-parameters-ci
35 - ta-parameters-manifest
36 - ta-parameters-build-tools
37 - ta-parameters-rpmbuilder
40 name: ta-parameters-ci-ta-rpmbuilder
42 - ta-parameters-manifest
43 - ta-parameters-build-tools
47 name: SCM_PROJECT_TO_BUILD
50 default: refs/heads/master
52 name: SCM_PROJECT_TO_BUILD_REFSPEC
59 # Enhanced version of the global-jjb
60 name: ta-lf-infra-gerrit-scm
63 credentials-id: '{jenkins-ssh-credential}'
67 - 'refs/heads/{branch}'
71 recursive: '{submodule-recursive}'
72 timeout: '{submodule-timeout}'
73 choosing-strategy: '{choosing-strategy}'
80 name: lf-display-node-uuid
83 echo "---> Node UUID:"
84 curl -s http://169.254.169.254/openstack/latest/meta_data.json | python -c 'import sys, json; data = json.load(sys.stdin); print(data["uuid"])'
92 source /tmp/v/tox/bin/activate
93 for f in $(find $GERRIT_PROJECT -name tox.ini); do
103 # Skip RPM build in case no *.spec file is found within the {project-to-build}
104 if [ -n "$(find {project-to-build} -name '*.spec')" ]
106 sudo yum install -y createrepo
107 ta/build-tools/build_rpms.sh \
119 git clone {git-url}/{project} {project}
121 if echo {ref} | grep -q "refs/"; then
122 git fetch origin {ref}
123 git checkout FETCH_HEAD
130 name: ta-lf-infra-ship-rpms
132 # Ensure no pre-existing .netrc files are overriding logs config
133 - lf-provide-maven-settings-cleanup
134 - config-file-provider:
136 - file-id: 'ta-settings'
137 variable: 'SETTINGS_FILE'
139 properties-content: 'ALT_NEXUS_URL=https://nexus3.akraino.org'
140 - lf-infra-create-netrc:
141 server-id: rpm.snapshots
142 - shell: !include-raw:
143 # Ensure python-tools are installed in case job template does not
144 # call the lf-infra-pre-build macro.
145 - ../../global-jjb/shell/python-tools-install.sh
146 - ../shell/ta-rpm-deploy.sh
147 - shell: !include-raw:
148 - ../../global-jjb/shell/logs-clear-credentials.sh
150 properties-content: 'ALT_NEXUS_URL='
153 name: ta-lf-infra-ship-isos
155 # Ensure no pre-existing .netrc files are overriding logs config
156 - lf-provide-maven-settings-cleanup
157 - config-file-provider:
159 - file-id: 'ta-settings'
160 variable: 'SETTINGS_FILE'
161 - lf-infra-create-netrc:
162 server-id: images-snapshots
163 - shell: !include-raw:
164 # Ensure python-tools are installed in case job template does not
165 # call the lf-infra-pre-build macro.
166 - ../../global-jjb/shell/python-tools-install.sh
167 - ../shell/ta-iso-deploy.sh
168 - shell: !include-raw:
169 - ../../global-jjb/shell/logs-clear-credentials.sh
172 name: ta-builder-job-verify
176 project: 'ta/manifest'
177 ref: '$SCM_REFSPEC_MANIFEST'
180 project: 'ta/build-tools'
181 ref: '$SCM_REFSPEC_BUILD_TOOLS'
184 project: 'ta/rpmbuilder'
185 ref: '$SCM_REFSPEC_RPMBUILDER'
188 project-to-build: '$GERRIT_PROJECT'
191 name: ta-builder-job-verify-ta-rpmbuilder
195 project: 'ta/manifest'
196 ref: '$SCM_REFSPEC_MANIFEST'
199 project: 'ta/build-tools'
200 ref: '$SCM_REFSPEC_BUILD_TOOLS'
203 project: '$SCM_PROJECT_TO_BUILD'
204 ref: '$SCM_PROJECT_TO_BUILD_REFSPEC'
207 # Just package some random project to verify "rpmbuilder" changes
208 project-to-build: '$SCM_PROJECT_TO_BUILD'
211 name: ta-builder-job-merge
215 project: 'ta/manifest'
216 ref: '$SCM_REFSPEC_MANIFEST'
219 project: 'ta/build-tools'
220 ref: '$SCM_REFSPEC_BUILD_TOOLS'
223 project: 'ta/rpmbuilder'
224 ref: '$SCM_REFSPEC_RPMBUILDER'
226 project-to-build: '$GERRIT_PROJECT'
227 - ta-lf-infra-ship-rpms
230 name: ta-builder-install-docker
233 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
234 sudo yum -y install docker-ce docker-ce-cli containerd.io
235 sudo mkdir -p /etc/docker/
236 echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
237 sudo systemctl start docker
238 # Ugly hack to make docker usable for non-root
239 # (adding to the group would require re-login)
240 sudo chmod 777 /var/run/docker.sock
243 name: ta-builder-install-build-tools
246 sudo yum -y install createrepo libguestfs-tools-c jq
247 sudo systemctl start libvirtd
248 systemctl status libvirtd
255 name: ta-trigger-job-verify
258 server-name: '{gerrit-server-name}'
260 - patchset-created-event:
261 exclude-drafts: 'false'
262 exclude-trivial-rebase: 'false'
263 exclude-no-code-change: 'false'
264 - draft-published-event
265 - comment-added-contains-event:
266 comment-contains-value: 'recheck'
267 - comment-added-contains-event:
268 comment-contains-value: 'reverify'
270 - project-compare-type: 'ANT'
271 project-pattern: '{project}'
273 - branch-compare-type: 'ANT'
274 branch-pattern: '**/{branch}'
275 readable-message: true
278 name: ta-trigger-job-merge
281 server-name: '{gerrit-server-name}'
283 # Not sure if it would be better to use "change-merged" here and just clone the master
284 # branch. With the current approach the SCM can be identical in verify and merge jobs.
286 - comment-added-contains-event:
287 comment-contains-value: 'remerge'
289 - project-compare-type: 'ANT'
290 project-pattern: '{project}'
292 - branch-compare-type: 'ANT'
293 branch-pattern: '**/{branch}'
294 readable-message: true
301 name: ta-publisher-job-verify
306 name: ta-publisher-job-merge
309 - trigger-parameterized-builds:
310 - project: 'ta-ci-build'
311 condition: UNSTABLE_OR_BETTER
312 trigger-with-no-params: true