--- # Macros for the AutoRelease project - parameter: name: autorelease-release-tag parameters: - string: name: RELEASE_TAG default: '{release-tag}' description: "The Release train tag to use eg. Beryllium-SR1" - parameter: name: autorelease-release-branch parameters: - string: name: RELEASE_BRANCH default: '{release-branch}' description: "The Release train branch to base build off eg. stable/beryllium" - wrapper: name: autorelease-build-timeout wrappers: - timeout: type: absolute timeout: 1440 fail: true - builder: name: autorelease-checkout-gerrit-patch builders: - shell: | cd ${GERRIT_PROJECT} echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..." git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD cd .. - builder: name: autorelease-cfp builders: - config-file-provider: files: - file-id: 'autorelease-settings' variable: 'SETTINGS_FILE' - file-id: 'odl-global-settings' variable: 'GLOBAL_SETTINGS_FILE' - builder: name: autorelease-determine-merge-order builders: - shell: | # TODO: Remove this condition once stable/beryllium is no longer # officially maintained. if [ "$GERRIT_BRANCH" != "stable/beryllium" ]; then virtualenv --system-site-packages $WORKSPACE/venv source $WORKSPACE/venv/bin/activate pip install --upgrade pip pip install --upgrade networkx pip freeze ./scripts/determine-merge-order.py deactivate rm -rf $WORKSPACE/venv fi - builder: name: autorelease-maven-deploy builders: - shell: !include-raw: include-raw-autorelease-maven-deploy.sh - builder: name: autorelease-maven-sources builders: - maven-target: maven-version: '{maven-version}' pom: 'pom.xml' goals: | dependency:sources --quiet -DoutputFile=$WORKSPACE/sources.log -DappendOutput {opendaylight-infra-mvn-opts} java-opts: - '-Xmx4096m -XX:MaxPermSize=1024m' settings: '{settings}' settings-type: cfp global-settings: '{global-settings}' global-settings-type: cfp - builder: name: autorelease-maven-sources-post-process builders: - shell: | awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log - builder: name: autorelease-generate-taglist builders: - shell: | echo autorelease `git rev-parse --verify HEAD` ${RELEASE_TAG} \ | tee -a $WORKSPACE/taglist.log git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} \ | tee -a $WORKSPACE/taglist.log' - builder: name: autorelease-distribute-taglist builders: - integration-set-variables - shell: | if [ -d "integration/distribution/distributions" ]; then cp -vf "$WORKSPACE/taglist.log" "integration/distribution/distributions/karaf/src/main/assembly/" else cp -vf "$WORKSPACE/taglist.log" "integration/distribution/$KARAF_ARTIFACT/src/main/assembly/" fi - builder: name: autorelease-generate-release-patches builders: - shell: !include-raw: include-raw-autorelease-release-versions.sh - builder: name: autorelease-get-integration-test-variables builders: - integration-set-variables - shell: !include-raw: include-raw-autorelease-get-integration-test-variables.sh - inject: properties-file: variables.prop - builder: name: autorelease-fix-relative-paths builders: - shell: | ./scripts/fix-relativepaths.sh - builder: name: autorelease-generate-release-notes builders: - shell: | # TODO: Remove this condition once stable/beryllium is no longer # officially maintained. if [ "$GERRIT_BRANCH" != "stable/beryllium" ]; then cd $WORKSPACE/scripts/release_notes_management java -jar target/autonotes.jar fi - publisher: # include-raw-autorelease-notify-build-failure.sh searches console log for # failures and emails the status to the release mailing list. name: opendaylight-infra-notify-status publishers: - postbuildscript: builders: - shell: !include-raw: include-raw-autorelease-notify-build-failure.sh script-only-if-succeeded: 'False' script-only-if-failed: 'True' - publisher: # generate sar accounting summary and copy sar data to archive name: opendaylight-infra-sysstats publishers: - postbuildscript: builders: - shell: | mkdir -p archives/ cp /var/log/sa/* $_ # convert sar data to ascii format while IFS="" read -r s do [ -f "$s" ] && sar -A -f "$s" > archives/sar/sar${s//[!0-9]/} done < <(find /var/log/{sa,sysstat} -name "sa[0-9]*") script-only-if-succeeded: false script-only-if-failed: false