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"
-
- wrapper:
name: autorelease-build-timeout
wrappers:
# 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:
PYTHON="$WORKSPACE/venv/bin/python"
$PYTHON -m pip install --upgrade pip
$PYTHON -m pip install --upgrade networkx
- $PYTHON -m pip freeze
+ $PYTHON -m pip install --upgrade pipdeptree
+ pipdeptree
./scripts/determine-merge-order.py
deactivate
rm -rf $WORKSPACE/venv
- 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
- 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:
#!/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
+ 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
+ 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
- - include-raw-autorelease-release-versions.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
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'
+ - shell: !include-raw: notify-build-failure.sh
+ script-only-if-succeeded: false
+ script-only-if-failed: true