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