@@ -10,12 +10,13 @@ concurrency:
10
10
cancel-in-progress : true
11
11
12
12
env :
13
- file : app-release-unsigned. apk
14
- name : ${{ github.repository_owner }}. apk
15
- path : app/build/outputs/ apk/release
13
+ path : app/build/outputs/ apk/release # Output Path
14
+ output : app-release-unsigned. apk # Output File Name
15
+ name : ${{ github.repository_owner }}. apk # Final APK Name
16
16
key_name : my-key
17
17
key_file : release.keystore
18
18
tools_path : /usr/local/lib/android/sdk/build-tools/36.0.0
19
+ cmdline_tools : /usr/local/lib/android/sdk/cmdline-tools/latest/bin
19
20
20
21
jobs :
21
22
release :
@@ -29,36 +30,38 @@ jobs:
29
30
- name : " Checkout"
30
31
uses : actions/checkout@v4
31
32
32
- - name : " Debug event.json "
33
+ - name : " Debug Event "
33
34
if : ${{ !github.event.act }}
34
35
continue-on-error : true
35
36
run : |
37
+ echo "ref: ${{ github.ref }}"
38
+ echo "event_name: ${{ github.event_name }}"
39
+
40
+ echo "::group::cat event.json"
36
41
cat "${GITHUB_EVENT_PATH}"
42
+ echo "::endgroup::"
37
43
38
44
- name : " Set Tools Path"
39
45
if : ${{ !github.event.act }}
40
46
run : |
41
47
echo "${{ env.tools_path }}" >> "$GITHUB_PATH"
48
+ echo "${{ env.cmdline_tools }}" >> "$GITHUB_PATH"
42
49
43
- - name : " Debug Tools"
50
+ - name : " Verify Tools"
44
51
if : ${{ !github.event.act }}
45
- continue-on-error : true
46
52
run : |
47
- echo "tools_path: ${{ env.tools_path }}"
53
+ which keytool
54
+ which zipalign
55
+ which apksigner
56
+ which apkanalyzer
48
57
49
58
echo "::group::PATH"
50
59
echo "${PATH}"
51
60
echo "::endgroup::"
52
-
53
- echo "::group::ls env.tools_path"
54
- ls -lAh "${{ env.tools_path }}/"
61
+ echo "::group::ls tools_path"
62
+ ls -lAh "${{ env.tools_path }}"
55
63
echo "::endgroup::"
56
64
57
- echo "--------------------"
58
- which keytool
59
- which zipalign
60
- which apksigner
61
-
62
65
- name : " Update Version"
63
66
64
67
with :
70
73
if : ${{ !github.event.act }}
71
74
continue-on-error : true
72
75
run : |
73
- cat "app/build.gradle.kts"
76
+ echo "versionCode: ${{ github.run_number }}"
77
+ echo "versionName: ${{ github.ref_name }}"
78
+
79
+ echo "::group::cat app/build.gradle.kts"
80
+ cat app/build.gradle.kts
81
+ echo "::endgroup::"
74
82
75
83
- name : " Setup Java"
76
84
uses : actions/setup-java@v4
@@ -82,23 +90,24 @@ jobs:
82
90
- name : " Set Gradle Executable"
83
91
run : chmod +x ./gradlew
84
92
85
- - name : " Gradlew Assemble"
93
+ - name : " Gradle Assemble"
86
94
run : ./gradlew assembleRelease
87
95
88
- - name : " Debug Build"
89
- continue-on-error : true
96
+ - name : " Verify Build"
90
97
run : |
91
- echo "ref: ${{ github.ref }}"
92
- echo "path: ${{ env.path }}"
93
- echo "path/name: ${{ env.path }}/${{ env.name }}"
94
-
98
+ apkanalyzer -h apk summary "${{ env.path }}/${{ env.output }}"
99
+
95
100
echo "::group::ls env.path"
96
101
ls -lAh ${{ env.path }}
97
102
echo "::endgroup::"
98
103
99
104
- name : " Align APK"
100
105
run : |
101
- zipalign -v 4 "${{ env.path }}/${{ env.file }}" "${{ env.path }}/${{ env.name }}"
106
+ zipalign -P 16 -f -v 4 "${{ env.path }}/${{ env.output }}" "${{ env.path }}/${{ env.name }}"
107
+
108
+ - name : " Verify Alignment"
109
+ run : |
110
+ zipalign -c -P 16 -v 4 "${{ env.path }}/${{ env.name }}"
102
111
103
112
- name : " Decode Keystore"
104
113
run : |
@@ -107,8 +116,7 @@ jobs:
107
116
- name : " Debug Keystore"
108
117
continue-on-error : true
109
118
run : |
110
- stat ${{ env.key_file }}
111
- keytool -list -keystore ${{ env.key_file }}
119
+ echo ${{ secrets.ANDROID_KEYSTORE_PASS }} | keytool -list -keystore ${{ env.key_file }}
112
120
113
121
- name : " Sign APK"
114
122
run : |
@@ -149,19 +157,13 @@ jobs:
149
157
uses : smashedr/update-release-notes-action@master
150
158
continue-on-error : true
151
159
152
- - name : " Send Failure Notification"
153
- if : ${{ failure() && github.event_name == 'release' }}
154
- uses : sarisia/actions-status-discord@v1
155
- with :
156
- webhook : ${{ secrets.DISCORD_WEBHOOK }}
157
-
158
- - name : " Job Summary"
160
+ - name : " Write Job Summary"
159
161
if : ${{ !github.event.act }}
160
162
continue-on-error : true
161
163
run : |
162
164
echo -e "## Android Release\n\n" >> $GITHUB_STEP_SUMMARY
163
165
164
- echo -e "Signed APK: \`${{ env.name }}\`\n\n" >> $GITHUB_STEP_SUMMARY
166
+ echo -e "Final APK: \`${{ env.name }}\`\n\n" >> $GITHUB_STEP_SUMMARY
165
167
166
168
echo -e "<details><summary>Build Artifacts</summary>\n\n" >> $GITHUB_STEP_SUMMARY
167
169
echo -e "\`\`\`text\n$(ls -lAh ${{ env.path }})\n\`\`\`\n\n" >> $GITHUB_STEP_SUMMARY
@@ -174,3 +176,9 @@ jobs:
174
176
fi
175
177
176
178
echo -e "\n\n---" >> $GITHUB_STEP_SUMMARY
179
+
180
+ - name : " Send Failure Notification"
181
+ if : ${{ failure() && github.event_name == 'release' }}
182
+ uses : sarisia/actions-status-discord@v1
183
+ with :
184
+ webhook : ${{ secrets.DISCORD_WEBHOOK }}
0 commit comments