diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml
index 3a4d6823..05fd39de 100644
--- a/.github/workflows/common.yml
+++ b/.github/workflows/common.yml
@@ -137,9 +137,11 @@ jobs:
processors: ${{ env.PROCESSORS }}
matrix: ${{ env.matrix }}
build_version: ${{ env.BUILD_VERSION }}
+ release_train_version: ${{ env.RELEASE_TRAIN_VERSION }}
build_version_type: ${{ env.BUILD_VERSION_TYPE }}
is_version_change: ${{ env.IS_VERSION_CHANGE }}
next_dev_version: ${{ env.NEXT_DEV_VERSION }}
+ release_train_next_dev_version: ${{ env.RELEASE_TRAIN_NEXT_DEV_VERSION }}
jdk_build: ${{ env.JDK_BUILD }}
jre_version: ${{ env.JRE_DEFAULT }}
core:
@@ -195,8 +197,8 @@ jobs:
run: |
ROOT_DIR=$(realpath $PWD)
pushd stream-applications >/dev/null
- echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }}"
- $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}"
+ echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }} / ${{ needs.parameters.outputs.release_train_build_version }}"
+ $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}" "${{ needs.parameters.outputs.release_train_build_version }}"
echo "::notice ::checking updated versions"
set +e
MESSAGE=$($ROOT_DIR/check-versions-for-release.sh ${{ needs.parameters.outputs.build_version_type }})
@@ -321,8 +323,8 @@ jobs:
run: |
ROOT_DIR=$(realpath $PWD)
pushd stream-applications >/dev/null
- echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }}"
- $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}"
+ echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }} / ${{ needs.parameters.outputs.release_train_build_version }}"
+ $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}" "${{ needs.parameters.outputs.release_train_build_version }}"
echo "::notice ::checking updated versions"
set +e
MESSAGE=$($ROOT_DIR/check-versions-for-release.sh ${{ needs.parameters.outputs.build_version_type }})
@@ -421,8 +423,8 @@ jobs:
run: |
ROOT_DIR=$(realpath $PWD)
pushd stream-applications >/dev/null
- echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }}"
- $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}"
+ echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }} / ${{ needs.parameters.outputs.release_train_build_version }}"
+ $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}" "${{ needs.parameters.outputs.release_train_build_version }}"
echo "::notice ::checking updated versions"
set +e
MESSAGE=$($ROOT_DIR/check-versions-for-release.sh ${{ needs.parameters.outputs.build_version_type }})
@@ -523,8 +525,8 @@ jobs:
run: |
ROOT_DIR=$(realpath $PWD)
pushd stream-applications >/dev/null
- echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }}"
- $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}"
+ echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }} / ${{ needs.parameters.outputs.release_train_build_version }}"
+ $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}" "${{ needs.parameters.outputs.release_train_build_version }}"
echo "::notice ::checking updated versions"
set +e
MESSAGE=$($ROOT_DIR/check-versions-for-release.sh ${{ needs.parameters.outputs.build_version_type }})
@@ -620,8 +622,8 @@ jobs:
run: |
ROOT_DIR=$(realpath $PWD)
pushd stream-applications >/dev/null
- echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }}"
- $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}"
+ echo "::notice ::updating versions to ${{ needs.parameters.outputs.build_version }} / ${{ needs.parameters.outputs.release_train_build_version }}"
+ $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.build_version }}" "${{ needs.parameters.outputs.release_train_build_version }}"
echo "::notice ::checking updated versions"
set +e
MESSAGE=$($ROOT_DIR/check-versions-for-release.sh ${{ needs.parameters.outputs.build_version_type }})
@@ -666,8 +668,9 @@ jobs:
pushd stream-applications > /dev/null
git config user.name "GitHub Actions Bot"
git config user.email "<>"
- git commit -a -m "Release ${{ needs.parameters.outputs.build_version }}"
+ git commit -a -m "Release ${{ needs.parameters.outputs.build_version }} / ${{ needs.parameters.outputs.release_train_build_version }}"
git tag "v${{ needs.parameters.outputs.build_version }}"
+ git tag "v${{ needs.parameters.outputs.release_train_build_version }}"
git push --tags -v origin
popd > /dev/null
# add jfrog download
@@ -682,11 +685,11 @@ jobs:
pushd stream-applications >/dev/null
git config user.name "GitHub Actions Bot"
git config user.email "<>"
- echo "::notice ::updating next dev versions to ${{ needs.parameters.outputs.next_dev_version }}"
- $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.next_dev_version }}"
- echo "::notice ::setting released version to next dev version ${{ needs.parameters.outputs.next_dev_version }}"
+ echo "::notice ::updating next dev versions to ${{ needs.parameters.outputs.next_dev_version }} / ${{ needs.parameters.outputs.release_train_next_dev_version }}"
+ $ROOT_DIR/update-project-version.sh "${{ needs.parameters.outputs.next_dev_version }}" "${{ needs.parameters.outputs.release_train_next_dev_version }}"
+ echo "::notice ::setting released version to next dev version ${{ needs.parameters.outputs.next_dev_version }} / ${{ needs.parameters.outputs.release_train_next_dev_version }}"
./next-dev-version.sh
- git commit -a -m "Next development version ${{ needs.parameters.outputs.next_dev_version }}"
+ git commit -a -m "Next development version ${{ needs.parameters.outputs.next_dev_version }} / ${{ needs.parameters.outputs.release_train_next_dev_version }}"
git push -v origin
popd > /dev/null
rerun-jobs:
diff --git a/get-build-version-params.sh b/get-build-version-params.sh
index 8367d122..a000c7ed 100755
--- a/get-build-version-params.sh
+++ b/get-build-version-params.sh
@@ -7,7 +7,7 @@ if (( sourced == 0 )); then
exit 1
fi
# get the target release version and type
-export BUILD_VERSION=$(cat ./version/RELEASE_VERSION)
+BUILD_VERSION=$(jq -r '.release_version' ./versions.json)
echo "BUILD_VERSION: $BUILD_VERSION"
set +e
IS_SNAPSHOT=$(echo $BUILD_VERSION | grep -E "^.*-SNAPSHOT$")
@@ -28,17 +28,32 @@ fi
echo "BUILD_VERSION_TYPE: $BUILD_VERSION_TYPE"
# get the current version from pom.xml
-export CUR_VERSION=$($SCDIR/mvn-get-version.sh)
+CUR_VERSION=$($SCDIR/mvn-get-version.sh)
echo "CUR_VERSION: $CUR_VERSION"
# is build a version change?
if [ "$CUR_VERSION" = "$BUILD_VERSION" ]; then
- export IS_VERSION_CHANGE="false"
+ IS_VERSION_CHANGE="false"
else
- export IS_VERSION_CHANGE="true"
+ IS_VERSION_CHANGE="true"
fi
echo "IS_VERSION_CHANGE: $IS_VERSION_CHANGE"
# get the next dev version
-export NEXT_DEV_VERSION=$(cat ./version/NEXT_DEV_VERSION)
+NEXT_DEV_VERSION=$(jq -r '.next_dev_version' ./versions.json)
echo "NEXT_DEV_VERSION: $NEXT_DEV_VERSION"
+
+RELEASE_TRAIN_VERSION=$(jq -r '.release_train.release_version' ./versions.json)
+echo "RELEASE_TRAIN_VERSION=$RELEASE_TRAIN_VERSION"
+RELEASE_TRAIN_NEXT_DEV_VERSION=$(jq -r '.release_train.next_dev_version' ./versions.json)
+echo "RELEASE_TRAIN_NEXT_DEV_VERSION=$RELEASE_TRAIN_NEXT_DEV_VERSION"
+
+export BUILD_VERSION
+export BUILD_VERSION_TYPE
+export IS_GA
+export IS_MILESTONE
+export IS_SNAPSHOT
+export IS_VERSION_CHANGE
+export CUR_VERSION
+export RELEASE_TRAIN_VERSION
+export RELEASE_TRAIN_NEXT_DEV_VERSION
diff --git a/next-dev-version.sh b/next-dev-version.sh
index 9f6cff9a..6d25ad81 100755
--- a/next-dev-version.sh
+++ b/next-dev-version.sh
@@ -3,7 +3,23 @@ SCDIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
SCDIR=$(realpath $SCDIR)
set +e
-
-echo "Updating RELEASE_VERSION: $(cat $SCDIR/version/RELEASE_VERSION) to NEXT_DEV_VERSION: $(cat $SCDIR/version/NEXT_DEV_VERSION)"
-cat $SCDIR/version/NEXT_DEV_VERSION > $SCDIR/version/RELEASE_VERSION
-echo "Updated RELEASE_VERSION: $(cat $SCDIR/version/RELEASE_VERSION)"
+RELEASE_VERSION=$(jq -r '.release_version' ./versions.json)
+NEXT_DEV_VERSION=$(jq -r '.next_dev_version' ./versions.json)
+if [ "$RELEASE_VERSION" != "$NEXT_DEV_VERSION" ]; then
+ echo "Updating RELEASE_VERSION: $RELEASE_VERSION to NEXT_DEV_VERSION: $NEXT_DEV_VERSION"
+ cat ./versions.json | jq --arg ndv "$NEXT_DEV_VERSION" '.release_version = $ndv' | tee ./versions.json
+ RELEASE_VERSION=$(jq -r '.release_version' ./versions.json)
+ echo "Updated RELEASE_VERSION: $RELEASE_VERSION"
+else
+ echo "No change in $RELEASE_VERSION -> $NEXT_DEV_VERSION"
+fi
+RELEASE_TRAIN_VERSION=$(jq -r '.release_train.release_version' ./versions.json)
+RELEASE_TRAIN_NEXT_DEV_VERSION=$(jq -r '.release_train.next_dev_version' ./versions.json)
+if [ "$RELEASE_TRAIN_VERSION" != "$RELEASE_TRAIN_NEXT_DEV_VERSION" ]; then
+ echo "Updating RELEASE_TRAIN_VERSION: $RELEASE_TRAIN_VERSION to RELEASE_TRAIN_NEXT_DEV_VERSION: $RELEASE_TRAIN_NEXT_DEV_VERSION"
+ cat ./versions.json | jq --arg ndv "$RELEASE_TRAIN_NEXT_DEV_VERSION" '.release_train.release_version = $ndv' | tee ./versions.json
+ RELEASE_TRAIN_VERSION=$(jq -r '.release_train.release_version' ./versions.json)
+ echo "Updated RELEASE_TRAIN_VERSION: $RELEASE_TRAIN_VERSION"
+else
+ echo "No change in $RELEASE_TRAIN_VERSION -> $RELEASE_TRAIN_NEXT_DEV_VERSION"
+fi
diff --git a/stream-applications-release-train/pom.xml b/stream-applications-release-train/pom.xml
index ba0e2c24..ca0f9557 100644
--- a/stream-applications-release-train/pom.xml
+++ b/stream-applications-release-train/pom.xml
@@ -3,9 +3,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
stream-applications-release-train
- 4.0.0-SNAPSHOT
+ 2022.0.0-SNAPSHOT
pom
-
org.springframework.cloud.stream.app
stream-applications-core
diff --git a/stream-applications-release-train/stream-applications-descriptor/pom.xml b/stream-applications-release-train/stream-applications-descriptor/pom.xml
index 02626601..dd5c3f42 100644
--- a/stream-applications-release-train/stream-applications-descriptor/pom.xml
+++ b/stream-applications-release-train/stream-applications-descriptor/pom.xml
@@ -4,7 +4,8 @@
stream-applications-release-train
org.springframework.cloud.stream.app
- 4.0.0-SNAPSHOT
+ 2022.0.0-SNAPSHOT
+ ../pom.xml
4.0.0
diff --git a/stream-applications-release-train/stream-applications-docs/pom.xml b/stream-applications-release-train/stream-applications-docs/pom.xml
index 27459251..7a35e026 100644
--- a/stream-applications-release-train/stream-applications-docs/pom.xml
+++ b/stream-applications-release-train/stream-applications-docs/pom.xml
@@ -8,7 +8,8 @@
org.springframework.cloud.stream.app
stream-applications-release-train
- 4.0.0-SNAPSHOT
+ 2022.0.0-SNAPSHOT
+ ../pom.xml
diff --git a/update-project-version.sh b/update-project-version.sh
index 1a8f2da8..fc693ad3 100755
--- a/update-project-version.sh
+++ b/update-project-version.sh
@@ -1,31 +1,47 @@
#!/usr/bin/env bash
-if [ "$1" = "" ]; then
- echo "VERSION required as first argument"
+SCDIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+SCDIR=$(realpath $SCDIR)
+if [ "$2" = "" ]; then
+ echo "VERSION and RELEASE_TRAIN_VERSION required as arguments"
exit 1
fi
VERSION=$1
-./mvnw versions:set \
+RELEASE_TRAIN_VERSION=$2
+$SCDIR/mvnw versions:set \
-DnewVersion="$VERSION" \
-s .settings.xml \
+ --offline \
-DprocessAllModules=true \
-DgenerateBackupPoms=false \
-Dartifactory.publish.artifacts=false \
-B $VERBOSE
-./mvnw versions:set-property -f stream-applications-release-train \
- -s .settings.xml \
- -DgenerateBackupPoms=false \
- -Dproperty=apps.version \
- -DnewVersion="$VERSION" \
- -B $VERBOSE
-./mvnw versions:set-property -f applications/stream-applications-core \
+$SCDIR/mvnw versions:set-property -f applications/stream-applications-core \
-s .settings.xml \
+ --offline \
-DgenerateBackupPoms=false \
-Dproperty=stream-apps-core.version \
-DnewVersion="$VERSION" \
-B $VERBOSE
-./mvnw versions:set-property -f applications/stream-applications-core \
+$SCDIR/mvnw versions:set-property -f applications/stream-applications-core \
-s .settings.xml \
+ --offline \
-DgenerateBackupPoms=false \
-Dproperty=java-functions.version \
-DnewVersion="$VERSION" \
- -B $VERBOSE
\ No newline at end of file
+ -B $VERBOSE
+$SCDIR/mvnw versions:set -f stream-applications-release-train \
+ -DnewVersion="$RELEASE_TRAIN_VERSION" \
+ --offline \
+ -s .settings.xml \
+ -DprocessFromLocalAggregationRoot=false
+ -DprocessParent=false \
+ -DgenerateBackupPoms=false \
+ -Dartifactory.publish.artifacts=false \
+ -B $VERBOSE
+$SCDIR/mvnw versions:set-property -f stream-applications-release-train \
+ -s .settings.xml \
+ --offline \
+ -DgenerateBackupPoms=false \
+ -Dproperty=apps.version \
+ -DnewVersion="$VERSION" \
+ -B $VERBOSE
diff --git a/versions.json b/versions.json
new file mode 100644
index 00000000..00207a2f
--- /dev/null
+++ b/versions.json
@@ -0,0 +1,8 @@
+{
+ "release_version": "4.0.0-SNAPSHOT",
+ "next_dev_version": "4.0.0-SNAPSHOT",
+ "release_train": {
+ "release_version": "2022.0.0-SNAPSHOT",
+ "next_dev_version": "2022.0.0-SNAPSHOT"
+ }
+}