Merge "Create autorelease GT for site patches"
[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-cfp
84     builders:
85         - config-file-provider:
86             files:
87                 - file-id: '{autorelease-settings}'
88                   variable: 'AUTORELEASE_SETTINGS'
89                 - file-id: '{odl-global-settings}'
90                   variable: 'ODL_GLOBAL_SETTINGS'
91
92 - builder:
93     name: autorelease-maven-deploy
94     builders:
95         - shell: !include-raw include-raw-autorelease-maven-deploy.sh
96
97 - builder:
98     name: autorelease-maven-sources
99     builders:
100         - maven-target:
101             maven-version: '{maven-version}'
102             pom: 'pom.xml'
103             goals: 'dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
104             java-opts:
105                 - '-Xmx4096m -XX:MaxPermSize=1024m'
106             settings: '{settings}'
107             global-settings: '{global-settings}'
108
109 - builder:
110     name: autorelease-maven-sources-post-process
111     builders:
112         - shell: |
113             awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
114
115 - builder:
116     name: autorelease-generate-taglist
117     builders:
118         - shell: |
119             git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} >> ../taglist.log'
120
121 - builder:
122     name: autorelease-generate-release-patches
123     builders:
124         - shell:
125             !include-raw-escape include-raw-autorelease-release-versions.sh
126
127 - builder:
128     name: autorelease-sys-stats
129     builders:
130         - shell: |
131             uname -a
132             df -h
133
134 - builder:
135     name: autorelease-get-integration-test-variables
136     builders:
137     - shell: !include-raw include-raw-autorelease-get-integration-test-variables.sh
138
139 - builder:
140     name: autorelease-generate-project-report
141     builders:
142     - shell: !include-raw include-raw-generate-project-report.sh