diff --git a/ci/scripts/promote.sh b/ci/scripts/promote.sh index 941507d0e81..931c0e293e0 100755 --- a/ci/scripts/promote.sh +++ b/ci/scripts/promote.sh @@ -45,20 +45,25 @@ if [[ $RELEASE_TYPE = "RELEASE" ]]; then POST "${ARTIFACTORY_SERVER}/api/build/distribute/${buildName}/${buildNumber}" > /dev/null || { echo "Failed to distribute" >&2; exit 1; } echo "Waiting for artifacts to be published" - ARTIFACTS_PUBLISHED=false - WAIT_TIME=10 - COUNTER=0 - while [ $ARTIFACTS_PUBLISHED == "false" ] && [ $COUNTER -lt 120 ]; do - result=$( curl -s https://api.bintray.com/packages/"${BINTRAY_SUBJECT}"/"${BINTRAY_REPO}"/"${groupId}" ) - versions=$( echo "$result" | jq -r '.versions' ) - exists=$( echo "$versions" | grep "$version" -o || true ) - if [ "$exists" = "$version" ]; then - ARTIFACTS_PUBLISHED=true + + WAIT_TIME=20 + WAIT_ATTEMPTS=120 + + artifacts_published=false + retry_counter=0 + while [ $artifacts_published == "false" ] && [ $retry_counter -lt WAIT_ATTEMPTS ]; do + result=$( curl -s -f -u ${BINTRAY_USERNAME}:${BINTRAY_API_KEY} https://api.bintray.com/packages/"${BINTRAY_SUBJECT}"/"${BINTRAY_REPO}"/"${groupId}" ) + if [ $? -eq 0 ]; then + versions=$( echo "$result" | jq -r '.versions' ) + exists=$( echo "$versions" | grep "$version" -o || true ) + if [ "$exists" = "$version" ]; then + artifacts_published=true + fi fi - COUNTER=$(( COUNTER + 1 )) + retry_counter=$(( retry_counter + 1 )) sleep $WAIT_TIME done - if [[ $ARTIFACTS_PUBLISHED = "false" ]]; then + if [[ $artifacts_published = "false" ]]; then echo "Failed to publish" exit 1 else