Add verify job for staging manifest 41/54841/1
authorGary Wu <gary.i.wu@huawei.com>
Thu, 14 Jun 2018 17:09:22 +0000 (10:09 -0700)
committerGary Wu <gary.i.wu@huawei.com>
Thu, 14 Jun 2018 17:09:56 +0000 (10:09 -0700)
Change-Id: I857f992069424e74e8b106bf8455280e8111c060
Issue-ID: INT-533
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
version-manifest/pom.xml
version-manifest/src/main/scripts/check-docker-manifest-staging.sh [new file with mode: 0755]
version-manifest/src/main/scripts/check-docker-manifest.sh

index 2b97228..4a62911 100644 (file)
               </arguments>
             </configuration>
           </execution>
+          <execution>
+            <id>check-docker-manifest-staging-sorted</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.basedir}/src/main/scripts/check-sorted.sh</argument>
+                <argument>${project.basedir}/src/main/resources/docker-manifest-staging.csv</argument>
+              </arguments>
+            </configuration>
+          </execution>
           <execution>
             <id>check-java-manifest-sorted</id>
             <phase>validate</phase>
               </arguments>
             </configuration>
           </execution>
+          <execution>
+            <id>check-staging-docker-images-exist</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.basedir}/src/main/scripts/check-docker-manifest-staging.sh</argument>
+                <argument>${project.basedir}/src/main/resources/docker-manifest-staging.csv</argument>
+              </arguments>
+            </configuration>
+          </execution>
         </executions>
       </plugin>
     </plugins>
diff --git a/version-manifest/src/main/scripts/check-docker-manifest-staging.sh b/version-manifest/src/main/scripts/check-docker-manifest-staging.sh
new file mode 100755 (executable)
index 0000000..e37029e
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+if [ "$#" -ne 1 ]; then
+    echo This script checks docker-manifest-staging.csv to verify that the specified versions exist in nexus3
+    echo "$0 <docker-manifest-staging.csv>"
+    exit 1
+fi
+
+if [ -z "$WORKSPACE" ]; then
+    export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+NEXUS_PUBLIC_PREFIX="https://nexus3.onap.org/repository/docker.public/v2"
+NEXUS_RELEASE_PREFIX="https://nexus3.onap.org/repository/docker.release/v2"
+
+err=0
+for line in $(tail -n +2 $1); do
+    image=$(echo $line | cut -d , -f 1)
+    tag=$(echo $line | cut -d , -f 2)
+
+    tags=$(curl -s $NEXUS_PUBLIC_PREFIX/$image/tags/list | jq -r '.tags[]' 2> /dev/null)
+    echo "$tags" | grep -q "^$tag\$"
+    if [ $? -ne 0 ]; then
+        echo "[ERROR] $image:$tag not found"
+        #echo "$tags" | sed 's/^/  /'
+        (( err++ ))
+    fi
+done
+exit $err
index 6aa2374..384e284 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 if [ "$#" -ne 1 ]; then
-    echo This script checks docker-manifest.csv to verify that the specified versions exist in nexus3
+    echo This script checks docker-manifest.csv to verify that the specified versions have been released in nexus3
     echo "$0 <docker-manifest.csv>"
     exit 1
 fi