X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-macros.yaml;h=2689a5a7e3c028421ac4775803f72ef1ea5d182c;hb=3f74d54d316d9ee1648aa645be5dc71fe5b6cfa3;hp=eab728fb963216663446a94bc1303b555c80a972;hpb=9515aeec2c18692963a164c327fafa091f1cfa17;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-macros.yaml b/jjb/autorelease/autorelease-macros.yaml index eab728fb9..e66dc54b6 100644 --- a/jjb/autorelease/autorelease-macros.yaml +++ b/jjb/autorelease/autorelease-macros.yaml @@ -20,7 +20,7 @@ name: autorelease-checkout-gerrit-patch builders: - shell: | - #!/bin/bash + #!/bin/bash -l set -eu -o pipefail # If the project is autorelease then we do not need to cd @@ -34,6 +34,9 @@ # If the project is autorelease then we need to init and update submodules if [ "$GERRIT_PROJECT" == "releng/autorelease" ]; then git submodule update --init + # The previous checkout might have failed to remove directory of a submodule being removed. + # See https://stackoverflow.com/a/10761699 + git clean -dff fi - builder: @@ -50,10 +53,10 @@ name: autorelease-determine-merge-order builders: - shell: | + #!/bin/bash -l 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 @@ -63,7 +66,7 @@ - builder: name: autorelease-maven-deploy builders: - - shell: !include-raw: include-raw-autorelease-maven-deploy.sh + - shell: !include-raw: autorelease-maven-deploy.sh - builder: name: autorelease-maven-sources @@ -83,51 +86,45 @@ 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: | - #!/bin/bash + #!/bin/bash -l 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 + cp -vf "$WORKSPACE/archives/patches/taglist.log" \ + "integration/distribution/$KARAF_ARTIFACT/src/main/assembly/" # DO NOT fail the build if copying failed. exit 0 +- builder: + name: autorelease-generate-artifact-versions + # Generate versions.csv containing version of all mvn artifacts in this build. + builders: + - shell: | + #!/bin/bash -l + set -eu -o pipefail + ./scripts/generate-artifact-versions.sh + mkdir -p "$WORKSPACE/archives" + mv versions.csv "$WORKSPACE/archives" + - builder: name: autorelease-generate-release-patches builders: - shell: !include-raw: - - ../global-jjb/shell/lftools-install.sh - prepare-release.sh - builder: name: autorelease-get-integration-test-variables builders: - integration-set-variables - - shell: !include-raw: include-raw-autorelease-get-integration-test-variables.sh + - shell: !include-raw: autorelease-get-integration-test-variables.sh - inject: properties-file: variables.prop @@ -140,13 +137,23 @@ - builder: name: autorelease-generate-release-notes builders: - - shell: | - cd $WORKSPACE/scripts/release_notes_management - java -jar target/autonotes.jar - if [ -f "$WORKSPACE/scripts/release_notes_management/projects/release-notes.rst" ]; then - mkdir -p $WORKSPACE/archives - cp -vf "$WORKSPACE/scripts/release_notes_management/projects/release-notes.rst" "$WORKSPACE/archives" - fi + - shell: !include-raw: + - generate-release-notes.sh + +- builder: + name: autorelease-update-project-views + builders: + - shell: !include-raw: update-autorelease-projects-views.sh + +- builder: + name: autorelease-update-validate-projects + builders: + - shell: !include-raw: update-validate-autorelease-projects.sh + +- builder: + name: autorelease-compare-projects + builders: + - shell: !include-raw: compare-autorelease-projects.sh - publisher: # Search console log for failures and email status to the release mailing list. @@ -154,6 +161,13 @@ publishers: - postbuildscript: builders: - - shell: !include-raw: notify-build-failure.sh - script-only-if-succeeded: false - script-only-if-failed: true + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - shell: !include-raw: notify-build-failure.sh + mark-unstable-if-failed: true