Merge "Added job definition for scaling tests."
[releng/builder.git] / jjb / autorelease / autorelease-macros.yaml
1 # Macros for the AutoRelease project
2 - parameter:
3     name: autorelease-release-tag
4     parameters:
5         - string:
6             name: RELEASE_TAG
7             default: '{release-tag}'
8             description: "The Release train tag to use eg. Helium-SR3"
9
10 - parameter:
11     name: autorelease-release-branch
12     parameters:
13         - string:
14             name: RELEASE_BRANCH
15             default: '{release-branch}'
16             description: "The Release train branch to base build off eg. stable/helium"
17
18 - parameter:
19     name: autorelease-release-datestamp
20     parameters:
21         - bool:
22             name: DATESTAMP
23             default: '{datestamp}'
24             description: "Whether to include a datestamp or not"
25
26 - wrapper:
27     name: autorelease-build-timeout
28     wrappers:
29         - timeout:
30             type: absolute
31             timeout: 720
32             fail: true
33
34 - trigger:
35     name: autorelease-trigger-patch-site-merged
36     triggers:
37         - gerrit:
38             server-name: 'OpenDaylight'
39             trigger-on:
40                 - change-merged-event
41                 - comment-added-contains-event:
42                     comment-contains-value: 'republish'
43             projects:
44               - project-compare-type: 'ANT'
45                 project-pattern: '{name}'
46                 branches:
47                     - branch-compare-type: 'ANT'
48                       branch-pattern: '**/{branch}'
49                 file-paths:
50                     - compare-type: ANT
51                       pattern: src/site/**
52                     - compare-type: ANT
53                       pattern: site.xml
54
55 - trigger:
56     name: autorelease-trigger-patch-site-submitted
57     triggers:
58         - gerrit:
59             server-name: 'OpenDaylight'
60             trigger-on:
61                 - patchset-created-event:
62                     exclude-drafts: 'false'
63                     exclude-trivial-rebase: 'false'
64                     exclude-no-code-change: 'false'
65                 - draft-published-event
66                 - comment-added-contains-event:
67                     comment-contains-value: 'recheck'
68                 - comment-added-contains-event:
69                     comment-contains-value: 'reverify'
70             projects:
71               - project-compare-type: 'ANT'
72                 project-pattern: '{name}'
73                 branches:
74                   - branch-compare-type: 'ANT'
75                     branch-pattern: '**/{branch}'
76                 file-paths:
77                     - compare-type: ANT
78                       pattern: src/site/**
79                     - compare-type: ANT
80                       pattern: site.xml
81
82 - builder:
83     name: autorelease-checkout-gerrit-patch
84     builders:
85         - shell: |
86             cd ${GERRIT_PROJECT}
87             echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..."
88             git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD
89             cd ..
90
91 - builder:
92     name: autorelease-cfp
93     builders:
94         - config-file-provider:
95             files:
96                 - file-id: '{autorelease-settings}'
97                   variable: 'AUTORELEASE_SETTINGS'
98                 - file-id: '{odl-global-settings}'
99                   variable: 'ODL_GLOBAL_SETTINGS'
100
101 - builder:
102     name: autorelease-maven-deploy
103     builders:
104         - shell: !include-raw include-raw-autorelease-maven-deploy.sh
105
106 - builder:
107     name: autorelease-maven-sources
108     builders:
109         - maven-target:
110             maven-version: '{maven-version}'
111             pom: 'pom.xml'
112             goals: 'dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
113             java-opts:
114                 - '-Xmx4096m -XX:MaxPermSize=1024m'
115             settings: '{settings}'
116             global-settings: '{global-settings}'
117
118 - builder:
119     name: autorelease-maven-sources-post-process
120     builders:
121         - shell: |
122             awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
123
124 - builder:
125     name: autorelease-generate-taglist
126     builders:
127         - shell: |
128             git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} >> ../taglist.log'
129
130 - builder:
131     name: autorelease-generate-release-patches
132     builders:
133         - shell:
134             !include-raw-escape include-raw-autorelease-release-versions.sh
135
136 - builder:
137     name: autorelease-sys-stats
138     builders:
139         - shell: |
140             uname -a
141             df -h
142
143 - builder:
144     name: autorelease-get-integration-test-variables
145     builders:
146     - shell: !include-raw include-raw-autorelease-get-integration-test-variables.sh
147
148 - builder:
149     name: autorelease-generate-project-report
150     builders:
151     - shell: !include-raw include-raw-generate-project-report.sh