X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-macros.yaml;h=86346cec0d04ffce59367c7c5bf569f811503d64;hb=refs%2Fchanges%2F94%2F56294%2F2;hp=532a55bb4f770210edd35eaadefb1ce1c97b689f;hpb=edc942e8397d10f7b3e8a12cc796af6f3f6b0df7;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-macros.yaml b/jjb/autorelease/autorelease-macros.yaml index 532a55bb4..86346cec0 100644 --- a/jjb/autorelease/autorelease-macros.yaml +++ b/jjb/autorelease/autorelease-macros.yaml @@ -1,130 +1,165 @@ +--- # 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" + - 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" + - 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 + - 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 .. + - 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' + - 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: | - 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 + - 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 + - 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: '--quiet dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' - java-opts: - - '-Xmx4096m -XX:MaxPermSize=1024m' - settings: '{settings}' - settings-type: cfp - global-settings: '{global-settings}' - global-settings-type: cfp + - 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 + - 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' + - 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: - - 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/distribution-karaf/src/main/assembly/" - fi + - 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 + - shell: !include-raw: include-raw-autorelease-release-versions.sh - builder: - name: autorelease-sys-stats + name: autorelease-get-integration-test-variables builders: - - shell: | - uname -a - df -h + - integration-set-variables + - shell: !include-raw: include-raw-autorelease-get-integration-test-variables.sh + - inject: + properties-file: variables.prop - builder: - name: autorelease-get-integration-test-variables + name: autorelease-fix-relative-paths builders: - - shell: - !include-raw: - - include-raw-autorelease-get-integration-test-variables.sh - - inject: - properties-file: variables.prop + - shell: | + ./scripts/fix-relativepaths.sh - builder: - name: autorelease-generate-project-report + name: autorelease-generate-release-notes builders: - - shell: - !include-raw: - - include-raw-generate-project-report.sh + - shell: | + cd $WORKSPACE/scripts/release_notes_management + java -jar target/autonotes.jar + +- 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