@@ -2,19 +2,7 @@ name: Build
22
33on :
44 push :
5- paths :
6- - ' .github/workflows/build.yml'
7- - ' app/**'
8- - ' gradle/**'
9- - ' *.gradle'
10- - ' *.properties'
115 workflow_dispatch :
12- inputs :
13- release :
14- description : ' Release'
15- type : boolean
16- required : true
17- default : false
186
197jobs :
208 build :
@@ -33,77 +21,32 @@ jobs:
3321 uses : actions/setup-java@v4
3422 with :
3523 distribution : ' temurin'
36- java-version : ' 17 '
24+ java-version : 21
3725
3826 - name : Setup Gradle
39- uses : gradle/actions/setup-gradle@v3
27+ uses : gradle/actions/setup-gradle@v4
4028
4129 - name : Set environments
4230 run : |
4331 {
44- echo "version=v$(grep versionName app/build.gradle | awk '{print $2}' | tr -d \" )"
32+ echo "version=v$(grep versionName app/build.gradle | awk -F\" '{print $2}')"
4533 echo "commit=$(echo ${{ github.sha }} | cut -c-7)"
4634 echo "repo=$(echo ${GITHUB_REPOSITORY#$GITHUB_REPOSITORY_OWNER/})"
4735 } >> $GITHUB_ENV
4836
49- - name : Check tag exists
50- uses : mukunku/tag-exists-action@v1.6.0
51- if : github.event.inputs.release == 'true'
52- id : check-tag
53- with :
54- tag : " ${{ env.version }}"
55-
56- - name : Release check
57- if : github.event.inputs.release == 'true'
58- run : |
59- if [ "${{ secrets.STORE_FILE }}" == "" ]; then
60- echo -e "\nERROR!\nTo release, you need to set up a signing key!\n"
61- echo "STORE_FILE: A Base64 encoded string of the signing key in JKS format"
62- echo "STORE_PASSWORD: Key store password"
63- echo "KEY_ALIAS: Key alias"
64- echo "KEY_PASSWORD: Key password"
65- echo ""
66- exit 1
67- fi
68- if [ "${{ steps.check-tag.outputs.exists }}" == "true" ]; then
69- echo -e "\nERROR!\nThe same tag already exists!\n"
70- echo "Please change versionName in build.gradle"
71- echo ""
72- exit 1
73- fi
74-
75- - name : Build with Gradle
37+ - name : Build
7638 run : |
77- if [ "${{ inputs.release }}" == "true" ]; then
78- echo "${{ secrets.STORE_FILE }}" | base64 -d > app/release.jks
79- export STORE_PASSWORD="${{ secrets.STORE_PASSWORD }}"
80- export KEY_ALIAS="${{ secrets.KEY_ALIAS }}"
81- export KEY_PASSWORD="${{ secrets.KEY_PASSWORD }}"
82- ./gradlew assembleRelease bundleRelease
83- cp -f app/build/outputs/apk/release/app-release.apk ${{ env.repo }}-${{ env.version }}.apk
84- cp -f app/build/outputs/bundle/release/app-release.aab ${{ env.repo }}-${{ env.version }}.aab
85- else
86- ./gradlew assembleDebug bundleDebug
87- cp -f app/build/outputs/apk/debug/app-debug.apk ${{ env.repo }}-${{ env.version }}@${{ env.commit }}.apk
88- cp -f app/build/outputs/bundle/debug/app-debug.aab ${{ env.repo }}-${{ env.version }}@${{ env.commit }}.aab
89- fi
39+ ./gradlew assembleDebug bundleDebug --no-daemon --stacktrace --warning-mode=all
40+ cp -f app/build/outputs/apk/debug/app-debug.apk ${{ env.repo }}-${{ env.version }}@${{ env.commit }}.apk
41+ cp -f app/build/outputs/bundle/debug/app-debug.aab ${{ env.repo }}-${{ env.version }}@${{ env.commit }}.aab
9042
9143 - name : Attest
9244 uses : actions/attest-build-provenance@v1
9345 with :
9446 subject-path : ${{ env.repo }}-${{ env.version }}*.a*
9547
96- - name : Upload APK
48+ - name : Upload
9749 uses : actions/upload-artifact@v4
9850 with :
9951 name : ${{ env.repo }}(${{ env.version }}@${{ env.commit }})
10052 path : ${{ env.repo }}-${{ env.version }}*.a*
101-
102- - name : Release
103- uses : softprops/action-gh-release@v2
104- if : github.event.inputs.release == 'true'
105- with :
106- tag_name : ${{ env.version }}
107- draft : true
108- prerelease : false
109- files : ${{ env.repo }}-${{ env.version }}.apk
0 commit comments