Merge "[fuel, armband] Fix broken regex in cond (2)"
[releng.git] / jjb / releng / testresults-automate.yml
1 ---
2 - project:
3     name: testresults-automate
4     stream:
5       - master:
6           branch: '{stream}'
7
8     module:
9       - 'testapi'
10       - 'reporting'
11
12     phase:
13       - 'docker-deploy':
14           slave-label: 'testresults'
15       - 'generate-doc'
16
17     jobs:
18       - '{module}-automate-{stream}'
19       - '{module}-automate-{phase}-{stream}'
20
21     project: 'releng-testresults'
22
23 - job:
24     name: 'testapi-mongodb-backup'
25
26     parameters:
27       - label:
28           name: SLAVE_LABEL
29           default: 'testresults'
30           description: 'Slave label on Jenkins'
31       - project-parameter:
32           project: 'releng-testresults'
33           branch: 'master'
34       - string:
35           name: GIT_BASE
36           default: https://gerrit.opnfv.org/gerrit/releng-testresults
37           description: 'Git URL to use on this Jenkins Slave'
38
39     scm:
40       - git-scm
41
42     triggers:
43       - timed: '@weekly'
44
45     builders:
46       - mongodb-backup
47
48     publishers:
49       - email:
50           recipients: serena.feng.711@gmail.com
51           notify-every-unstable-build: true
52           send-to-individuals: true
53
54 - job-template:
55     name: '{module}-automate-{stream}'
56
57     project-type: multijob
58
59     properties:
60       - throttle:
61           enabled: true
62           max-total: 1
63           max-per-node: 1
64           option: 'project'
65
66     parameters:
67       - project-parameter:
68           project: '{project}'
69           branch: '{branch}'
70       - string:
71           name: DOCKER_TAG
72           default: 'latest'
73           description: 'Tag name for {module} docker image'
74       - string:
75           name: MODULE_NAME
76           default: '{module}'
77           description: "Name of the module"
78       - 'opnfv-build-defaults'
79
80     scm:
81       - git-scm
82
83     wrappers:
84       - ssh-agent-wrapper
85       - timeout:
86           timeout: 360
87           fail: true
88
89     triggers:
90       - gerrit-trigger-change-merged:
91           project: '**'
92           branch: '{branch}'
93           files: '{module}/**'
94
95     builders:
96       - description-setter:
97           description: "Built on $NODE_NAME"
98       - docker-update
99       - multijob:
100           name: docker-deploy
101           condition: SUCCESSFUL
102           projects:
103             - name: '{module}-automate-docker-deploy-{stream}'
104               current-parameters: false
105               predefined-parameters: |
106                 GIT_BASE=$GIT_BASE
107               node-label-name: SLAVE_LABEL
108               node-label: testresults
109               kill-phase-on: FAILURE
110               abort-all-job: true
111       - multijob:
112           name: generate-doc
113           condition: SUCCESSFUL
114           projects:
115             - name: '{module}-automate-generate-doc-{stream}'
116               current-parameters: true
117               kill-phase-on: FAILURE
118               abort-all-job: true
119
120     publishers:
121       - 'email-publisher'
122       - email-jenkins-admins-on-failure
123
124 - job-template:
125     name: '{module}-automate-{phase}-{stream}'
126
127     properties:
128       - throttle:
129           enabled: true
130           max-per-node: 1
131           option: 'project'
132
133     parameters:
134       - project-parameter:
135           project: '{project}'
136           branch: '{branch}'
137
138     wrappers:
139       - ssh-agent-wrapper
140       - timeout:
141           timeout: 120
142           fail: true
143
144     scm:
145       - git-scm
146
147     builders:
148       - description-setter:
149           description: "Built on $NODE_NAME"
150       - '{module}-automate-{phase}-macro'
151
152 ################################
153 # job builders
154 ################################
155 - builder:
156     name: 'docker-update'
157     builders:
158       - shell: |
159           bash ./ci/docker-update.sh
160
161 - builder:
162     name: 'testapi-automate-generate-doc-macro'
163     builders:
164       - 'testapi-doc-build'
165       - 'upload-doc-artifact'
166
167 - builder:
168     name: 'testapi-doc-build'
169     builders:
170       - shell: |
171           bash ./ci/htmlize/doc-build.sh
172
173 - builder:
174     name: 'upload-doc-artifact'
175     builders:
176       - shell: |
177            bash ./ci/htmlize/push-doc-artifacts.sh
178
179 - builder:
180     name: 'reporting-automate-generate-doc-macro'
181     builders:
182       - shell: echo "To Be Done"
183
184 - builder:
185     name: 'testapi-automate-docker-deploy-macro'
186     builders:
187       - shell: |
188           sudo bash ./ci/docker-deploy.sh "sudo docker run -dti --name testapi -p 8082:8000
189           -e mongodb_url=mongodb://172.17.0.1:27017
190           -e base_url=http://testresults.opnfv.org/test opnfv/testapi" \
191           "http://testresults.opnfv.org/test/" "testapi"
192
193 - builder:
194     name: 'reporting-automate-docker-deploy-macro'
195     builders:
196       - shell: |
197           sudo bash ./ci/docker-deploy.sh \
198           "sudo docker run -itd --name reporting -p 8084:8000 opnfv/reporting" \
199           "http://testresults.opnfv.org/reporting/index.html" "reporting"
200
201 - builder:
202     name: mongodb-backup
203     builders:
204       - shell:
205           bash ./ci/testapi-backup-mongodb.sh
206
207 ################################
208 # job publishers
209 ################################
210
211 - publisher:
212     name: 'email-publisher'
213     publishers:
214       - email:
215           recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn morgan.richomme@orange.com
216           notify-every-unstable-build: false
217           send-to-individuals: true