Merge "Redirect job output to file and archive them"
[releng.git] / jjb / fuel / fuel-ci-jobs.yml
1 - project:
2
3     name: 'fuel'
4
5     project: '{name}'
6
7     installer: '{name}'
8
9 #--------------------------------
10 # BRANCH ANCHORS
11 #--------------------------------
12     master: &master
13         stream: master
14         branch: '{stream}'
15         gs-pathname: ''
16     brahmaputra: &brahmaputra
17         stream: brahmaputra
18         branch: 'stable/{stream}'
19         gs-pathname: '/{stream}'
20 #--------------------------------
21 # POD, INSTALLER, AND BRANCH MAPPING
22 #--------------------------------
23 #        brahmaputra
24 #--------------------------------
25     pod:
26         - opnfv-jump-2:
27             <<: *brahmaputra
28 #--------------------------------
29 #        master
30 #--------------------------------
31         - ericsson-pod1:
32             <<: *master
33         - ericsson-pod2:
34             <<: *master
35 #--------------------------------
36
37 # please check the triggers before enabling any of the controllers!!!
38     sdn-controller:
39         - 'nosdn'
40
41     jobs:
42         - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
43         - 'fuel-deploy-{pod}-daily-{stream}'
44
45 ########################
46 # job templates - old type of defining the scenario
47 ########################
48 - job-template:
49     name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
50
51     project-type: multijob
52
53     concurrent: false
54
55     properties:
56         - throttle:
57             enabled: true
58             max-total: 1
59             max-per-node: 1
60         - build-blocker:
61             use-build-blocker: true
62             blocking-jobs:
63                 - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
64
65     wrappers:
66         - build-name:
67             name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
68
69     triggers:
70         - 'fuel-{pod}-{sdn-controller}-trigger'
71
72     parameters:
73         - project-parameter:
74             project: '{project}'
75         - '{pod}-defaults'
76         - '{installer}-defaults'
77         - string:
78             name: SDN_CONTROLLER
79             default: '{sdn-controller}'
80         - string:
81             name: DEPLOY_SCENARIO
82             default: 'none'
83         - fuel-ci-parameter:
84             gs-pathname: '{gs-pathname}'
85
86     scm:
87         - git-scm:
88             credentials-id: '{ssh-credentials}'
89             refspec: ''
90             branch: '{branch}'
91
92     builders:
93         - multijob:
94             name: deploy
95             condition: SUCCESSFUL
96             projects:
97                 - name: 'fuel-deploy-{pod}-daily-{stream}'
98                   current-parameters: true
99                   git-revision: true
100                   kill-phase-on: FAILURE
101         - multijob:
102             name: functest
103             condition: COMPLETED
104             projects:
105                 - name: 'functest-fuel-{pod}-daily-{stream}'
106                   current-parameters: true
107                   kill-phase-on: NEVER
108         - multijob:
109             name: yardstick
110             condition: COMPLETED
111             projects:
112                 - name: 'yardstick-fuel-{pod}-daily-{stream}'
113                   current-parameters: true
114                   kill-phase-on: NEVER
115
116 - job-template:
117     name: 'fuel-deploy-{pod}-daily-{stream}'
118
119     concurrent: false
120
121     properties:
122         - throttle:
123             enabled: true
124             max-total: 1
125             max-per-node: 1
126         - build-blocker:
127             use-build-blocker: true
128             blocking-jobs:
129                 - 'fuel-deploy-{pod}-daily-{stream}.*'
130                 - 'functest-fuel-{pod}-daily-{stream}'
131                 - 'yardstick-fuel-{pod}-daily-{stream}'
132
133     parameters:
134         - project-parameter:
135             project: '{project}'
136         - '{pod}-defaults'
137         - '{installer}-defaults'
138         - fuel-ci-parameter:
139             gs-pathname: '{gs-pathname}'
140
141     scm:
142         - git-scm:
143             credentials-id: '{ssh-credentials}'
144             refspec: ''
145             branch: '{branch}'
146
147     wrappers:
148         - build-name:
149             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
150
151     builders:
152         - 'builder-{stream}'
153
154     publishers:
155         - email:
156             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
157 ########################
158 # parameter macros
159 ########################
160 - parameter:
161     name: fuel-ci-parameter
162     parameters:
163         - string:
164             name: BUILD_DIRECTORY
165             default: $WORKSPACE/build_output
166             description: "Directory where the build artifact will be located upon the completion of the build."
167         - string:
168             name: CACHE_DIRECTORY
169             default: $HOME/opnfv/cache/$INSTALLER_TYPE
170             description: "Directory where the cache to be used during the build is located."
171         - string:
172             name: GS_URL
173             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
174             description: "URL to Google Storage."
175 ########################
176 # builder macros
177 ########################
178 - builder:
179     name: 'builder-master'
180     builders:
181         - shell:
182             !include-raw: ./fuel-download-artifact.sh
183         - shell:
184             !include-raw: ./fuel-deploy-master.sh
185 - builder:
186     name: 'builder-brahmaputra'
187     builders:
188         - shell:
189             !include-raw: ./fuel-download-artifact.sh
190         - shell:
191             !include-raw: ./fuel-deploy.sh
192 ########################
193 # trigger macros
194 ########################
195 # trigger for opnfv-jump-2 is set to run 1 hour ahead of others
196 # to prevent doing unnecessary builds
197 - trigger:
198     name: 'fuel-opnfv-jump-2-nosdn-trigger'
199     triggers:
200         - timed: '0 2 * * *'
201 - trigger:
202     name: 'fuel-ericsson-pod1-nosdn-trigger'
203     triggers:
204         - timed: '0 2 * * *'
205 - trigger:
206     name: 'fuel-ericsson-pod2-nosdn-trigger'
207     triggers:
208         - timed: ''