Add support to start mongodb for python job
[releng/builder.git] / jjb / releng-templates.yaml
1 - job-template:
2     name: '{name}-release-java'
3
4     # Job template for producing a release candidate by creating a staging repo
5     # in Nexus.
6
7     project-type: maven
8     node: dynamic_merge
9     jdk: '{jdk}'
10
11     logrotate:
12         daysToKeep: '30'
13
14     parameters:
15         - project-parameter:
16             project: '{project}'
17         - build-tag
18         - stage-id-parameter:
19             stage-id: '{stage-id}'
20
21     scm:
22         - git:
23             credentials-id: '{ssh-credentials}'
24             url: '$GIT_BASE'
25             branches:
26                 - '$BUILD_TAG'
27             skip-tag: true
28             shallow-clone: true
29             wipe-workspace: true
30
31     wrappers:
32         - build-timeout
33         - ssh-agent-credentials:
34             users:
35                 - '{ssh-credentials}'
36
37     prebuilders:
38         - wipe-org-opendaylight-repo
39         - jacoco-nojava-workaround
40         - provide-maven-settings:
41             global-settings-file: '{odl-global-settings}'
42             settings-file: '{autorelease-settings}'
43
44     maven:
45         maven-name: '{mvn33}'
46         root-pom: 'pom.xml'
47         goals: 'clean deploy -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
48         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
49         settings: '{autorelease-settings}'
50         global-settings: '{odl-global-settings}'
51         post-step-run-condition: UNSTABLE
52
53     postbuilders:
54         - releng-stage-release
55
56     publishers:
57         - archive-artifacts:
58             artifacts: '*.log'
59         - email-notification:
60             email-prefix: '[releng]'
61
62
63 - job-template:
64     name: '{name}-publish-p2repo'
65
66     # Job template for publishing a p2 repo given a URL to a zipped p2repo.
67
68     project-type: maven
69     node: dynamic_merge
70     jdk: '{jdk}'
71
72     parameters:
73         - project-parameter:
74             project: '{project}'
75         - p2zip-parameter
76
77     prebuilders:
78         - wipe-org-opendaylight-repo
79         - jacoco-nojava-workaround
80         - releng-generate-p2pom
81
82     maven:
83         maven-name: '{mvn33}'
84         root-pom: 'pom.xml'
85         goals: 'clean deploy -V -Dmaven.repo.local=/tmp/r'
86         settings: '{project-settings}'
87         global-settings: '{odl-global-settings}'
88         post-step-run-condition: UNSTABLE
89
90     postbuilders:
91         - releng-update-p2composite-metadata:
92             maven-version: '{mvn33}'
93             settings: '{project-settings}'
94             global-settings: '{odl-global-settings}'
95
96     publishers:
97         - email-notification:
98             email-prefix: '[releng]'
99
100 - job-template:
101     name: '{name}-verify-python-{stream}'
102
103     # Job template for python verify jobs
104     #
105     # The purpose of this job template is to run tox for projects using this
106     # template.
107     #
108     # Required Variables:
109     #     stream:    release stream (eg. stable-lithium or beryllium)
110     #     branch:    git branch (eg. stable/lithium or master)
111     #     toxdir:    directory containing the project's tox.ini relative to
112     #                the workspace.
113
114     project-type: freestyle
115     node: dynamic_verify
116     concurrent: true
117
118     logrotate:
119         daysToKeep: '7'
120         numToKeep: '-1'
121         artifactDaysToKeep: '-1'
122         artifactNumToKeep: '-1'
123
124     parameters:
125         - project-parameter:
126             project: '{project}'
127         - gerrit-parameter:
128             branch: '{branch}'
129         - gerrit-refspec-parameter:
130             refspec: 'refs/heads/{branch}'
131         - bool:
132             name: START_MONGO
133             default: '{start-mongo}'
134             description: "Whether or not to start a mongo process."
135
136     scm:
137         - git:
138             credentials-id: '{ssh-credentials}'
139             url: '$GIT_BASE'
140             basedir: 'repo'
141             refspec: '$GERRIT_REFSPEC'
142             branches:
143                 - 'origin/$GERRIT_BRANCH'
144             skip-tag: true
145             choosing-strategy: 'gerrit'
146
147     wrappers:
148         - build-timeout
149         - ssh-agent-credentials:
150             users:
151                 - '{ssh-credentials}'
152
153     triggers:
154         - gerrit:
155             server-name: 'OpenDaylight'
156             trigger-on:
157                 - patchset-created-event:
158                     exclude-drafts: 'true'
159                     exclude-trivial-rebase: 'false'
160                     exclude-no-code-change: 'true'
161                 - draft-published-event
162                 - comment-added-contains-event:
163                     comment-contains-value: 'recheck'
164                 - comment-added-contains-event:
165                     comment-contains-value: 'reverify'
166             projects:
167               - project-compare-type: 'ANT'
168                 project-pattern: '{project}'
169                 branches:
170                   - branch-compare-type: 'ANT'
171                     branch-pattern: '**/{branch}'
172                 file-paths:
173                     - compare-type: ANT
174                       pattern: '{toxdir}/**'
175
176     builders:
177         - shell: |
178             virtualenv $WORKSPACE/venv-tox
179             source $WORKSPACE/venv-tox/bin/activate
180             pip install --upgrade pip
181             pip install --upgrade tox argparse
182             pip freeze
183
184             echo $START_MONGO
185             if [ "$START_MONGO" == "true" ]; then
186                 mkdir $WORKSPACE/mongo
187                 mongod --dbpath $WORKSPACE/mongo
188             fi
189
190             cd $WORKSPACE/repo/{toxdir}
191             tox
192
193     publishers:
194         - email-notification:
195             email-prefix: '[{project}]'
196
197 - job-template:
198     name: '{name}-merge-rtd-{stream}'
199     # Template for ReadTheDocs triggering
200
201     project-type: freestyle
202     node: dynamic_verify
203     concurrent: false
204
205     parameters:
206         - project-parameter:
207             project: '{project}'
208         - gerrit-parameter:
209             branch: '{branch}'
210         - gerrit-refspec-parameter:
211             refspec: 'refs/heads/{branch}'
212
213     wrappers:
214         - build-timeout
215         - ssh-agent-credentials:
216             users:
217                 - '{ssh-credentials}'
218
219     triggers:
220         - gerrit-trigger-patch-merged:
221             name: '{project}'
222             branch: '{branch}'
223
224     builders:
225         - shell: |
226             curl -X POST https://readthedocs.org/build/{rtdproject}
227
228     publishers:
229         - email-notification:
230             email-prefix: '[{project}]'