Add retry logic and authentication to ACS deployment version fetch (#5051)

* Initial plan

* Add retry logic and authentication to ACS deployment version fetch

Co-authored-by: pmacius <158472457+pmacius@users.noreply.github.com>

* Update .github/actions/deploy-local-acs/action.yml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pmacius <158472457+pmacius@users.noreply.github.com>
This commit is contained in:
Copilot
2026-02-18 11:50:42 +01:00
committed by GitHub
co-authored by pmacius
parent de59a0b211
commit 0f7bd89263
+33 -3
View File
@@ -69,11 +69,41 @@ runs:
shell: bash
env:
ACS_VERSION_INPUT: ${{ inputs.acs_deployment_version }}
GITHUB_TOKEN: ${{ github.token }}
run: |
if [ "$ACS_VERSION_INPUT" = "latest" ]; then
latest_tag=$(curl -s https://api.github.com/repos/Alfresco/acs-deployment/releases/latest | jq -r .tag_name)
echo "Using latest ACS deployment version: $latest_tag"
echo "version=$latest_tag" >> $GITHUB_OUTPUT
max_retries=3
retry_count=0
latest_tag=""
while [ $retry_count -lt $max_retries ]; do
echo "Attempt $((retry_count + 1)) of $max_retries to fetch latest ACS deployment version..."
if [ -n "$GITHUB_TOKEN" ]; then
response=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" https://api.github.com/repos/Alfresco/acs-deployment/releases/latest)
else
response=$(curl -s https://api.github.com/repos/Alfresco/acs-deployment/releases/latest)
fi
latest_tag=$(echo "$response" | jq -r .tag_name 2>/dev/null || echo "")
if [ "$latest_tag" != "null" ] && [ -n "$latest_tag" ]; then
echo "Successfully fetched latest ACS deployment version: $latest_tag"
echo "version=$latest_tag" >> $GITHUB_OUTPUT
exit 0
fi
echo "Warning: Received invalid response (tag_name: $latest_tag)"
retry_count=$((retry_count + 1))
if [ $retry_count -lt $max_retries ]; then
sleep_time=$((2 ** retry_count))
echo "Retrying in $sleep_time seconds..."
sleep $sleep_time
fi
done
echo "Error: Failed to fetch latest ACS deployment version after $max_retries attempts"
echo "Last response: $response"
exit 1
else
echo "Using specified ACS deployment version: $ACS_VERSION_INPUT"
echo "version=$ACS_VERSION_INPUT" >> $GITHUB_OUTPUT