Skip to content

Commit 05b2371

Browse files
committed
Apply APK versioning
1 parent a7f15ff commit 05b2371

File tree

7 files changed

+51
-19
lines changed

7 files changed

+51
-19
lines changed

.github/workflows/release_on_push.yml

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -89,8 +121,8 @@ jobs:
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/*

bridge-core/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ android {
1313
applicationId = "com.penumbraos.bridge"
1414
minSdk = 32
1515
targetSdk = 35
16-
versionCode = 1
17-
versionName = "1.0"
16+
versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 1
17+
versionName = project.findProperty("versionName") as String? ?: "1.0"
1818

1919
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2020
}

bridge-settings/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
applicationId = "com.penumbraos.bridge_settings"
1515
minSdk = 32
1616
targetSdk = 35
17-
versionCode = 1
18-
versionName = "1.0"
17+
versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 1
18+
versionName = project.findProperty("versionName") as String? ?: "1.0"
1919

2020
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2121
}

bridge-shell/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ android {
1313
applicationId = "com.penumbraos.bridge_shell"
1414
minSdk = 32
1515
targetSdk = 35
16-
versionCode = 1
17-
versionName = "1.0"
16+
versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 1
17+
versionName = project.findProperty("versionName") as String? ?: "1.0"
1818

1919
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2020
}

bridge-system/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
applicationId = "com.penumbraos.bridge_system"
1515
minSdk = 32
1616
targetSdk = 35
17-
versionCode = 1
18-
versionName = "1.0"
17+
versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 1
18+
versionName = project.findProperty("versionName") as String? ?: "1.0"
1919

2020
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2121
}

cli/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ android {
1313
applicationId = "com.penumbraos.cli"
1414
minSdk = 32
1515
targetSdk = 35
16-
versionCode = 1
17-
versionName = "1.0"
16+
versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 1
17+
versionName = project.findProperty("versionName") as String? ?: "1.0"
1818
}
1919
sourceSets {
2020
named("main") {

example/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ android {
1212
applicationId = "com.penumbraos.sdkexample"
1313
minSdk = 32
1414
targetSdk = 35
15-
versionCode = 1
16-
versionName = "1.0"
15+
versionCode = (project.findProperty("versionCode") as String?)?.toIntOrNull() ?: 1
16+
versionName = project.findProperty("versionName") as String? ?: "1.0"
1717

1818
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
1919
}

0 commit comments

Comments
 (0)