@@ -46,19 +46,51 @@ jobs:
4646 curl -L -o bridge-system/src/main/jniLibs/arm64-v8a/libgadget.so.xz https://github.com/frida/frida/releases/download/16.7.19/frida-gadget-16.7.19-android-arm64.so.xz
4747 xz --force --decompress bridge-system/src/main/jniLibs/arm64-v8a/libgadget.so.xz
4848
49+ - name : Generate version for build
50+ run : |
51+ TODAY=$(date +'%Y-%m-%d')
52+ TODAY_CODE=$(date +'%Y%m%d')
53+
54+ # Get all existing releases for today (fetch more to avoid pagination issues)
55+ EXISTING=$(gh release list --limit 100 --json tagName --jq '.[].tagName' | grep "^${TODAY}\." || echo "")
56+
57+ if [ -z "$EXISTING" ]; then
58+ # No releases today, start with .0
59+ BUILD_NUM=0
60+ else
61+ # Find highest build number for today
62+ BUILD_NUM=$(echo "$EXISTING" | sed "s/^${TODAY}\.//" | sort -n | tail -1)
63+ BUILD_NUM=$((BUILD_NUM + 1))
64+ fi
65+
66+ echo "Existing releases for ${TODAY}: $EXISTING"
67+ echo "Next build number: $BUILD_NUM"
68+
69+ VERSION_NAME="${TODAY}.${BUILD_NUM}"
70+ VERSION_CODE="${TODAY_CODE}${BUILD_NUM}"
71+
72+ echo "Generated version name: $VERSION_NAME"
73+ echo "Generated version code: $VERSION_CODE"
74+
75+ # Set environment variables for subsequent steps
76+ echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV
77+ echo "VERSION_CODE=$VERSION_CODE" >> $GITHUB_ENV
78+ env :
79+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
80+
4981 - name : Build Release APKs
50- run : ./gradlew :bridge-core:assembleRelease :bridge-system:assembleRelease :bridge-shell:assembleRelease :bridge-settings:assembleRelease
82+ run : ./gradlew :bridge-core:assembleRelease :bridge-system:assembleRelease :bridge-shell:assembleRelease :bridge-settings:assembleRelease -PversionName="$VERSION_NAME" -PversionCode="$VERSION_CODE"
5183
5284 - name : Rename APK files
5385 run : |
5486 # Create release artifacts directory
5587 mkdir -p release-artifacts
5688
5789 # Rename actual APKs
58- cp bridge-core/build/outputs/apk/release/bridge-core-release.apk release-artifacts/SDK-Bridge-Core.apk
59- cp bridge-system/build/outputs/apk/release/bridge-system-release.apk release-artifacts/SDK-Bridge-System.apk
60- cp bridge-shell/build/outputs/apk/release/bridge-shell-release.apk release-artifacts/SDK-Bridge-Shell.apk
61- cp bridge-settings/build/outputs/apk/release/bridge-settings-release.apk release-artifacts/SDK-Bridge-Settings.apk
90+ cp bridge-core/build/outputs/apk/release/bridge-core-release.apk release-artifacts/PenumbraOS- SDK-Bridge-Core-${VERSION_NAME} .apk
91+ cp bridge-system/build/outputs/apk/release/bridge-system-release.apk release-artifacts/PenumbraOS- SDK-Bridge-System-${VERSION_NAME} .apk
92+ cp bridge-shell/build/outputs/apk/release/bridge-shell-release.apk release-artifacts/PenumbraOS- SDK-Bridge-Shell-${VERSION_NAME} .apk
93+ cp bridge-settings/build/outputs/apk/release/bridge-settings-release.apk release-artifacts/PenumbraOS- SDK-Bridge-Settings-${VERSION_NAME} .apk
6294
6395 - name : Generate version tag
6496 id : version
89121 - name : Create Prerelease
90122 uses : softprops/action-gh-release@v2
91123 with :
92- tag_name : ${{ steps.version.outputs.tag }}
93- name : Alpha ${{ steps.version.outputs.tag }}
124+ tag_name : ${{ env.VERSION_NAME }}
125+ name : Alpha ${{ env.VERSION_NAME }}
94126 prerelease : true
95127 generate_release_notes : true
96128 files : release-artifacts/*
0 commit comments