X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fversion-bump.sh;h=f88423f0a86314fc65ff12a75d24ce1e374cb0fb;hb=cb52af35b0fa1272dec4181513fd3227b4df9f4c;hp=65f106354121758d7c1b9f1c71bb11f0ba10186a;hpb=8e63add0b8c1671c3bd2ba2f0bac9f72aac7bbdc;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/version-bump.sh b/jjb/autorelease/version-bump.sh index 65f106354..f88423f0a 100644 --- a/jjb/autorelease/version-bump.sh +++ b/jjb/autorelease/version-bump.sh @@ -1,5 +1,5 @@ #!/bin/bash -# @License EPL-1.0 +# SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2017 The Linux Foundation and others. # @@ -12,6 +12,11 @@ # This script performs version bumping activities for an ODL release. echo "---> version-bump.sh" +# The only purpose of RELEASE_TAG in this script is to set the Gerrit topic. +# It is also used as a placeholder for version bumping but gets wiped out +# immediately to bump versions by x.y.(z+1). +RELEASE_TAG="${STREAM^}" + mkdir -p "$WORKSPACE/archives" LOG_FILE="$WORKSPACE/archives/version-bump.log" BRANCH="$GERRIT_BRANCH" @@ -20,7 +25,18 @@ BRANCH="$GERRIT_BRANCH" set -eu -o pipefail git checkout -b "${BRANCH,,}" "origin/${BRANCH,,}" -git submodule foreach git checkout -b "${BRANCH,,}" "origin/${BRANCH,,}" + +# TODO: Simplify once stable/nitrogen is no longer supported. +for module in $(git submodule | awk '{ print $2 }') +do + pushd "$module" + if [ "$GERRIT_BRANCH" == "stable/nitrogen" ] && [ "$module" == "yangtools" ]; then + git checkout -b "v1.2.x" "origin/v1.2.x" + else + git checkout -b "${BRANCH,,}" "origin/${BRANCH,,}" + fi + popd +done # Setup Gerrit remove to ensure Change-Id gets set on commit. git config --global --add gitreview.username "jenkins-releng" @@ -43,12 +59,21 @@ mkdir -p "$patch_dir" for module in $(git submodule | awk '{ print $2 }') do pushd "$module" - git format-patch --stdout "origin/${BRANCH,,}" > "$patch_dir/${module//\//-}.patch" - git bundle create "$patch_dir/${module//\//-}.bundle" "origin/${BRANCH,,}..HEAD" + # TODO: Remove once stable/nitrogen is no longer supported. + if [ "$GERRIT_BRANCH" == "stable/nitrogen" ] && [ "$module" == "yangtools" ]; then + git format-patch --stdout "origin/v1.2.x" > "$patch_dir/${module//\//-}.patch" + git bundle create "$patch_dir/${module//\//-}.bundle" "origin/v1.2.x..HEAD" + else + git format-patch --stdout "origin/${BRANCH,,}" > "$patch_dir/${module//\//-}.patch" + git bundle create "$patch_dir/${module//\//-}.bundle" "origin/${BRANCH,,}..HEAD" + fi popd done -# Verify +########## +# Verify # +########## + { echo "----> Verify version bump" git submodule foreach git show HEAD @@ -58,27 +83,40 @@ done ls "$patch_dir" } | tee -a "$LOG_FILE" -# Push +######### +# Build # +######### + +MVN_GOALS=(clean install) if [ "$DRY_RUN" = "false" ] then - # Run a build here! Should be safe to run mvn clean deploy as nothing should be + # Should be safe to run mvn clean deploy as nothing should be # using the version bumped versions just yet. - ./scripts/fix-relativepaths.sh - "$MVN" clean deploy -Pq \ - -s "$SETTINGS_FILE" \ - -gs "$GLOBAL_SETTINGS_FILE" \ - -DaltDeploymentRepository="opendaylight-snapshot::default::https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot" \ - --show-version \ - --batch-mode \ - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ - -Djenkins \ - -Dmaven.repo.local=/tmp/r \ - -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r - - # Clear any changes caused by Maven build - git checkout -f - git submodule foreach git checkout -f + MVN_GOALS=(clean deploy) +fi + +./scripts/fix-relativepaths.sh +"$MVN" "${MVN_GOALS[@]}" -Pq \ +-s "$SETTINGS_FILE" \ +-gs "$GLOBAL_SETTINGS_FILE" \ +-DaltDeploymentRepository="opendaylight-snapshot::default::https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot" \ +--show-version \ +--batch-mode \ +-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ +-Djenkins \ +-Dmaven.repo.local=/tmp/r \ +-Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r + +# Clear any changes caused by Maven build +git checkout -f +git submodule foreach git checkout -f + +######## +# Push # +######## +if [ "$DRY_RUN" = "false" ] +then # Push up patches last, as long as nothing failed. git submodule foreach git review --yes -t "${RELEASE_TAG}" fi