9f946d3628d8bf8cade4b78c0add3d173e87a47c
[releng/builder.git] / jjb / releng-templates.yaml
1 # ODL Releng build templates
2
3 - job-template:
4     name: '{name}-verify-{stream}'
5
6     # Job template for ODL verify jobs
7     #
8     # The purpose of this job template is to setup a ODL verify job
9     #
10     # Required Variables:
11     #     name:      project name (eg. controller)
12     #     stream:    branch with - in place of / (eg. stable/helium)
13     #     branch:    branch (eg. stable/helium)
14     #     mvn-goals: Maven Goals parameter to pass to the builder (eg. clean install)
15     #     mvn-opts:  MAVEN_OPTS paramter to pass to the builder (eg. -Xmx1024m)
16     #
17     # Optional Variables:
18     #     build-days-to-keep:           Number of days to keep builds
19     #     build-num-to-keep:            Number of builds to keep
20     #     build-artifact-days-to-keep:  Number of artifacts from builds to keep
21     #     build-artifact-num-to-keep:   Number of builds to keep with artifacts
22
23     project-type: maven
24
25     logrotate:
26         daysToKeep: '{build-days-to-keep}'
27         numToKeep: '{build-num-to-keep}'
28         artifactDaysToKeep: '{build-artifact-days-to-keep}'
29         artifactNumToKeep: '{build-artifact-num-to-keep}'
30
31     parameters:
32         - gerrit-parameter:
33             branch: '{branch}'
34
35     scm:
36         - gerrit-trigger-scm:
37             credentials-id: '{ssh-credentials}'
38             scm-url: '{scm-url}'
39             refspec: 'origin/$GERRIT_REFSPEC'
40
41     wrappers:
42         - ssh-agent-credentials:
43             user: '{ssh-credentials}'
44
45     triggers:
46         - gerrit-trigger-patch-submitted:
47             name: '{name}'
48             branch: '{branch}'
49
50     maven:
51         maven-name: Maven 3.0.4
52         root-pom: pom.xml
53         goals: '{mvn-goals}'
54         maven-opts: '{mvn-opts}'
55
56     publishers:
57         - email-notification
58
59 - job-template:
60     name: '{name}-merge-{stream}'
61
62     # Job template for ODL merge jobs
63     #
64     # The purpose of this job template is to setup a ODL merge job
65     #
66     # Required Variables:
67     #     name:      project name (eg. controller)
68     #     stream:    branch with - in place of / (eg. stable/helium)
69     #     branch:    branch (eg. stable/helium)
70     #     mvn-goals: Maven Goals parameter to pass to the builder (eg. clean install)
71     #     mvn-opts:  MAVEN_OPTS paramter to pass to the builder (eg. -Xmx1024m)
72     #
73     # Optional Variables:
74     #     build-days-to-keep:           Number of days to keep builds
75     #     build-num-to-keep:            Number of builds to keep
76     #     build-artifact-days-to-keep:  Number of artifacts from builds to keep
77     #     build-artifact-num-to-keep:   Number of builds to keep with artifacts
78
79     project-type: maven
80
81     logrotate:
82         daysToKeep: '{build-days-to-keep}'
83         numToKeep: '{build-num-to-keep}'
84         artifactDaysToKeep: '{build-artifact-days-to-keep}'
85         artifactNumToKeep: '{build-artifact-num-to-keep}'
86
87     scm:
88         - gerrit-trigger-scm:
89             credentials-id: '{ssh-credentials}'
90             scm-url: '{scm-url}'
91             refspec: ''
92
93     wrappers:
94         - ssh-agent-credentials:
95             user: '{ssh-credentials}'
96
97     triggers:
98         - gerrit-trigger-patch-merged:
99             name: '{name}'
100             branch: '{branch}'
101
102     maven:
103         maven-name: Maven 3.0.4
104         root-pom: pom.xml
105         goals: '{mvn-goals}'
106         maven-opts: '{mvn-opts}'
107
108     publishers:
109         - email-notification
110         - maven-deploy:
111             id:
112             url:
113             unique-version: true
114             deploy-unstable: false
115
116 - job-template:
117     name: '{name}-daily-{stream}'
118
119     # Job template for daily builders
120     #
121     # The purpose of this job template is to setup a daily/nightly builder and pushes to Sonar analysis.
122     #
123     # Required Variables:
124     #     name:      project name (eg. controller)
125     #     stream:    branch with - in place of / (eg. stable/helium)
126     #     branch:    branch (eg. stable/helium)
127     #     mvn-goals: Maven Goals parameter to pass to the builder (eg. clean install)
128     #     mvn-opts:  MAVEN_OPTS paramter to pass to the builder (eg. -Xmx1024m)
129     #
130     # Optional Variables:
131     #     build-days-to-keep:           Number of days to keep builds
132     #     build-num-to-keep:            Number of builds to keep
133     #     build-artifact-days-to-keep:  Number of artifacts from builds to keep
134     #     build-artifact-num-to-keep:   Number of builds to keep with artifacts
135
136     project-type: maven
137
138     logrotate:
139         daysToKeep: '{build-days-to-keep}'
140         numToKeep: '{build-num-to-keep}'
141         artifactDaysToKeep: '{build-artifact-days-to-keep}'
142         artifactNumToKeep: '{build-artifact-num-to-keep}'
143
144     scm:
145         - git-scm:
146             credentials-id: '{ssh-credentials}'
147             scm-url: '{scm-url}'
148             refspec: ''
149             branch: '{branch}'
150
151     wrappers:
152         - ssh-agent-credentials:
153             user: '{ssh-credentials}'
154
155     triggers:
156         - timed: 'H H * * *'
157
158     maven:
159         maven-name: Maven 3.0.4
160         root-pom: pom.xml
161         goals: '{mvn-goals}'
162         maven-opts: '{mvn-opts}'
163
164     publishers:
165         - email-notification
166         - sonar:
167             branch: 'origin/{branch}'
168             language: 'java'
169             maven-opts: '{mvn-opts}'