Create a opendaylight-infra-wrapper macro
[releng/builder.git] / jjb / ovsdb / ovsdb-full-integration.yaml
1 - project:
2     name: ovsdb-full-integration
3     jobs:
4         - 'ovsdb-daily-full-integration-{stream}'
5
6     # stream:    release stream (eg. stable-lithium or beryllium)
7     # branch:    git branch (eg. stable/lithium or master)
8     stream:
9         - boron:
10             branch: 'master'
11             jdk: openjdk8
12             jdks:
13                 - openjdk8
14         - beryllium:
15             branch: 'stable/beryllium'
16             jdk: openjdk8
17             jdks:
18                 - openjdk8
19         - stable-lithium:
20             branch: 'stable/lithium'
21             jdk: openjdk7
22             jdks:
23                 - openjdk7
24
25     project: 'ovsdb'
26
27 - job-template:
28     name: 'ovsdb-daily-full-integration-{stream}'
29
30     # Required Variables:
31     #     stream:    release stream (eg. stable-lithium or beryllium)
32     #     branch:    git branch (eg. stable/lithium or master)
33
34     project-type: matrix
35     node: matrix_master
36     description: 'Integration tests for the OVSDB project against different versions of OVS and branches. This job runs nightly. '
37     execution-strategy:
38         sequential: true
39
40     axes:
41         - axis:
42             type: user-defined
43             name: 'OVS_VERSION'
44             values:
45                 - 2.3.2
46                 - 2.4.0
47         - axis:
48             type: jdk
49             values: '{obj:jdks}'
50
51         - axis:
52             type: slave
53             name: nodes
54             values:
55                 - dynamic_docker
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         - gerrit-parameters:
67             project: '{project}'
68             branch: '{branch}'
69             refspec: 'refs/heads/{branch}'
70
71     scm:
72         - gerrit-trigger-scm:
73             credentials-id: '{ssh-credentials}'
74             refspec: '$GERRIT_REFSPEC'
75             branch: '{branch}'
76             choosing-strategy: gerrit
77
78     wrappers:
79         - opendaylight-infra-wrappers:
80             build-timeout: '{build-timeout}'
81
82     triggers:
83         - timed: '@midnight'
84         - gerrit:
85             server-name: 'OpenDaylight'
86             trigger-on:
87               - comment-added-contains-event:
88                  comment-contains-value: 'runit'
89             projects:
90               - project-compare-type: 'ANT'
91                 project-pattern: '{project}'
92                 branches:
93                   - branch-compare-type: 'ANT'
94                     branch-pattern: '**/{branch}'
95             skip-vote:
96                 successful: true
97                 failed: true
98                 unstable: true
99                 notbuilt: true
100
101     builders:
102         - wipe-org-opendaylight-repo
103         - shell:
104             !include-raw-escape:
105                 - include-raw-setup-docker.sh
106         - inject:
107             properties-file: env.properties
108         - maven-target:
109             maven-version: '{mvn33}'
110             pom: 'pom.xml'
111             goals: 'clean install -V verify -Pintegrationtest -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true -Dovsdb.controller.address=${{CONTROLLER_IP}}'
112             properties:
113                 - 'ovsdbserver.ipaddress=127.0.0.1'
114                 - 'ovsdbserver.port=6641'
115                 - 'ovsdb.userspace.enabled=yes'
116                 - 'maven.repo.local=/tmp/r'
117                 - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
118                 - 'stream={stream}'
119             java-opts:
120                 - '-Xmx1024m -XX:MaxPermSize=256m'
121             settings: 'ovsdb-settings'
122             settings-type: cfp
123             global-settings: 'odl-global-settings'
124             global-settings-type: cfp
125         - shell:
126             !include-raw-escape:
127                 - include-raw-cleanup-docker.sh
128         - jacoco-nojava-workaround
129
130     publishers:
131         - archive:
132             artifacts: 'docker-ovs-*.log'
133             fingerprint: false
134         - email-notification:
135             email-prefix: '[ovsdb]'