11name : Android CI
22
33env :
4- module : app
54 app_name : SimpleWeather
65 variant : nongms
6+ buildToolsVersion : " 35.0.0"
77
88on :
99 push :
@@ -33,15 +33,32 @@ jobs:
3333 cache : gradle
3434 - name : Grant execute permission for gradlew
3535 run : chmod +x gradlew
36- # APK Debug
37- - name : Build debug APK
38- run : ./gradlew :${{ env.module }}:assemble${{ env.variant }}Debug
39- # Upload apk
40- - name : Upload debug APK
36+ # Clean build
37+ - name : Clean build
38+ run : ./gradlew clean
39+ # App APK Debug
40+ - name : Build app debug APK
41+ run : ./gradlew :app:assemble${{ env.variant }}Debug
42+ # Move to staging
43+ - name : Copy app debug APK
44+ run : mv app/build/outputs/apk/${{ env.variant }}/debug/app-${{ env.variant }}-debug.apk app-${{ env.variant }}-debug.apk
45+ # Wear APK Debug
46+ - name : Build wearapp debug APK
47+ run : ./gradlew :wearapp:assemble${{ env.variant }}Debug
48+ # Move to staging
49+ - name : Copy wearapp debug APK
50+ run : mv wearapp/build/outputs/apk/${{ env.variant }}/debug/wearapp-${{ env.variant }}-debug.apk wearapp-${{ env.variant }}-debug.apk
51+ # Upload apks
52+ - name : Upload app debug APK
4153 uses : actions/upload-artifact@v3
4254 with :
43- name : ${{ env.module }}-${{ env.variant }}-${{ env.date_today }}-debug.apk
44- path : ${{ env.module }}/build/outputs/apk/${{ env.variant }}/debug/${{ env.module }}-${{ env.variant }}-debug.apk
55+ name : app-${{ env.variant }}-${{ env.date_today }}-debug.apk
56+ path : app-${{ env.variant }}-debug.apk
57+ - name : Upload wearapp debug APK
58+ uses : actions/upload-artifact@v3
59+ with :
60+ name : wearapp-${{ env.variant }}-${{ env.date_today }}-debug.apk
61+ path : wearapp-${{ env.variant }}-debug.apk
4562 release :
4663 name : Release APK
4764 if : ${{ startsWith(github.ref, 'refs/tags/v') }}
@@ -61,35 +78,67 @@ jobs:
6178 cache : gradle
6279 - name : Grant execute permission for gradlew
6380 run : chmod +x gradlew
64- # APK Release
65- - name : Build release APK
66- run : ./gradlew :${{ env.module }}:assemble${{ env.variant }}Release
81+ # Clean build
82+ - name : Clean build
83+ run : ./gradlew clean
84+ # App APK Release
85+ - name : Build app release APK
86+ run : ./gradlew :app:assemble${{ env.variant }}Release
6787 # Sign apk
68- - name : Sign release APK
88+ - name : Sign app release APK
6989 uses : r0adkll/sign-android-release@f30bdd30588842ac76044ecdbd4b6d0e3e813478
7090 id : sign_app
7191 with :
72- releaseDirectory : ${{ env.module }}/build/outputs/apk/${{ env.variant }}/release
92+ releaseDirectory : app/build/outputs/apk/${{ env.variant }}/release
93+ signingKeyBase64 : ${{ secrets.SIGNING_KEY }}
94+ alias : ${{ secrets.ALIAS }}
95+ keyStorePassword : ${{ secrets.KEY_STORE_PASSWORD }}
96+ keyPassword : ${{ secrets.KEY_PASSWORD }}
97+ env :
98+ BUILD_TOOLS_VERSION : ${{ env.buildToolsVersion }}
99+ # Move to staging
100+ - name : Copy app release APK
101+ run : mv app/build/outputs/apk/${{ env.variant }}/release/app-${{ env.variant }}-release-unsigned-signed.apk app-${{ env.variant }}-release.apk
102+ # Wear APK Release
103+ - name : Build wearapp release APK
104+ run : ./gradlew :wearapp:assemble${{ env.variant }}Release
105+ # Sign apk
106+ - name : Sign wearapp release APK
107+ uses : r0adkll/sign-android-release@f30bdd30588842ac76044ecdbd4b6d0e3e813478
108+ id : sign_wearapp
109+ with :
110+ releaseDirectory : wearapp/build/outputs/apk/${{ env.variant }}/release
73111 signingKeyBase64 : ${{ secrets.SIGNING_KEY }}
74112 alias : ${{ secrets.ALIAS }}
75113 keyStorePassword : ${{ secrets.KEY_STORE_PASSWORD }}
76114 keyPassword : ${{ secrets.KEY_PASSWORD }}
77115 env :
78- BUILD_TOOLS_VERSION : " 35.0.0"
79- # Upload apk
80- - name : Upload release APK
116+ BUILD_TOOLS_VERSION : ${{ env.buildToolsVersion }}
117+ # Move to staging
118+ - name : Copy wearapp release APK
119+ run : mv wearapp/build/outputs/apk/${{ env.variant }}/release/wearapp-${{ env.variant }}-release-unsigned-signed.apk wearapp-${{ env.variant }}-release.apk
120+ # Upload apks
121+ - name : Upload app release APK
122+ uses : actions/upload-artifact@v3
123+ with :
124+ name : app-${{ env.variant }}-${{ env.date_today }}-release.apk
125+ path : app-${{ env.variant }}-release.apk
126+ # Upload apks
127+ - name : Upload wear release APK
81128 uses : actions/upload-artifact@v3
82129 with :
83- name : ${{ env.module }} -${{ env.variant }}-${{ env.date_today }}-release.apk
84- path : ${{steps.sign_app.outputs.signedReleaseFile}}
130+ name : wearapp -${{ env.variant }}-${{ env.date_today }}-release.apk
131+ path : wearapp- ${{ env.variant }}-release.apk
85132 # Prepare Github release
86133 - name : Upload files to a GitHub release
87- 134+ uses : softprops/action-gh-release@v2
88135 with :
89- file : ${{steps.sign_app.outputs.signedReleaseFile}}
90- asset_name : ${{ env.module }}-${{ env.variant }}-release.apk
91- tag : ${{ github.ref }}
92- overwrite : true
136+ tag_name : ${{ github.ref }}
93137 draft : true
94- release_name : SimpleWeather ${{ github.ref }}
95- target_commit : public
138+ name : ${{ format('{SimpleWeather{0} {1}', ':', github.ref) }}
139+ target_commitish : public
140+ generate_release_notes : true
141+ preserve_order : true
142+ files : |
143+ app-${{ env.variant }}-release.apk
144+ wearapp-${{ env.variant }}-release.apk
0 commit comments