Script to check docker staging versions vs release
Change-Id: Icc73fe30ab65f90a513e77e814a0c2ea3e5f1d61
Issue-ID: INT-586
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
diff --git a/version-manifest/pom.xml b/version-manifest/pom.xml
index 27fb4f4..48dd9c1 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 0000000..86f8221
--- /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