diff options
-rw-r--r-- | version-manifest/pom.xml | 14 | ||||
-rwxr-xr-x | version-manifest/src/main/scripts/compare-docker-manifests.sh | 25 |
2 files changed, 39 insertions, 0 deletions
diff --git a/version-manifest/pom.xml b/version-manifest/pom.xml index 27fb4f478..48dd9c12a 100644 --- a/version-manifest/pom.xml +++ b/version-manifest/pom.xml @@ -150,6 +150,20 @@ </configuration> </execution> <execution> + <id>compare-docker-manifests</id> + <phase>validate</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <arguments> + <argument>${project.basedir}/src/main/scripts/compare-docker-manifests.sh</argument> + <argument>${project.basedir}/src/main/resources/docker-manifest.csv</argument> + <argument>${project.basedir}/src/main/resources/docker-manifest-staging.csv</argument> + </arguments> + </configuration> + </execution> + <execution> <id>check-java-artifacts-released</id> <phase>verify</phase> <goals> diff --git a/version-manifest/src/main/scripts/compare-docker-manifests.sh b/version-manifest/src/main/scripts/compare-docker-manifests.sh new file mode 100755 index 000000000..86f8221e9 --- /dev/null +++ b/version-manifest/src/main/scripts/compare-docker-manifests.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +if [ "$#" -ne 2 ]; then + echo This script compares docker-manifest.csv with docker-manifest-staging.csv to verify that staging has later versions than release. + echo "$0 <docker-manifest.csv> <docker-manifest-staging.csv>" + exit 1 +fi + +if [ -z "$WORKSPACE" ]; then + export WORKSPACE=`git rev-parse --show-toplevel` +fi + +export LC_ALL=C + +err=0 +for line in $(join -t, $1 $2 | tail -n +2); do + image=$(echo $line | cut -d , -f 1) + release=$(echo $line | cut -d , -f 2) + staging=$(echo $line | cut -d , -f 3) + + if [[ "${staging}_" < "${release}_" ]]; then + echo "[WARNING] $image:$staging is older than $release." + fi +done +exit $err |