Skip to content

Commit 8795047

Browse files
committed
ci: fix SDK version parsing in release PR
1 parent 83b9777 commit 8795047

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

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

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,18 @@ jobs:
9292
9393
# Get versions from target branch (not the release branch)
9494
CURRENT_VERSION=$(git show origin/${{ inputs.target_branch }}:package.json | jq -r .version)
95-
ANDROID_VERSION=$(git show origin/${{ inputs.target_branch }}:android/build.gradle | grep "com.onesignal:OneSignal:" | sed -E "s/.*OneSignal:([^\"']+).*/\1/")
96-
IOS_VERSION=$(git show origin/${{ inputs.target_branch }}:react-native-onesignal.podspec | grep "OneSignalXCFramework" | sed -E "s/.*'([^']+)'.*/\1/")
95+
ANDROID_VERSION=$(git show origin/${{ inputs.target_branch }}:android/build.gradle | sed -nE "s/.*def oneSignalVersion = ['\"]([^'\"]+)['\"].*/\1/p" | head -n 1)
96+
IOS_VERSION=$(git show origin/${{ inputs.target_branch }}:react-native-onesignal.podspec | sed -nE "s/.*onesignal_xcframework_version = ['\"]([^'\"]+)['\"].*/\1/p" | head -n 1)
97+
98+
if [ -z "$ANDROID_VERSION" ]; then
99+
echo "::error::Failed to read Android SDK version from android/build.gradle"
100+
exit 1
101+
fi
102+
103+
if [ -z "$IOS_VERSION" ]; then
104+
echo "::error::Failed to read iOS SDK version from react-native-onesignal.podspec"
105+
exit 1
106+
fi
97107
98108
echo "rn_from=$CURRENT_VERSION" >> $GITHUB_OUTPUT
99109
echo "android_from=$ANDROID_VERSION" >> $GITHUB_OUTPUT
@@ -117,8 +127,11 @@ jobs:
117127
exit 1
118128
fi
119129
120-
# Update Android SDK version in build.gradle (handles both api '...' and api('...') syntax)
121-
sed -i '' -E "s/(com\.onesignal:OneSignal:)[^\"']+/\1$VERSION/" android/build.gradle
130+
sed -i '' -E "s/(def oneSignalVersion = ['\"])[^'\"]+(['\"])/\1$VERSION\2/" android/build.gradle
131+
if ! grep -q "def oneSignalVersion = '${VERSION}'" android/build.gradle; then
132+
echo "::error::Failed to update Android SDK version in android/build.gradle to ${VERSION}"
133+
exit 1
134+
fi
122135
echo "✓ Updated android/build.gradle with Android SDK ${VERSION}"
123136
124137
# Only commit if there are changes
@@ -143,7 +156,11 @@ jobs:
143156
exit 1
144157
fi
145158
146-
sed -i '' "s/s\.dependency 'OneSignalXCFramework', '[^']*'/s.dependency 'OneSignalXCFramework', '$VERSION'/" react-native-onesignal.podspec
159+
sed -i '' -E "s/(onesignal_xcframework_version = ['\"])[^'\"]+(['\"])/\1$VERSION\2/" react-native-onesignal.podspec
160+
if ! grep -q "onesignal_xcframework_version = '${VERSION}'" react-native-onesignal.podspec; then
161+
echo "::error::Failed to update iOS SDK version in react-native-onesignal.podspec to ${VERSION}"
162+
exit 1
163+
fi
147164
echo "✓ Updated react-native-onesignal.podspec with iOS SDK ${VERSION}"
148165
149166
# Only commit if there are changes

0 commit comments

Comments
 (0)