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