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
# 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:
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
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
builders:
- integration-set-variables
- shell: |
- #!/bin/bash
+ #!/bin/bash -l
set +e # DO NOT fail build if copying fails.
cp -vf "$WORKSPACE/archives/patches/taglist.log" \
# 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:
- 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.
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