@@ -2,9 +2,11 @@ name: Android CI
22
33on :
44 push :
5- branches : [ master, develop, alpha ]
65 pull_request :
7- branches : [ master, develop, alpha ]
6+ workflow_dispatch :
7+
8+ permissions :
9+ contents : write
810
911jobs :
1012 build :
1719 fetch-depth : 0
1820
1921 - name : set up JDK 11
20- uses : actions/setup-java@v2
22+ uses : actions/setup-java@v4
2123 with :
2224 java-version : ' 11'
2325 distribution : ' adopt'
@@ -33,24 +35,46 @@ jobs:
3335 echo ${{ secrets.SIGNING_KEY }} | base64 --decode > release.keystore
3436 fi
3537
38+ - name : Git describe
39+ id : ghd
40+ uses : proudust/gh-describe@v2.1.0
41+ with :
42+ exclude : v*-*
43+
3644 - name : Grant execute permission for gradlew
3745 run : chmod +x gradlew
3846 - name : Build with Gradle
39- run : ./gradlew assemble
47+ run : ./gradlew --build-cache --parallel --daemon -P versionName=${{ steps.ghd.outputs.describe }} assemble
4048
4149 - name : Collect artifcat name
4250 run : |
4351 echo "debug_artifact=$(basename -s .apk app/build/outputs/apk/debug/*.apk)" >> $GITHUB_ENV
4452 echo "release_artifact=$(basename -s .apk app/build/outputs/apk/release/*.apk)" >> $GITHUB_ENV
4553
4654 - name : Upload Debug
47- uses : actions/upload-artifact@v3
55+ uses : actions/upload-artifact@v4.6.0
4856 with :
4957 name : ${{ env.debug_artifact }}
5058 path : app/build/outputs/apk/debug/*.apk
5159
5260 - name : Upload Release
53- uses : actions/upload-artifact@v3
61+ uses : actions/upload-artifact@v4.6.0
5462 with :
5563 name : ${{ env.release_artifact }}
5664 path : app/build/outputs/apk/release/*.apk
65+
66+ - name : Get Version Name
67+ id : gvn
68+ run : |
69+ artifact_name=(app/build/outputs/apk/release/*.apk)
70+ version=$(echo $artifact_name | sed 's/.*(v.*)(-[^-]+){2}/\1/' -r)
71+ echo "version=$version" >> $GITHUB_OUTPUT
72+
73+ - name : Release
74+ uses : softprops/action-gh-release@v2
75+ with :
76+ name : ${{ steps.gvn.outputs.version }}
77+ tag_name : ${{ steps.gvn.outputs.version }}
78+ target_commitish : ${{ steps.ghd.outputs.sha }}
79+ prerelease : true
80+ files : app/build/outputs/apk/*/*.apk
0 commit comments