Merge "Mount a local image store directory to qtip container."
[releng.git] / jjb / releng / releng-ci-jobs.yml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-sandbox'
6         - 'builder-merge'
7         - 'artifacts-api'
8
9     project: 'releng'
10
11 - job-template:
12     name: builder-verify-jjb
13
14     parameters:
15         - project-parameter:
16             project: '{project}'
17         - gerrit-parameter:
18             branch: 'master'
19     scm:
20         - gerrit-trigger-scm:
21             credentials-id: '{ssh-credentials}'
22             refspec: '$GERRIT_REFSPEC'
23             choosing-strategy: 'gerrit'
24
25     triggers:
26         - gerrit:
27             trigger-on:
28                 - patchset-created-event:
29                     exclude-drafts: 'false'
30                     exclude-trivial-rebase: 'false'
31                     exclude-no-code-change: 'false'
32                 - draft-published-event
33                 - comment-added-contains-event:
34                     comment-contains-value: 'recheck'
35                 - comment-added-contains-event:
36                     comment-contains-value: 'reverify'
37             projects:
38               - project-compare-type: 'ANT'
39                 project-pattern: 'releng'
40                 branches:
41                   - branch-compare-type: 'ANT'
42                     branch-pattern: '**/master'
43                 file-paths:
44                     - compare-type: ANT
45                       pattern: jjb/**
46                     - compare-type: ANT
47                       pattern: jjb-templates/**
48                     - compare-type: ANT
49                       pattern: utils/**
50
51
52     builders:
53         - shell:
54             !include-raw: verify-releng.sh
55
56     publishers:
57         - archive-artifacts:
58             artifacts: 'job_output/*'
59
60 - job-template:
61     name: 'builder-merge'
62
63     # builder-merge job to run JJB update
64     #
65     # This job's purpose is to update all the JJB
66
67     parameters:
68         - project-parameter:
69             project: '{project}'
70         - gerrit-parameter:
71             branch: 'master'
72
73     scm:
74         - gerrit-trigger-scm:
75             credentials-id: '{ssh-credentials}'
76             refspec: ''
77             choosing-strategy: 'default'
78
79     triggers:
80         - gerrit:
81             trigger-on:
82                 - change-merged-event
83                 - comment-added-contains-event:
84                     comment-contains-value: 'remerge'
85             projects:
86               - project-compare-type: 'ANT'
87                 project-pattern: 'releng'
88                 branches:
89                     - branch-compare-type: 'ANT'
90                       branch-pattern: '**/master'
91                 file-paths:
92                     - compare-type: ANT
93                       pattern: jjb/**
94                     - compare-type: ANT
95                       pattern: utils/**
96
97     builders:
98         - shell: |
99                 source /opt/virtualenv/jenkins-job-builder/bin/activate
100                 cd /opt/jenkins-ci/releng
101                 git pull
102                 jenkins-jobs update --delete-old jjb/
103
104 - job-template:
105     name: 'builder-sandbox'
106
107     # Upload all jjb jobs to sandbox instance, excluding jobs jjb
108     # builder jobs
109
110     parameters:
111         - project-parameter:
112             project: '{project}'
113         - gerrit-parameter:
114             branch: 'master'
115
116     scm:
117         - gerrit-trigger-scm:
118             credentials-id: '{ssh-credentials}'
119             refspec: ''
120             choosing-strategy: 'default'
121
122     triggers:
123         - gerrit:
124             trigger-on:
125                 - change-merged-event
126                 - comment-added-contains-event:
127                     comment-contains-value: 'remerge'
128             projects:
129               - project-compare-type: 'ANT'
130                 project-pattern: 'releng'
131                 branches:
132                     - branch-compare-type: 'ANT'
133                       branch-pattern: '**/sandbox'
134                 file-paths:
135                     - compare-type: ANT
136                       pattern: jjb/**
137                     - compare-type: ANT
138                       pattern: utils/**
139
140     builders:
141         - shell:
142             !include-raw: verify-releng.sh
143         - shell: |
144                 #!/bin/bash
145                 source /opt/virtualenv/jenkins-job-builder/bin/activate
146                 cd /opt/jenkins-ci/releng
147                 git pull
148                 cp /etc/jenkins_jobs/jenkins_jobs.ini jenkins_sandbox.ini
149                 sed -i 's/url=.*/url=https:\/\/sandbox.opnfv.org\//g' jenkins_sandbox.ini
150                 jenkins-jobs --conf jenkins_sandbox.ini update -r -x jjb/releng --delete-old jjb
151                 rm -f jenkins_sandbox.ini
152
153 - job-template:
154     name: 'artifacts-api'
155
156     # Generate and upload the JSON file to used for artifacts site
157
158     parameters:
159         - project-parameter:
160             project: '{project}'
161         - gerrit-parameter:
162             branch: 'master'
163
164     scm:
165         - gerrit-trigger-scm:
166             credentials-id: '{ssh-credentials}'
167             refspec: ''
168             choosing-strategy: 'default'
169
170     triggers:
171         - timed: '@hourly'
172
173     builders:
174         - build-and-upload-artifacts-json-api