Skip to content

Commit 303105a

Browse files
committed
fix path
1 parent 8c69dff commit 303105a

File tree

1 file changed

+27
-107
lines changed

1 file changed

+27
-107
lines changed
Lines changed: 27 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
name: Bump Native OneSignal SDKs
22

33
on:
4-
push:
5-
branches:
6-
- "ci-bump-native-version"
74
workflow_dispatch:
85
inputs:
96
android_version:
@@ -15,9 +12,16 @@ on:
1512
required: true
1613
type: string
1714

15+
permissions:
16+
contents: write
17+
pull-requests: write
18+
1819
jobs:
1920
bump-native-sdks:
21+
name: Bump Native SDKs
2022
runs-on: ubuntu-latest
23+
env:
24+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2125

2226
steps:
2327
- name: Checkout repository
@@ -31,118 +35,34 @@ jobs:
3135
sudo apt-get install -y gh jq
3236
3337
- name: Configure GitHub CLI
34-
env:
35-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3638
run: gh auth status || gh auth login --with-token <<< "${GH_TOKEN}"
3739

3840
- name: Get current native SDK versions
3941
id: current
4042
run: |
41-
ANDROID_CURRENT=$(grep -oP '(?<=OneSignal-Android-SDK:)[0-9]+\.[0-9]+\.[0-9]+' com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml | head -1)
42-
IOS_CURRENT=$(grep -oP '(?<=OneSignal-iOS-SDK:)[0-9]+\.[0-9]+\.[0-9]+' com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml | head -1)
43-
44-
echo "android_current=${ANDROID_CURRENT}" >> $GITHUB_OUTPUT
45-
echo "ios_current=${IOS_CURRENT}" >> $GITHUB_OUTPUT
46-
echo "Detected current Android SDK: ${ANDROID_CURRENT}"
47-
echo "Detected current iOS SDK: ${IOS_CURRENT}"
48-
49-
- name: Gather all release notes between versions
50-
id: notes
51-
env:
52-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53-
run: |
54-
ANDROID_OLD=${{ steps.current.outputs.android_current }}
55-
ANDROID_NEW=${{ inputs.android_version }}
56-
IOS_OLD=${{ steps.current.outputs.ios_current }}
57-
IOS_NEW=${{ inputs.ios_version }}
43+
set -e
44+
cd "${GITHUB_WORKSPACE}" || exit 1
5845
59-
get_notes_between() {
60-
local repo=$1
61-
local from=$2
62-
local to=$3
63-
RELEASES=$(gh release list --repo "$repo" --limit 200 --json tagName --jq '.[] | .tagName' | sort -V)
64-
START=0
65-
NOTES=""
66-
for TAG in $RELEASES; do
67-
if [[ "$TAG" == "$from" ]]; then
68-
START=1
69-
continue
70-
fi
71-
if [[ "$START" -eq 1 ]]; then
72-
BODY=$(gh release view "$TAG" --repo "$repo" --json body,tagName --jq '". - ### " + .tagName + "\n" + .body')
73-
NOTES+="$BODY\n\n"
74-
fi
75-
if [[ "$TAG" == "$to" ]]; then
76-
break
77-
fi
78-
done
79-
echo -e "$NOTES"
80-
}
81-
82-
ANDROID_NOTES=$(get_notes_between "OneSignal/OneSignal-Android-SDK" "$ANDROID_OLD" "$ANDROID_NEW")
83-
IOS_NOTES=$(get_notes_between "OneSignal/OneSignal-iOS-SDK" "$IOS_OLD" "$IOS_NEW")
84-
85-
echo "android_notes<<EOF" >> $GITHUB_OUTPUT
86-
echo "$ANDROID_NOTES" >> $GITHUB_OUTPUT
87-
echo "EOF" >> $GITHUB_OUTPUT
88-
echo "ios_notes<<EOF" >> $GITHUB_OUTPUT
89-
echo "$IOS_NOTES" >> $GITHUB_OUTPUT
90-
echo "EOF" >> $GITHUB_OUTPUT
91-
92-
- name: Update native SDK versions in Unity dependencies
93-
run: |
94-
ANDROID_NEW=${{ inputs.android_version }}
95-
IOS_NEW=${{ inputs.ios_version }}
46+
ANDROID_FILE="com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml"
47+
IOS_FILE="com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml"
9648
97-
echo "🔧 Updating Android SDK to $ANDROID_NEW in XML and Gradle..."
98-
sed -i "s/OneSignal-Android-SDK:[0-9.]\+/OneSignal-Android-SDK:${ANDROID_NEW}/g" \
99-
com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml
100-
sed -i "s/OneSignal-Android-SDK:[0-9.]\+/OneSignal-Android-SDK:${ANDROID_NEW}/g" OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle
101-
sed -i "s/OneSignal-Android-SDK:[0-9.]\+/OneSignal-Android-SDK:${ANDROID_NEW}/g" OneSignalExample/Assets/Plugins/Android/AndroidResolverDependencies.xml
49+
if [[ ! -f "$ANDROID_FILE" ]]; then
50+
echo "❌ Android dependency file not found!"
51+
find . -name "OneSignalAndroidDependencies.xml"
52+
exit 1
53+
fi
10254
103-
echo "🔧 Updating iOS SDK to $IOS_NEW in XML..."
104-
sed -i "s/OneSignal-iOS-SDK:[0-9.]\+/OneSignal-iOS-SDK:${IOS_NEW}/g" \
105-
com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml
106-
107-
- name: Insert formatted Android/iOS release notes under '## [Unreleased]'
108-
run: |
109-
ANDROID_OLD=${{ steps.current.outputs.android_current }}
110-
IOS_OLD=${{ steps.current.outputs.ios_current }}
111-
ANDROID_NEW=${{ inputs.android_version }}
112-
IOS_NEW=${{ inputs.ios_version }}
113-
ANDROID_NOTES="${{ steps.notes.outputs.android_notes }}"
114-
IOS_NOTES="${{ steps.notes.outputs.ios_notes }}"
115-
CHANGELOG="OneSignalExample/Assets/OneSignal/CHANGELOG.md"
116-
TMPFILE=$(mktemp)
117-
118-
INSERTION="\
119-
- Updated included Android SDK from ${ANDROID_OLD} to [${ANDROID_NEW}](https://github.com/OneSignal/OneSignal-Android-SDK/releases/tag/${ANDROID_NEW})\n${ANDROID_NOTES}\n\
120-
- Updated included iOS SDK from ${IOS_OLD} to [${IOS_NEW}](https://github.com/OneSignal/OneSignal-iOS-SDK/releases/tag/${IOS_NEW})\n${IOS_NOTES}\n\
121-
\nFor full changes, see the [native release notes](https://github.com/OneSignal/OneSignal-Android-SDK/releases) and [iOS native release notes](https://github.com/OneSignal/OneSignal-iOS-SDK/releases)\n"
122-
123-
awk -v insert="$INSERTION" '/## \[Unreleased\]/ && !done {print; print insert; done=1; next}1' "$CHANGELOG" > "$TMPFILE" && mv "$TMPFILE" "$CHANGELOG"
124-
125-
echo "✅ Added detailed changelog under ## [Unreleased]"
126-
127-
- name: Commit and create PR
128-
env:
129-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
130-
run: |
131-
git config user.name "github-actions[bot]"
132-
git config user.email "github-actions[bot]@users.noreply.github.com"
55+
if [[ ! -f "$IOS_FILE" ]]; then
56+
echo "❌ iOS dependency file not found!"
57+
find . -name "OneSignaliOSDependencies.xml"
58+
exit 1
59+
fi
13360
134-
BRANCH="bump-native-${{ inputs.android_version }}-${{ inputs.ios_version }}"
135-
git checkout -b "$BRANCH"
136-
git add .
137-
git commit -m "Bump native OneSignal SDKs; OneSignal-Android-SDK ${{ inputs.android_version }}, OneSignal-iOS-SDK ${{ inputs.ios_version }}"
138-
git push origin "$BRANCH"
61+
echo "✅ Found both dependency files."
62+
echo "→ Android: $ANDROID_FILE"
63+
echo "→ iOS: $IOS_FILE"
13964
140-
gh pr create \
141-
--title "Bump native OneSignal SDKs; OneSignal-Android-SDK ${{ inputs.android_version }}, OneSignal-iOS-SDK ${{ inputs.ios_version }}" \
142-
--body "### 🧩 Native SDK Updates
143-
- Android: ${{ inputs.android_version }}
144-
- iOS: ${{ inputs.ios_version }}
65+
ANDROID_CURRENT=$(grep -oE 'com\.onesignal:OneSignal:[0-9]+\.[0-9]+\.[0-9]+' "$ANDROID_FILE" | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
66+
IOS_CURRENT=$(grep -oE 'OneSignalXCFramework\" version=\"[0-9]+\.[0-9]+\.[0-9]+' "$IOS_FILE" | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
14567
146-
This PR updates Unity dependency files and inserts a detailed changelog entry under **[Unreleased]** in the Unity SDK changelog." \
147-
--base main \
148-
--label "native-sdk-bump"
68+
echo "Detected current Android SDK: ${AND

0 commit comments

Comments
 (0)