X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-macros.yaml;h=4a34eaf5a46c023c2ff1445c0715b7b0ed205227;hb=e60194a98f0b1f0aa47537588c2eb463791b1e19;hp=0d85280568111b5ab66e67646f11f18d5133230b;hpb=e4d04440ba14634e48b5a806d1c4273ff8c8edb1;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-macros.yaml b/jjb/autorelease/autorelease-macros.yaml index 0d8528056..4a34eaf5a 100644 --- a/jjb/autorelease/autorelease-macros.yaml +++ b/jjb/autorelease/autorelease-macros.yaml @@ -28,10 +28,21 @@ name: autorelease-checkout-gerrit-patch builders: - shell: | - cd ${GERRIT_PROJECT} + #!/bin/bash + set -eu -o pipefail + + # If the project is autorelease then we do not need to cd + if [ "$GERRIT_PROJECT" != "releng/autorelease" ]; then + cd "$WORKSPACE/$GERRIT_PROJECT" + fi + echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..." git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD - cd .. + + # If the project is autorelease then we need to init and update submodules + if [ "$GERRIT_PROJECT" == "releng/autorelease" ]; then + git submodule update --init + fi - builder: name: autorelease-cfp @@ -40,25 +51,22 @@ files: - file-id: 'autorelease-settings' variable: 'SETTINGS_FILE' - - file-id: 'odl-global-settings' + - file-id: '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 + virtualenv --system-site-packages $WORKSPACE/venv + source $WORKSPACE/venv/bin/activate + PYTHON="$WORKSPACE/venv/bin/python" + $PYTHON -m pip install --upgrade pip + $PYTHON -m pip install --upgrade networkx + $PYTHON -m pip freeze + ./scripts/determine-merge-order.py + deactivate + rm -rf $WORKSPACE/venv - builder: name: autorelease-maven-deploy @@ -104,16 +112,24 @@ builders: - integration-set-variables - shell: | + #!/bin/bash + set +e # DO NOT fail build if copying fails. + 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 + # DO NOT fail the build if copying failed. + exit 0 + - builder: name: autorelease-generate-release-patches builders: - - shell: !include-raw: include-raw-autorelease-release-versions.sh + - shell: !include-raw: + - ../global-jjb/shell/lftools-install.sh + - prepare-release.sh - builder: name: autorelease-get-integration-test-variables @@ -141,22 +157,11 @@ fi - publisher: - # include-raw-autorelease-notify-build-failure.sh searches console log for - # failures and emails the status to the release mailing list. + # Search console log for failures and email 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: !include-raw: include-raw-autorelease-collect-sar.sh + - shell: !include-raw: notify-build-failure.sh script-only-if-succeeded: false - script-only-if-failed: false + script-only-if-failed: true