600d8c99cf79f8346c1122ec968d24d99cbc2aa5
[policy/docker.git] / compose / get-versions.sh
1 #! /bin/bash
2
3 # ============LICENSE_START====================================================
4 #  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
5 #  Modification Copyright 2021-2022 Nordix Foundation.
6 #  Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
7 # =============================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 #      http://www.apache.org/licenses/LICENSE-2.0
13 #
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 #
20 # SPDX-License-Identifier: Apache-2.0
21 # ============LICENSE_END======================================================
22
23 if [ -z "${WORKSPACE}" ]; then
24     WORKSPACE=$(git rev-parse --show-toplevel)
25     export WORKSPACE
26 fi
27
28 GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' \
29                     "${WORKSPACE}"/.gitreview)
30
31 echo GERRIT_BRANCH="${GERRIT_BRANCH}"
32
33 export POLICY_MARIADB_VER=10.10.2
34 echo POLICY_MARIADB_VER=${POLICY_MARIADB_VER}
35
36 export POLICY_POSTGRES_VER=11.1
37 echo POLICY_POSTGRES_VER=${POLICY_POSTGRES_VER}
38
39 function getDockerVersion
40 {
41     REPO=${1}
42     DEFAULT_DOCKER_IMAGE_NAME=${2:-}
43     DEFAULT_DOCKER_IMAGE_VERSION=${3:-}
44
45     REPO_RELEASE_DATA=$(
46         curl -qL --silent \
47             "https://github.com/onap/policy-parent/raw/$GERRIT_BRANCH/integration/src/main/resources/release/pf_release_data.csv" |
48         grep "^policy/$REPO"
49     )
50
51     # shellcheck disable=SC2034
52     read -r repo \
53         latest_released_tag \
54         latest_snapshot_tag \
55         changed_files \
56         docker_images \
57         <<< "$(echo "$REPO_RELEASE_DATA" | tr ',' ' ' )"
58
59     if [[ -z "$docker_images" ]]
60     then
61         if [[ -z "$DEFAULT_DOCKER_IMAGE_NAME" ]]
62         then
63             echo "repo $REPO does not produce a docker image, execution terminated"
64             exit 1
65         else
66             docker_images="$DEFAULT_DOCKER_IMAGE_NAME"
67         fi
68     fi
69
70     docker_image_version=$(echo "$latest_snapshot_tag" | awk -F \. '{print $1"."$2"-SNAPSHOT-latest"}')
71     docker_image_name=$(echo "$docker_images" | sed -e "s/^.*://" -e "s/^.//" -e "s/.$//")
72
73     if \
74         curl -qL --silent \
75             "https://nexus3.onap.org/service/rest/repository/browse/docker.snapshot/v2/onap/$docker_image_name/tags/" |
76             grep -q "$docker_image_version"
77     then
78         echo "using \"$docker_image_name:$docker_image_version\" docker image for repo \"$repo\""
79         return
80     fi
81
82     docker_image_version="$latest_released_tag"
83     if \
84         curl -qL --silent \
85             "https://nexus3.onap.org/service/rest/repository/browse/docker.release/v2/onap/$docker_image_name/tags/" |
86             grep -q "$docker_image_version"
87     then
88         echo "using \"$docker_image_name:$docker_image_version\" docker image for repo \"$repo\""
89         return
90     fi
91
92     docker_image_version="$DEFAULT_DOCKER_IMAGE_VERSION"
93     if \
94         curl -qL --silent \
95             "https://nexus3.onap.org/service/rest/repository/browse/docker.release/v2/onap/$docker_image_name/tags/" |
96             grep -q "$docker_image_version"
97     then
98         echo "using \"$docker_image_name:$docker_image_version\" docker image for repo \"$repo\""
99         return
100     else
101         echo "docker image \"$docker_image_name:$docker_image_version\" not found for repo \"$repo\""
102         exit 1
103     fi
104 }
105
106 getDockerVersion docker
107 export POLICY_DOCKER_VERSION="$docker_image_version"
108
109 getDockerVersion models "'policy-models-simulator'" 2.6.4
110 export POLICY_MODELS_VERSION="$docker_image_version"
111
112 getDockerVersion api
113 export POLICY_API_VERSION="$docker_image_version"
114
115 getDockerVersion pap
116 export POLICY_PAP_VERSION="$docker_image_version"
117
118 getDockerVersion apex-pdp
119 export POLICY_APEX_PDP_VERSION="$docker_image_version"
120
121 getDockerVersion drools-pdp
122 export POLICY_DROOLS_PDP_VERSION="$docker_image_version"
123
124 getDockerVersion xacml-pdp
125 export POLICY_XACML_PDP_VERSION="$docker_image_version"
126
127 getDockerVersion distribution
128 export POLICY_DISTRIBUTION_VERSION="$docker_image_version"
129
130 getDockerVersion clamp
131 export POLICY_CLAMP_VERSION="$docker_image_version"
132
133 getDockerVersion gui
134 export POLICY_GUI_VERSION="$docker_image_version"
135
136 getDockerVersion drools-applications
137 export POLICY_DROOLS_APPS_VERSION="$docker_image_version"