2 # Macros for the AutoRelease project
4 name: autorelease-release-tag
8 default: '{release-tag}'
9 description: "The Release train tag to use eg. Beryllium-SR1"
12 name: autorelease-release-branch
16 default: '{release-branch}'
17 description: "The Release train branch to base build off eg. stable/beryllium"
20 name: autorelease-build-timeout
28 name: autorelease-checkout-gerrit-patch
32 echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..."
33 git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD
39 - config-file-provider:
41 - file-id: 'autorelease-settings'
42 variable: 'SETTINGS_FILE'
43 - file-id: 'odl-global-settings'
44 variable: 'GLOBAL_SETTINGS_FILE'
47 name: autorelease-determine-merge-order
50 # TODO: Remove this condition once stable/beryllium is no longer
51 # officially maintained.
52 if [ "$GERRIT_BRANCH" != "stable/beryllium" ]; then
53 virtualenv --system-site-packages $WORKSPACE/venv
54 source $WORKSPACE/venv/bin/activate
55 pip install --upgrade pip
56 pip install --upgrade networkx
58 ./scripts/determine-merge-order.py
60 rm -rf $WORKSPACE/venv
64 name: autorelease-maven-deploy
66 - shell: !include-raw: include-raw-autorelease-maven-deploy.sh
69 name: autorelease-maven-sources
72 maven-version: '{maven-version}'
77 -DoutputFile=$WORKSPACE/sources.log
79 {opendaylight-infra-mvn-opts}
81 - '-Xmx4096m -XX:MaxPermSize=1024m'
82 settings: '{settings}'
84 global-settings: '{global-settings}'
85 global-settings-type: cfp
88 name: autorelease-maven-sources-post-process
91 awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
94 name: autorelease-generate-taglist
97 echo autorelease `git rev-parse --verify HEAD` ${RELEASE_TAG} \
98 | tee -a $WORKSPACE/taglist.log
99 git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} \
100 | tee -a $WORKSPACE/taglist.log'
103 name: autorelease-distribute-taglist
105 - integration-set-variables
107 if [ -d "integration/distribution/distributions" ]; then
108 cp -vf "$WORKSPACE/taglist.log" "integration/distribution/distributions/karaf/src/main/assembly/"
110 cp -vf "$WORKSPACE/taglist.log" "integration/distribution/$KARAF_ARTIFACT/src/main/assembly/"
114 name: autorelease-generate-release-patches
116 - shell: !include-raw: include-raw-autorelease-release-versions.sh
119 name: autorelease-get-integration-test-variables
121 - integration-set-variables
122 - shell: !include-raw: include-raw-autorelease-get-integration-test-variables.sh
124 properties-file: variables.prop
127 name: autorelease-fix-relative-paths
130 ./scripts/fix-relativepaths.sh
133 # include-raw-autorelease-notify-build-failure.sh searches console log for
134 # failures and emails the status to the release mailing list.
135 name: opendaylight-infra-notify-status
139 - shell: !include-raw: include-raw-autorelease-notify-build-failure.sh
140 script-only-if-succeeded: 'False'
141 script-only-if-failed: 'True'
144 # generate sar accounting summary and copy sar data to archive
145 name: opendaylight-infra-sysstats
152 # convert sar data to ascii format
153 sar -A -f /var/log/sa/sa$(date +%d) > archives/sar$(date +%d)
154 script-only-if-succeeded: false
155 script-only-if-failed: false