Create a opendaylight-infra-wrapper macro
[releng/builder.git] / jjb / opflex / opflex-custom.yaml
1 - project:
2     name: opflex
3     jobs:
4         - 'opflex-verify-{stream}'
5         - 'opflex-merge-{stream}'
6 #        - 'opflex-daily-{stream}'
7 #        - 'opflex-distribution-{stream}'
8
9     # stream:    release stream (eg. stable-lithium or beryllium)
10     # branch:    git branch (eg. stable/lithium or master)
11     stream:
12         - boron:
13             branch: 'master'
14             jdk: openjdk7
15             jdks:
16                 - openjdk7
17         - beryllium:
18             branch: 'stable/beryllium'
19             jdk: openjdk7
20             jdks:
21                 - openjdk7
22
23     project: 'opflex'
24
25 - builder:
26     name: opflex-build
27     builders:
28       - maven-target:
29           maven-version: '{mvn33}'
30           pom: genie/pom.xml
31           goals: compile
32       - copyartifact:
33           project: opflex-libuv_tgz-{stream}
34           flatten: true
35       - copyartifact:
36           project: opflex-rapidjson_tgz-{stream}
37           flatten: true
38       - copyartifact:
39           project: opflex-openvswitch_tgz-{stream}
40           flatten: true
41       - shell:
42           !include-raw-escape:
43             - include-raw-opflex-build.sh
44
45 - job-template:
46     name: 'opflex-verify-{stream}'
47
48     project-type: matrix
49     node: matrix_master
50     concurrent: true
51
52     axes:
53         - axis:
54             type: slave
55             name: nodes
56             values:
57                 - dynamic_verify
58         - axis:
59             type: jdk
60             values: '{obj:jdks}'
61
62     logrotate:
63         daysToKeep: '{build-days-to-keep}'
64         numToKeep: '{build-num-to-keep}'
65         artifactDaysToKeep: '{build-artifact-days-to-keep}'
66         artifactNumToKeep: '{build-artifact-num-to-keep}'
67
68     parameters:
69         - project-parameter:
70             project: '{project}'
71         - gerrit-parameters:
72             project: '{project}'
73             branch: '{branch}'
74             refspec: 'refs/heads/{branch}'
75
76     scm:
77         - gerrit-trigger-scm:
78             credentials-id: '{ssh-credentials}'
79             refspec: '$GERRIT_REFSPEC'
80             choosing-strategy: 'gerrit'
81
82     wrappers:
83         - opendaylight-infra-wrappers:
84             build-timeout: '{build-timeout}'
85
86     triggers:
87         - gerrit-trigger-patch-submitted:
88             name: 'opflex'
89             branch: '{branch}'
90
91     builders:
92         - opflex-build:
93             mvn33: '{mvn33}'
94             stream: '{stream}'
95
96     publishers:
97         - email-notification:
98             email-prefix: '[opflex]'
99
100 - job-template:
101     name: 'opflex-merge-{stream}'
102
103     node: dynamic_merge
104     jdk: '{jdk}'
105
106     logrotate:
107         daysToKeep: '{build-days-to-keep}'
108         numToKeep: '{build-num-to-keep}'
109         artifactDaysToKeep: '{build-artifact-days-to-keep}'
110         artifactNumToKeep: '{build-artifact-num-to-keep}'
111
112     parameters:
113         - project-parameter:
114             project: '{project}'
115         - gerrit-parameters:
116             project: '{project}'
117             branch: '{branch}'
118             refspec: 'refs/heads/{branch}'
119
120     scm:
121         - gerrit-trigger-scm:
122             credentials-id: '{ssh-credentials}'
123             refspec: ''
124             choosing-strategy: 'default'
125
126     wrappers:
127         - opendaylight-infra-wrappers:
128             build-timeout: '{build-timeout}'
129
130     triggers:
131         - gerrit-trigger-patch-merged:
132             name: 'opflex'
133             branch: '{branch}'
134
135     builders:
136         - opflex-build:
137             mvn33: '{mvn33}'
138             stream: '{stream}'
139
140     publishers:
141         - email-notification:
142             email-prefix: '[opflex]'
143         - archive:
144             artifacts: '**/*.tar.gz'