Bug 6926: Unify verify triggers and improve trigger words
[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 - wrapper:
19     name: autorelease-build-timeout
20     wrappers:
21         - timeout:
22             type: absolute
23             timeout: 1440
24             fail: true
25
26 - trigger:
27     name: autorelease-trigger-patch-site-merged
28     triggers:
29         - gerrit:
30             server-name: 'OpenDaylight'
31             trigger-on:
32                 - change-merged-event
33                 - comment-added-contains-event:
34                     comment-contains-value: 'republish'
35             projects:
36               - project-compare-type: 'ANT'
37                 project-pattern: '{name}'
38                 branches:
39                     - branch-compare-type: 'ANT'
40                       branch-pattern: '**/{branch}'
41                 file-paths:
42                     - compare-type: ANT
43                       pattern: src/site/**
44                     - compare-type: ANT
45                       pattern: site.xml
46
47 - trigger:
48     name: autorelease-trigger-patch-site-submitted
49     triggers:
50         - gerrit:
51             server-name: 'OpenDaylight'
52             trigger-on:
53                 - patchset-created-event:
54                     exclude-drafts: 'true'
55                     exclude-trivial-rebase: 'false'
56                     exclude-no-code-change: 'true'
57                 - draft-published-event
58                 - comment-added-contains-event:
59                     comment-contains-value: 'recheck'
60                 - comment-added-contains-event:
61                     comment-contains-value: 'reverify'
62             projects:
63               - project-compare-type: 'ANT'
64                 project-pattern: '{name}'
65                 branches:
66                   - branch-compare-type: 'ANT'
67                     branch-pattern: '**/{branch}'
68                 file-paths:
69                     - compare-type: ANT
70                       pattern: src/site/**
71                     - compare-type: ANT
72                       pattern: site.xml
73
74 - builder:
75     name: autorelease-checkout-gerrit-patch
76     builders:
77         - shell: |
78             cd ${GERRIT_PROJECT}
79             echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..."
80             git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD
81             cd ..
82
83 - builder:
84     name: autorelease-cfp
85     builders:
86         - config-file-provider:
87             files:
88                 - file-id: 'autorelease-settings'
89                   variable: 'SETTINGS_FILE'
90                 - file-id: 'odl-global-settings'
91                   variable: 'GLOBAL_SETTINGS_FILE'
92
93 - builder:
94     name: autorelease-maven-deploy
95     builders:
96         - shell:
97             !include-raw:
98                 - include-raw-autorelease-maven-deploy.sh
99
100 - builder:
101     name: autorelease-maven-sources
102     builders:
103         - maven-target:
104             maven-version: '{maven-version}'
105             pom: 'pom.xml'
106             goals: '--quiet dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
107             java-opts:
108                 - '-Xmx4096m -XX:MaxPermSize=1024m'
109             settings: '{settings}'
110             settings-type: cfp
111             global-settings: '{global-settings}'
112             global-settings-type: cfp
113
114 - builder:
115     name: autorelease-maven-sources-post-process
116     builders:
117         - shell: |
118             awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
119
120 - builder:
121     name: autorelease-generate-taglist
122     builders:
123         - shell: |
124             echo autorelease `git rev-parse --verify HEAD` ${RELEASE_TAG} | tee -a $WORKSPACE/taglist.log
125             git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} | tee -a $WORKSPACE/taglist.log'
126
127 - builder:
128     name: autorelease-distribute-taglist
129     builders:
130         - shell: |
131             if [ -d "integration/distribution/distributions" ]; then
132                 cp -vf "$WORKSPACE/taglist.log" "integration/distribution/distributions/karaf/src/main/assembly/"
133             else
134                 cp -vf "$WORKSPACE/taglist.log" "integration/distribution/distribution-karaf/src/main/assembly/"
135             fi
136
137 - builder:
138     name: autorelease-generate-release-patches
139     builders:
140     - shell:
141         !include-raw:
142             - include-raw-autorelease-release-versions.sh
143
144 - builder:
145     name: autorelease-sys-stats
146     builders:
147         - shell: |
148             uname -a
149             df -h
150
151 - builder:
152     name: autorelease-get-integration-test-variables
153     builders:
154     - shell:
155         !include-raw:
156             - include-raw-autorelease-get-integration-test-variables.sh
157     - inject:
158         properties-file: variables.prop
159
160 - builder:
161     name: autorelease-generate-project-report
162     builders:
163     - shell:
164         !include-raw:
165             - include-raw-generate-project-report.sh