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}'
85 source /tmp/v/tox/bin/activate
86 for f in $(find $GERRIT_PROJECT -name tox.ini); do
96 # Skip RPM build in case no *.spec file is found within the {project-to-build}
97 if [ -n "$(find {project-to-build} -name '*.spec')" ]
99 sudo yum install -y createrepo
100 ta/build-tools/build_rpms.sh \
112 git clone {git-url}/{project} {project}
114 if echo {ref} | grep -q "refs/"; then
115 git fetch origin {ref}
116 git checkout FETCH_HEAD
123 name: ta-lf-infra-ship-rpms
125 # Ensure no pre-existing .netrc files are overriding logs config
126 - lf-provide-maven-settings-cleanup
127 - config-file-provider:
129 - file-id: 'ta-settings'
130 variable: 'SETTINGS_FILE'
132 properties-content: 'ALT_NEXUS_URL=https://nexus3.akraino.org'
133 - lf-infra-create-netrc:
134 server-id: rpm.snapshots
135 - shell: !include-raw:
136 # Ensure python-tools are installed in case job template does not
137 # call the lf-infra-pre-build macro.
138 - ../../global-jjb/shell/python-tools-install.sh
139 - ../shell/ta-rpm-deploy.sh
140 - shell: !include-raw:
141 - ../../global-jjb/shell/logs-clear-credentials.sh
143 properties-content: 'ALT_NEXUS_URL='
146 name: ta-lf-infra-ship-isos
148 # Ensure no pre-existing .netrc files are overriding logs config
149 - lf-provide-maven-settings-cleanup
150 - config-file-provider:
152 - file-id: 'ta-settings'
153 variable: 'SETTINGS_FILE'
154 - lf-infra-create-netrc:
155 server-id: images-snapshots
156 - shell: !include-raw:
157 # Ensure python-tools are installed in case job template does not
158 # call the lf-infra-pre-build macro.
159 - ../../global-jjb/shell/python-tools-install.sh
160 - ../shell/ta-iso-deploy.sh
161 - shell: !include-raw:
162 - ../../global-jjb/shell/logs-clear-credentials.sh
165 name: ta-builder-job-verify
169 project: 'ta/manifest'
170 ref: '$SCM_REFSPEC_MANIFEST'
173 project: 'ta/build-tools'
174 ref: '$SCM_REFSPEC_BUILD_TOOLS'
177 project: 'ta/rpmbuilder'
178 ref: '$SCM_REFSPEC_RPMBUILDER'
181 project-to-build: '$GERRIT_PROJECT'
184 name: ta-builder-job-verify-ta-rpmbuilder
188 project: 'ta/manifest'
189 ref: '$SCM_REFSPEC_MANIFEST'
192 project: 'ta/build-tools'
193 ref: '$SCM_REFSPEC_BUILD_TOOLS'
196 project: '$SCM_PROJECT_TO_BUILD'
197 ref: '$SCM_PROJECT_TO_BUILD_REFSPEC'
200 # Just package some random project to verify "rpmbuilder" changes
201 project-to-build: '$SCM_PROJECT_TO_BUILD'
204 name: ta-builder-job-merge
208 project: 'ta/manifest'
209 ref: '$SCM_REFSPEC_MANIFEST'
212 project: 'ta/build-tools'
213 ref: '$SCM_REFSPEC_BUILD_TOOLS'
216 project: 'ta/rpmbuilder'
217 ref: '$SCM_REFSPEC_RPMBUILDER'
219 project-to-build: '$GERRIT_PROJECT'
220 - ta-lf-infra-ship-rpms
223 name: ta-builder-install-docker
226 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
227 sudo yum -y install docker-ce docker-ce-cli containerd.io
228 sudo mkdir -p /etc/docker/
229 echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
230 sudo systemctl start docker
231 # Ugly hack to make docker usable for non-root
232 # (adding to the group would require re-login)
233 sudo chmod 777 /var/run/docker.sock
236 name: ta-builder-install-build-tools
239 sudo yum -y install createrepo libguestfs-tools-c jq
240 sudo systemctl start libvirtd
241 systemctl status libvirtd
248 name: ta-trigger-job-verify
251 server-name: '{gerrit-server-name}'
253 - patchset-created-event:
254 exclude-drafts: 'false'
255 exclude-trivial-rebase: 'false'
256 exclude-no-code-change: 'false'
257 - draft-published-event
258 - comment-added-contains-event:
259 comment-contains-value: 'recheck'
260 - comment-added-contains-event:
261 comment-contains-value: 'reverify'
263 - project-compare-type: 'ANT'
264 project-pattern: '{project}'
266 - branch-compare-type: 'ANT'
267 branch-pattern: '**/{branch}'
268 readable-message: true
271 name: ta-trigger-job-merge
274 server-name: '{gerrit-server-name}'
276 # Not sure if it would be better to use "change-merged" here and just clone the master
277 # branch. With the current approach the SCM can be identical in verify and merge jobs.
279 - comment-added-contains-event:
280 comment-contains-value: 'remerge'
282 - project-compare-type: 'ANT'
283 project-pattern: '{project}'
285 - branch-compare-type: 'ANT'
286 branch-pattern: '**/{branch}'
287 readable-message: true
294 name: ta-publisher-job-verify
299 name: ta-publisher-job-merge
302 - trigger-parameterized-builds:
303 - project: 'ta-ci-build'
304 condition: UNSTABLE_OR_BETTER
305 trigger-with-no-params: true