X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=integration%2Fsrc%2Fmain%2Fscripts%2Frelease%2FupdateRefs.sh;h=0d3131e9b19cd72979c6511e0b6818bdcf05342c;hb=21e702d12e37285a822365974a633611bf2b2dac;hp=0f253f977f9f3447c35e431f02010cd3537dfb4e;hpb=cd44921c7e00e699b27697d3e5be4fc3433b81a2;p=policy%2Fparent.git diff --git a/integration/src/main/scripts/release/updateRefs.sh b/integration/src/main/scripts/release/updateRefs.sh index 0f253f97..0d3131e9 100755 --- a/integration/src/main/scripts/release/updateRefs.sh +++ b/integration/src/main/scripts/release/updateRefs.sh @@ -24,7 +24,8 @@ set -e SCRIPT_NAME=$(basename "$0") repo_location="./" -release_data_file="./pf_release_data.csv" +release_data_file="pf_release_data.csv" +release_data_file_tag="" # Use the bash internal OSTYPE variable to check for MacOS if [[ "$OSTYPE" == "darwin"* ]] @@ -54,6 +55,8 @@ usage() echo " -o - update policy/drools-pdp references" echo " -x - update policy/apex-pdp references" echo " -k - update docker base images in Dockerfiles" + echo " -t tag - update release data in policy parent and" + echo " tag the release data file with the given tag" echo " -s - update release references to snapshot references," echo " if omitted, snapshot references are updated to release references" echo "" @@ -75,8 +78,9 @@ update_drools_pdp=false update_apex_pdp=false update_snapshot=false update_docker=false +update_release_file=false -while getopts "hd:l:r:pcmoxks" opt +while getopts "hd:l:r:pcmoxkt:s" opt do case $opt in h) @@ -109,6 +113,10 @@ do k) update_docker=true ;; + t) + update_release_file=true + release_data_file_tag="$OPTARG" + ;; s) update_snapshot=true ;; @@ -155,6 +163,12 @@ then exit 1 fi +if [ "$update_release_file" = true ] && [ -z "$release_data_file_tag" ] +then + echo "tag not specified on -t flag" + exit 1 +fi + # shellcheck disable=SC2034 # shellcheck disable=SC2046 read -r parent_repo \ @@ -239,8 +253,8 @@ then major_version=$(echo "$parent_latest_released_tag" | $SED -E 's/^([0-9]*)\.[0-9]*\.[0-9]*$/\1/') minor_version=$(echo "$parent_latest_released_tag" | $SED -E 's/^[0-9]*\.([0-9]*)\.[0-9]*$/\1/') patch_version=$(echo "$parent_latest_released_tag" | $SED -E 's/^[0-9]*\.[0-9]*\.([0-9]*)$/\1/') - new_patch_version=$(("$patch_version"+1)) + new_patch_version=$((patch_version+1)) new_snapshot_tag="$major_version"."$minor_version"."$new_patch_version"-SNAPSHOT echo updating policy parent reference to "$new_snapshot_tag" on "$repo_location/$target_repo" . . . @@ -396,13 +410,48 @@ fi if [ "$update_docker" = true ] && [ "$target_docker_images" != "" ] then - echo "updating docker base images to version $docker_latest_released_tag on repo $repo_location/$target_repo . . ." - find "$repo_location/$target_repo" \ - -name '*Docker*' - find "$repo_location/$target_repo" \ - -name '*Docker*' \ - -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9]*$/\1$docker_latest_released_tag/" {} \; - result_code=$? + if [ "$specified_repo" = "policy/docker" ] + then + if [ "$update_snapshot" = true ] + then + major_version=$(echo "$docker_latest_released_tag" | $SED -E 's/^([0-9]*)\.[0-9]*\.[0-9]*$/\1/') + minor_version=$(echo "$docker_latest_released_tag" | $SED -E 's/^[0-9]*\.([0-9]*)\.[0-9]*$/\1/') + patch_version=$(echo "$docker_latest_released_tag" | $SED -E 's/^[0-9]*\.[0-9]*\.([0-9]*)$/\1/') + + new_patch_version=$((patch_version+1)) + new_snapshot_tag="$major_version"."$minor_version"."$new_patch_version"-SNAPSHOT + + echo "updating docker base images to version $new_snapshot_tag on repo $repo_location/$target_repo . . ." + find "$repo_location/$target_repo" \ + -name '*Docker*' \ + -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$new_snapshot_tag/" {} \; + result_code=$? + else + next_release_version=${docker_latest_snapshot_tag%-*} + + echo "updating docker base images to version $next_release_version on repo $repo_location/$target_repo . . ." + find "$repo_location/$target_repo" \ + -name '*Docker*' \ + -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$next_release_version/" {} \; + result_code=$? + fi + else + if [ "$update_snapshot" == true ] + then + echo "updating docker base images to version $docker_latest_snapshot_tag on repo $repo_location/$target_repo . . ." + find "$repo_location/$target_repo" \ + -name '*Docker*' \ + -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$docker_latest_snapshot_tag/" {} \; + result_code=$? + else + echo "updating docker base images to version $docker_latest_released_tag on repo $repo_location/$target_repo . . ." + find "$repo_location/$target_repo" \ + -name '*Docker*' \ + -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$docker_latest_released_tag/" {} \; + result_code=$? + fi + fi + if [[ "$result_code" -eq 0 ]] then echo "docker base images updated on $repo_location/$target_repo" @@ -411,3 +460,29 @@ then exit 1 fi fi + +if [ "$update_release_file" = true ] +then + if [ ! "$target_repo" = "policy/parent" ] + then + echo "update of data file can only be done on the policy/parent repo" + exit 1 + fi + + release_data_file_name="$release_data_file_tag"_"$release_data_file" + + echo \ + "updating release data at" \ + "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file_name" + # Update the latest release file + cp \ + "$release_data_file" \ + "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file" + # Update the tagged release file + cp \ + "$release_data_file" \ + "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file_name" + echo \ + "updated release data at" \ + "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file_name" +fi