diff --git a/.github/workflows/auto-tag.yml b/.github/workflows/auto-tag.yml index 502d777..1f61cad 100644 --- a/.github/workflows/auto-tag.yml +++ b/.github/workflows/auto-tag.yml @@ -86,13 +86,21 @@ jobs: - name: Verify dist-tags run: | PACKAGE_NAME=$(node -p "require('./package.json').name") - LATEST=$(npm view "${PACKAGE_NAME}" dist-tags.latest) - NEXT=$(npm view "${PACKAGE_NAME}" dist-tags.next || true) - echo "latest=${LATEST}" - echo "next=${NEXT}" + for attempt in 1 2 3 4 5; do + LATEST=$(npm view "${PACKAGE_NAME}" dist-tags.latest) + NEXT=$(npm view "${PACKAGE_NAME}" dist-tags.next || true) - if [ "${{ steps.npm-tag.outputs.tag }}" = "latest" ] && [ "${LATEST}" != "${NEXT}" ]; then - echo "Expected next to match latest on stable release, but they differ." - exit 1 - fi + echo "Attempt ${attempt}: latest=${LATEST}, next=${NEXT}" + + if [ "${{ steps.npm-tag.outputs.tag }}" != "latest" ] || [ "${LATEST}" = "${NEXT}" ]; then + echo "Dist-tags verified." + exit 0 + fi + + if [ "$attempt" -eq 5 ]; then + echo "::warning::dist-tags not synced after 5 attempts (latest=${LATEST}, next=${NEXT}). Registry propagation may be delayed." + exit 0 + fi + sleep $((attempt * 10)) + done