c75407f507b498d2724d4d10310159a944af60c2
[releng/builder.git] / jjb-templates / distribution-check.yaml
1 # Template: integration-patch-distribution-{stream}
2 # Goal: Build a patch and make sure the distribution can deploy with this change
3 # Operation: This job template builds a patch, creates a distribution containing
4 #            the patch, and triggers the distribution deploy test
5
6 - job-template:
7     name: 'PROJECT_SHORTNAME-distribution-check-{stream}'
8     disabled: '{obj:disable_distribution_check}'
9
10     project-type: maven
11     node: dynamic_verify
12     concurrent: true
13     jdk: '{jdk}'
14
15     logrotate:
16         daysToKeep: '14'
17         numToKeep: '10'
18         artifactDaysToKeep: '{build-artifact-days-to-keep}'
19         artifactNumToKeep: '{build-artifact-num-to-keep}'
20
21     parameters:
22         - gerrit-project-parameter:
23             project: '{project}'
24         - gerrit-refspec-parameter:
25             refspec: '{branch}'
26         - project-parameter:
27             project: '{project}'
28         - integration-distribution-git-url
29
30     scm:
31         - integration-gerrit-scm:
32             credentials-id: '{ssh-credentials}'
33             basedir: '$GERRIT_PROJECT'
34             refspec: '$GERRIT_REFSPEC'
35             branch: '{branch}'
36         - integration-distribution-scm:
37             credentials-id: '{ssh-credentials}'
38             branch: '{branch}'
39
40     wrappers:
41         - build-timeout
42         - ssh-agent-credentials:
43             users:
44                 - '{ssh-credentials}'
45
46     triggers:
47         - gerrit:
48             server-name: 'OpenDaylight'
49             trigger-on:
50                 - patchset-created-event:
51                     exclude-drafts: 'true'
52                     exclude-trivial-rebase: 'false'
53                     exclude-no-code-change: 'true'
54                 - draft-published-event
55                 - comment-added-contains-event:
56                     comment-contains-value: 'test-distribution'
57             projects:
58               - project-compare-type: 'ANT'
59                 project-pattern: '{name}'
60                 branches:
61                   - branch-compare-type: 'ANT'
62                     branch-pattern: '**/{branch}'
63             skip-vote:
64                 successful: true
65                 failed: true
66                 unstable: true
67                 notbuilt: true
68
69     prebuilders:
70         - integration-get-bundle-url
71         - inject:
72             properties-file: 'bundle.txt'
73         - wipe-org-opendaylight-repo
74         - maven-target:
75             maven-version: '{mvn33}'
76             pom: '$GERRIT_PROJECT/pom.xml'
77             goals: 'clean install -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
78             java-opts:
79                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
80             settings: '{JENKINS_SETTINGS}'
81             global-settings: '{odl-global-settings}'
82
83     maven:
84         maven-name: '{mvn33}'
85         root-pom: 'distribution/pom.xml'
86         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
87         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
88         settings: '{JENKINS_SETTINGS}'
89         global-settings: '{odl-global-settings}'
90         ignore-upstream-changes: true
91         post-step-run-condition: 'SUCCESS'
92
93     postbuilders:
94         - trigger-builds:
95             - project: 'integration-distribution-deploy-{stream}'
96               block: true
97               predefined-parameters:
98                   BUNDLEURL=$BUNDLEURL
99
100     publishers:
101         - email-notification:
102             email-prefix: '[PROJECT_SHORTNAME]'