Merge "Add a trigger to run integration tests on OVSDB project."
[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. Beryllium-SR1"
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/beryllium"
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: 1440
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: 'SETTINGS_FILE'
98                 - file-id: '{odl-global-settings}'
99                   variable: 'GLOBAL_SETTINGS_FILE'
100
101 - builder:
102     name: autorelease-maven-deploy
103     builders:
104         - shell:
105             !include-raw:
106                 - include-raw-autorelease-maven-deploy.sh
107
108 - builder:
109     name: autorelease-maven-sources
110     builders:
111         - maven-target:
112             maven-version: '{maven-version}'
113             pom: 'pom.xml'
114             goals: 'dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
115             java-opts:
116                 - '-Xmx4096m -XX:MaxPermSize=1024m'
117             settings: '{settings}'
118             settings-type: cfp
119             global-settings: '{global-settings}'
120             global-settings-type: cfp
121
122 - builder:
123     name: autorelease-maven-sources-post-process
124     builders:
125         - shell: |
126             awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
127
128 - builder:
129     name: autorelease-generate-taglist
130     builders:
131         - shell: |
132             git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} >> ../taglist.log'
133
134 - builder:
135     name: autorelease-generate-release-patches
136     builders:
137     - shell:
138         !include-raw:
139             - include-raw-autorelease-release-versions.sh
140
141 - builder:
142     name: autorelease-sys-stats
143     builders:
144         - shell: |
145             uname -a
146             df -h
147
148 - builder:
149     name: autorelease-get-integration-test-variables
150     builders:
151     - shell:
152         !include-raw:
153             - include-raw-autorelease-get-integration-test-variables.sh
154
155 - builder:
156     name: autorelease-generate-project-report
157     builders:
158     - shell:
159         !include-raw:
160             - include-raw-generate-project-report.sh