echo "---> release-job.sh"
set -eu -o pipefail
-#Python bits. Remove when centos 7.7 builder is avaliable.
-if [ -d "/opt/pyenv" ]; then
- echo "INFO: Setting up pyenv"
- export PYENV_ROOT="/opt/pyenv"
- export PATH="$PYENV_ROOT/bin:$PATH"
-fi
-PYTHONPATH=$(pwd)
-export PYTHONPATH
-pyenv local 3.6.4
-export PYENV_VERSION="3.6.4"
-pip install --user lftools[nexus] jsonschema niet yq
+set +u
+python3 -m venv /tmp/v/venv/
+# shellcheck disable=SC1091
+source /tmp/v/venv/bin/activate
+set -u
+python -m pip install lftools[nexus] jsonschema niet yq
#Functions.
if [[ $VERSION == "None" ]]; then
VERSION="$(niet ".container_release_tag" "$release_file")"
fi
- if $(grep -q "container_pull_registry" "$release_file") ; then
+ if grep -q "container_pull_registry" "$release_file" ; then
CONTAINER_PULL_REGISTRY="$(niet ".container_pull_registry" "$release_file")"
fi
- if $(grep -q "container_push_registry" "$release_file") ; then
+ if grep -q "container_push_registry" "$release_file" ; then
CONTAINER_PUSH_REGISTRY="$(niet ".container_push_registry" "$release_file")"
fi
# Make sure both pull and push registries are defined
fi
}
+verify_version_match_release(){
+ wget -P /tmp "${LOGS_URL}/"console.log.gz
+ echo "INFO: Comparing version $VERSION with log snippet from maven-stage:"
+ if zgrep "Successfully uploaded" /tmp/console.log.gz | grep "$VERSION"; then
+ echo "INFO: version $VERSION matches maven-stage artifacts"
+ else
+ echo "ERROR: Defined version in release file does not match staging repo artifacts version to be released"
+ echo " Please make sure maven-stage job selected as candidate and release version are correct"
+ exit 1
+ fi
+}
+
tag(){
# Import public signing key
gpg --import "$SIGNING_PUBKEY"
lfn_umbrella="$(echo "$GERRIT_HOST" | awk -F"." '{print $2}')"
for namequoted in $(cat $release_file | yq '.containers[].name'); do
- versionquoted=$(cat $release_file | yq ".containers[] |select(.name=="$namequoted") |.version")
+ versionquoted=$(cat $release_file | yq ".containers[] |select(.name==$namequoted) |.version")
#Remove extra yaml quotes
name="${namequoted#\"}"
fi
set_variables_maven
verify_version
+ verify_version_match_release
maven_release_file
elif [[ "$DISTRIBUTION_TYPE" == "container" ]]; then
wget -q https://raw.githubusercontent.com/lfit/releng-global-jjb/master/schema/release-container-schema.yaml