1
1
name : Android CI
2
2
3
3
env :
4
- module : app
5
4
app_name : SimpleWeather
6
5
variant : nongms
6
+ buildToolsVersion : " 35.0.0"
7
7
8
8
on :
9
9
push :
@@ -33,15 +33,32 @@ jobs:
33
33
cache : gradle
34
34
- name : Grant execute permission for gradlew
35
35
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
41
53
uses : actions/upload-artifact@v3
42
54
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
45
62
release :
46
63
name : Release APK
47
64
if : ${{ startsWith(github.ref, 'refs/tags/v') }}
@@ -61,35 +78,67 @@ jobs:
61
78
cache : gradle
62
79
- name : Grant execute permission for gradlew
63
80
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
67
87
# Sign apk
68
- - name : Sign release APK
88
+ - name : Sign app release APK
69
89
uses : r0adkll/sign-android-release@f30bdd30588842ac76044ecdbd4b6d0e3e813478
70
90
id : sign_app
71
91
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
73
111
signingKeyBase64 : ${{ secrets.SIGNING_KEY }}
74
112
alias : ${{ secrets.ALIAS }}
75
113
keyStorePassword : ${{ secrets.KEY_STORE_PASSWORD }}
76
114
keyPassword : ${{ secrets.KEY_PASSWORD }}
77
115
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
81
128
uses : actions/upload-artifact@v3
82
129
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
85
132
# Prepare Github release
86
133
- name : Upload files to a GitHub release
87
-
134
+ uses : softprops/action-gh-release@v2
88
135
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 }}
93
137
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