@@ -2,15 +2,18 @@ name: Build & Pre-Release
22
33on :
44 push :
5- branches : [ main ]
5+ branches :
6+ - main
67
78permissions :
89 contents : write
910 actions : write
1011
12+
1113jobs :
1214 build :
1315 runs-on : ubuntu-latest
16+
1417 steps :
1518 - name : Checkout
1619 uses : actions/checkout@v4
2730 run : |
2831 VER=$(./gradlew :app:printVersionName --console=plain | grep "VERSION_NAME" | cut -d'=' -f2 | tr -d '[:space:]')
2932 echo "versionName=$VER" >> $GITHUB_ENV
33+ echo "Detected versionName: $VER"
3034
35+ # Decode keystore
3136 - name : Decode keystore
3237 run : echo "${{ secrets.KEYSTORE_FILE_B64 }}" | base64 -d > my-release-key.jks
3338
@@ -38,45 +43,45 @@ jobs:
3843 echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> $GITHUB_ENV
3944 echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> $GITHUB_ENV
4045
41- - name : Build APKs with retry
42- run : |
43- for i in {1..3}; do
44- if ./gradlew assembleRelease assembleUnminifiedRelease assembleDebuggableRelease; then
45- exit 0
46- fi
47- echo "Attempt $i failed, retrying..."
48- sleep 5
49- done
50- exit 1
46+ - name : Build Release APK
47+ uses : nick-fields/retry@v3
48+ with :
49+ timeout_minutes : 10
50+ max_attempts : 3
51+ command : ./gradlew assembleRelease assembleUnminifiedRelease assembleDebuggableRelease
5152
52- - name : Rename APKs
53+ - name : Rename APKs with version
5354 run : |
5455 MIN="OpenInsectId-v${{ env.versionName }}-beta-${{ github.run_number }}.apk"
5556 UNMIN="OpenInsectId-v${{ env.versionName }}-beta-${{ github.run_number }}-unminified.apk"
5657 DEBUG="OpenInsectId-v${{ env.versionName }}-beta-${{ github.run_number }}-debuggable.apk"
57-
58+
5859 mv app/build/outputs/apk/release/app-release.apk "$MIN"
5960 mv app/build/outputs/apk/unminifiedRelease/app-unminifiedRelease.apk "$UNMIN"
60- mv app/build/outputs/apk/debuggableRelease/app-debuggableRelease.apk "$DEBUG"
61-
61+ mv app/build/outputs/apk/debuggableRelease/app-debuggableRelease.apk "$DEBUG" # FIXED: app-debuggableRelease.apk
62+
6263 echo "APK_MIN=$MIN" >> $GITHUB_ENV
6364 echo "APK_UNMIN=$UNMIN" >> $GITHUB_ENV
6465 echo "APK_DEBUG=$DEBUG" >> $GITHUB_ENV
66+
6567
68+ # Create tag before release
6669 - name : Create tag
6770 run : |
6871 TAG="v${{ env.versionName }}-beta-${{ github.run_number }}"
6972 git tag "$TAG"
7073 git push origin "$TAG"
74+ echo "TAG_NAME=$TAG" >> $GITHUB_ENV
7175
72- - name : Release APKs
73- run : |
74- gh release create "${{ env.TAG_NAME }}" \
75- "${{ env.APK_MIN }}" \
76- "${{ env.APK_UNMIN }}" \
77- "${{ env.APK_DEBUG }}" \
78- --title "v${{ env.versionName }}-beta-${{ github.run_number }}" \
79- --generate-notes \
80- --prerelease
76+ - name : Upload pre-release
77+ uses : softprops/action-gh-release@v2
78+ with :
79+ tag_name : ${{ env.TAG_NAME }}
80+ name : " v${{ env.versionName }}-beta-${{ github.run_number }}"
81+ prerelease : true
82+ files : |
83+ ${{ env.APK_MIN }}
84+ ${{ env.APK_UNMIN }}
85+ ${{ env.APK_DEBUG }}
8186 env :
8287 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments