Merge "do not upload Apex artifacts when daily fails"
[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-{stream}'
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     triggers:
75         - 'pharos-{stream}'
76
77     prebuilders:
78         - test-macro
79
80     builders:
81         - shell:
82             !include-raw ../opnfvdocs/docu-build.sh
83
84     postbuilders:
85         - test-macro
86
87 - job-template:
88     name: 'pharos-verify-{stream}'
89
90     node: master
91
92     project-type: freestyle
93
94     logrotate:
95         daysToKeep: 30
96         numToKeep: 10
97         artifactDaysToKeep: -1
98         artifactNumToKeep: -1
99
100     parameters:
101         - project-parameter:
102             project: '{project}'
103         - gerrit-parameter:
104             branch: '{branch}'
105     scm:
106         - gerrit-trigger-scm:
107             credentials-id: '{ssh-credentials}'
108             refspec: '$GERRIT_REFSPEC'
109             choosing-strategy: 'gerrit'
110
111     triggers:
112         - gerrit:
113             trigger-on:
114                 - patchset-created-event:
115                     exclude-drafts: 'false'
116                     exclude-trivial-rebase: 'false'
117                     exclude-no-code-change: 'false'
118                 - draft-published-event
119                 - comment-added-contains-event:
120                     comment-contains-value: 'recheck'
121                 - comment-added-contains-event:
122                     comment-contains-value: 'reverify'
123             projects:
124               - project-compare-type: 'ANT'
125                 project-pattern: 'pharos'
126                 branches:
127                   - branch-compare-type: 'ANT'
128                     branch-pattern: '**/{branch}'
129
130     builders:
131         - shell:
132             !include-raw ../opnfvdocs/docu-build.sh
133
134 - job-template:
135     name: 'pharos-merge-{stream}'
136
137     node: master
138
139     # builder-merge job to run JJB update
140     #
141     # This job's purpose is to update all the JJB
142
143     project-type: freestyle
144
145     logrotate:
146         daysToKeep: 30
147         numToKeep: 40
148         artifactDaysToKeep: -1
149         artifactNumToKeep: 5
150
151     parameters:
152         - project-parameter:
153             project: '{project}'
154         - gerrit-parameter:
155             branch: '{branch}'
156
157     scm:
158         - gerrit-trigger-scm:
159             credentials-id: '{ssh-credentials}'
160             refspec: ''
161             choosing-strategy: 'default'
162
163     triggers:
164         - gerrit:
165             trigger-on:
166                 - change-merged-event
167                 - comment-added-contains-event:
168                     comment-contains-value: 'remerge'
169             projects:
170               - project-compare-type: 'ANT'
171                 project-pattern: 'pharos'
172                 branches:
173                     - branch-compare-type: 'ANT'
174                       branch-pattern: '**/{branch}'
175
176     builders:
177         - shell:
178             !include-raw ../opnfvdocs/docu-build.sh
179
180 ########################
181 # parameter macros
182 ########################
183 - parameter:
184     name: pharos-parameter
185     parameters:
186         - string:
187             name: GS_PATHNAME
188             default: '{gs-pathname}'
189             description: "Version directory where the pharos documents will be stored in gs repository"
190
191 ########################
192 ## trigger macros
193 #########################
194 - trigger:
195     name: 'pharos-master'
196     triggers:
197        - pollscm: "H 6 * * *"
198
199 - trigger:
200     name: 'pharos-stable-arno'
201     triggers:
202        - pollscm: "H 18 * * *"