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
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
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
-- builder:
- name: autorelease-generate-release-patches
- builders:
- - shell: !include-raw: include-raw-autorelease-release-versions.sh
+ # DO NOT fail the build if copying failed.
+ exit 0
- builder:
- name: autorelease-sys-stats
+ name: autorelease-generate-release-patches
builders:
- - shell: |
- uname -a
- df -h
- # generate accounting summary
- sudo LC_ALL=C /usr/lib64/sa/sa2 -A
- sar -r
+ - shell: !include-raw:
+ - ../global-jjb/shell/lftools-install.sh
+ - include-raw-autorelease-release-versions.sh
- builder:
name: autorelease-get-integration-test-variables
- shell: |
./scripts/fix-relativepaths.sh
+- 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
+
- publisher:
# include-raw-autorelease-notify-build-failure.sh searches console log for
# failures and emails the status to the release mailing list.