jjb: move 'node: master' to releng-defaults.yaml
[releng.git] / jjb / pharos / pharos.yml
1 #################################
2 # job configuration for pharos
3 #################################
4 - project:
5     name: pharos
6     jobs:
7         - 'pharos-daily-{stream}'
8         - 'pharos-merge-{stream}'
9         - 'pharos-verify-{stream}'
10         - 'pharos-maas-pilot-{stream}'
11
12     # stream:    branch with - in place of / (eg. stable-arno)
13     # branch:    branch (eg. stable/arno)
14     stream:
15         - master:
16             branch: 'master'
17             gs-pathname: ''
18         - stable-arno:
19             branch: 'stable/arno'
20             gs-pathname: '/arno'
21
22     project: 'pharos'
23     somevar: 'foo'
24 ##############################
25 # job template
26 ##############################
27 - job-template:
28     name: 'pharos-daily-{stream}'
29
30     # Job template for daily builders
31     #
32     # Required Variables:
33     #     stream:    branch with - in place of / (eg. stable)
34     #     branch:    branch (eg. stable)
35
36     varsetabove: '{somevar}'
37
38     logrotate:
39         daysToKeep: '{build-days-to-keep}'
40         numToKeep: '{build-num-to-keep}'
41         artifactDaysToKeep: '{build-artifact-days-to-keep}'
42         artifactNumToKeep: '{build-artifact-num-to-keep}'
43
44     parameters:
45         - project-parameter:
46             project: '{project}'
47         - pharos-parameter:
48             gs-pathname: '{gs-pathname}'
49
50     scm:
51         - git-scm:
52             credentials-id: '{ssh-credentials}'
53             refspec: ''
54             branch: '{branch}'
55
56     triggers:
57         - 'pharos-{stream}'
58
59     prebuilders:
60         - test-macro
61
62     builders:
63         - shell:
64             !include-raw ../opnfvdocs/docu-build.sh
65
66     postbuilders:
67         - test-macro
68
69 - job-template:
70     name: 'pharos-verify-{stream}'
71
72     logrotate:
73         daysToKeep: 30
74         numToKeep: 10
75         artifactDaysToKeep: -1
76         artifactNumToKeep: -1
77
78     parameters:
79         - project-parameter:
80             project: '{project}'
81         - gerrit-parameter:
82             branch: '{branch}'
83     scm:
84         - gerrit-trigger-scm:
85             credentials-id: '{ssh-credentials}'
86             refspec: '$GERRIT_REFSPEC'
87             choosing-strategy: 'gerrit'
88
89     triggers:
90         - gerrit:
91             trigger-on:
92                 - patchset-created-event:
93                     exclude-drafts: 'false'
94                     exclude-trivial-rebase: 'false'
95                     exclude-no-code-change: 'false'
96                 - draft-published-event
97                 - comment-added-contains-event:
98                     comment-contains-value: 'recheck'
99                 - comment-added-contains-event:
100                     comment-contains-value: 'reverify'
101             projects:
102               - project-compare-type: 'ANT'
103                 project-pattern: 'pharos'
104                 branches:
105                   - branch-compare-type: 'ANT'
106                     branch-pattern: '**/{branch}'
107
108     builders:
109         - shell:
110             !include-raw ../opnfvdocs/docu-build.sh
111
112 - job-template:
113     name: 'pharos-merge-{stream}'
114
115     # builder-merge job to run JJB update
116     #
117     # This job's purpose is to update all the JJB
118
119     logrotate:
120         daysToKeep: 30
121         numToKeep: 40
122         artifactDaysToKeep: -1
123         artifactNumToKeep: 5
124
125     parameters:
126         - project-parameter:
127             project: '{project}'
128         - gerrit-parameter:
129             branch: '{branch}'
130
131     scm:
132         - gerrit-trigger-scm:
133             credentials-id: '{ssh-credentials}'
134             refspec: ''
135             choosing-strategy: 'default'
136
137     triggers:
138         - gerrit:
139             trigger-on:
140                 - change-merged-event
141                 - comment-added-contains-event:
142                     comment-contains-value: 'remerge'
143             projects:
144               - project-compare-type: 'ANT'
145                 project-pattern: 'pharos'
146                 branches:
147                     - branch-compare-type: 'ANT'
148                       branch-pattern: '**/{branch}'
149
150     builders:
151         - shell:
152             !include-raw ../opnfvdocs/docu-build.sh
153
154 - job-template:
155     name: 'pharos-maas-pilot-{stream}'
156
157     node: master
158
159     project-type: freestyle
160
161     logrotate:
162         daysToKeep: '{build-days-to-keep}'
163         numToKeep: '{build-num-to-keep}'
164         artifactDaysToKeep: '{build-artifact-days-to-keep}'
165         artifactNumToKeep: '{build-artifact-num-to-keep}'
166
167     parameters:
168         - project-parameter:
169             project: '{project}'
170
171     scm:
172         - git-scm:
173             credentials-id: '{ssh-credentials}'
174             refspec: ''
175             branch: '{branch}'
176
177     triggers:
178        - pollscm: '@midnight'
179
180     builders:
181         - shell:
182             echo "Hello World"
183 ########################
184 # parameter macros
185 ########################
186 - parameter:
187     name: pharos-parameter
188     parameters:
189         - string:
190             name: GS_PATHNAME
191             default: '{gs-pathname}'
192             description: "Version directory where the pharos documents will be stored in gs repository"
193
194 ########################
195 ## trigger macros
196 #########################
197 - trigger:
198     name: 'pharos-master'
199     triggers:
200        - pollscm: "H 6 * * *"
201
202 - trigger:
203     name: 'pharos-stable-arno'
204     triggers:
205        - pollscm: "H 18 * * *"