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