Skip to content

Commit 6b6f1ab

Browse files
committed
ci: add retry logic for SDK version validation
1 parent 7e1af18 commit 6b6f1ab

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

.github/workflows/create-release-pr.yml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,16 @@ jobs:
9999
if: inputs.android_version != ''
100100
run: |
101101
VERSION="${{ inputs.android_version }}"
102-
# validate the version exists on GitHub
103-
curl -sfH "Authorization: token ${{ github.token }}" "https://api.github.com/repos/OneSignal/OneSignal-Android-SDK/releases/tags/${VERSION}" >/dev/null || { echo "✗ Android SDK version ${VERSION} not found"; exit 1; }
102+
FOUND=false
103+
for i in 1 2 3 4 5; do
104+
if curl -sfH "Authorization: token ${{ github.token }}" \
105+
"https://api.github.com/repos/OneSignal/OneSignal-Android-SDK/releases/tags/${VERSION}" >/dev/null; then
106+
FOUND=true; break
107+
fi
108+
echo "Attempt $i: Android SDK version ${VERSION} not found, retrying in 30s..."
109+
sleep 30
110+
done
111+
if [ "$FOUND" != "true" ]; then echo "✗ Android SDK version ${VERSION} not found after 5 attempts"; exit 1; fi
104112
sed -i -E "s/spec=\"com\.onesignal:OneSignal:[0-9][0-9.]*\"/spec=\"com.onesignal:OneSignal:$VERSION\"/" com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml
105113
sed -i -E "s/'com\.onesignal:OneSignal:[0-9][0-9.]*'/'com.onesignal:OneSignal:$VERSION'/" examples/demo/Assets/Plugins/Android/mainTemplate.gradle
106114
sed -i -E "s/<package>com\.onesignal:OneSignal:[0-9][0-9.]*<\/package>/<package>com.onesignal:OneSignal:$VERSION<\/package>/" examples/demo/ProjectSettings/AndroidResolverDependencies.xml
@@ -114,8 +122,16 @@ jobs:
114122
if: inputs.ios_version != ''
115123
run: |
116124
VERSION="${{ inputs.ios_version }}"
117-
# validate the version exists on GitHub
118-
curl -sfH "Authorization: token ${{ github.token }}" "https://api.github.com/repos/OneSignal/OneSignal-iOS-SDK/releases/tags/${VERSION}" >/dev/null || { echo "✗ iOS SDK version ${VERSION} not found"; exit 1; }
125+
FOUND=false
126+
for i in 1 2 3 4 5; do
127+
if curl -sfH "Authorization: token ${{ github.token }}" \
128+
"https://api.github.com/repos/OneSignal/OneSignal-iOS-SDK/releases/tags/${VERSION}" >/dev/null; then
129+
FOUND=true; break
130+
fi
131+
echo "Attempt $i: iOS SDK version ${VERSION} not found, retrying in 30s..."
132+
sleep 30
133+
done
134+
if [ "$FOUND" != "true" ]; then echo "✗ iOS SDK version ${VERSION} not found after 5 attempts"; exit 1; fi
119135
sed -i -E "s/version=\"[0-9][0-9.]*\"/version=\"$VERSION\"/" com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml
120136
121137
# Only commit if there are changes

0 commit comments

Comments
 (0)