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