aboutsummaryrefslogtreecommitdiffstats
path: root/version-manifest/src/main/scripts/check-docker-manifest.sh
blob: 26e63b82d6feaade5b3d4fb7b1097e504c17e563 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

if [ "$#" -ne 1 ]; then
    echo This script checks docker-manifest.csv to verify that the specified versions exist in nexus3
    echo "$0 <docker-manifest.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++ ))

    else
        tags=$(curl -s $NEXUS_RELEASE_PREFIX/$image/tags/list | jq -r '.tags[]' 2> /dev/null)
        echo "$tags" | grep -q "^$tag\$"
        if [ $? -ne 0 ]; then
            echo "[WARN] $image:$tag not released"
            #echo "$tags" | sed 's/^/  /'
        fi
    fi
done
exit $err