6
6
- TEST_APP_REPO : https://github.com/bitrise-io/sample-apps-android-abi-split.git
7
7
- TEST_APP_BRANCH : master
8
8
- TEST_APP_GRADLE_WRAPPER_PATH : ./gradlew
9
+ - ORIG_SIGNER_TOOL : automatic
9
10
# define these in your .bitrise.secrets.yml
10
11
# Keystore password == key password
11
12
- SAME_PASS_ANDROID_KEYSTORE_URL : $SAME_PASS_ANDROID_KEYSTORE_URL
@@ -29,69 +30,140 @@ app:
29
30
- STUDIO_GEN_ANDROID_KEY_PASSWORD : $STUDIO_GEN_ANDROID_KEY_PASSWORD
30
31
31
32
workflows :
32
- test_apk :
33
+ test_apk_signing :
33
34
envs :
34
35
- TEST_APP_GRADLE_TASK : assembleRelease
35
36
- APK_FILE_INCLUDE_FILTER : " *.apk"
36
37
after_run :
37
- - _run_collection
38
+ - _build_app_and_sign_with_keystore_combinations
38
39
39
40
# Using apksigner zipalign fails to zipalign already zipaligned artifact
40
- test_apk_debug :
41
+ test_debug_apk_signing :
41
42
envs :
42
43
- TEST_APP_GRADLE_TASK : assembleDebug
43
44
- APK_FILE_INCLUDE_FILTER : " *.apk"
44
45
after_run :
45
- - _run_collection
46
+ - _build_app_and_sign_with_keystore_combinations
46
47
47
- test_bundle :
48
+ test_app_bundle_signing :
48
49
envs :
49
50
- TEST_APP_GRADLE_TASK : bundleRelease
50
51
- APK_FILE_INCLUDE_FILTER : " *.aab"
51
52
after_run :
52
- - _run_collection
53
+ - _build_app_and_sign_with_keystore_combinations
53
54
54
- utility_test_same_pass :
55
- title : Step Test - keystore pass == key pass
55
+ _build_app_and_sign_with_keystore_combinations :
56
+ steps :
57
+ - set-java-version :
58
+ inputs :
59
+ - set_java_version : 17
60
+ - script :
61
+ inputs :
62
+ - content : |-
63
+ #!/usr/bin/env bash
64
+ set -ex
65
+ rm -rf ./_tmp
66
+ - change-workdir :
67
+ title : Switch working dir to test/_tmp dir
68
+ inputs :
69
+ - path : ./_tmp
70
+ - is_create_path : true
71
+ - git::https://github.com/bitrise-steplib/bitrise-step-simple-git-clone.git :
72
+ inputs :
73
+ - repository_url : $TEST_APP_REPO
74
+ - clone_into_dir : .
75
+ - branch : $TEST_APP_BRANCH
76
+ - install-missing-android-tools :
77
+ inputs :
78
+ - gradlew_path : $TEST_APP_GRADLE_WRAPPER_PATH
79
+ - ndk_revision : 16
80
+ run_if : .IsCI
81
+ - script :
82
+ inputs :
83
+ - content : |-
84
+ #!/usr/bin/env bash
85
+ set -ex
86
+ envman unset --key BITRISE_APK_PATH
87
+ envman unset --key BITRISE_AAB_PATH
88
+ - gradle-runner :
89
+ inputs :
90
+ - gradle_task : $TEST_APP_GRADLE_TASK
91
+ - gradlew_path : $TEST_APP_GRADLE_WRAPPER_PATH
92
+ - app_file_include_filter : $APK_FILE_INCLUDE_FILTER
93
+ - script :
94
+ inputs :
95
+ - content : |-
96
+ #!/usr/bin/env bash
97
+ set -ex
98
+ if [ -n "$BITRISE_APK_PATH" ]; then
99
+ envman add --key ORIG_BITRISE_APK_PATH --value ${BITRISE_APK_PATH}
100
+ fi
101
+ after_run :
102
+ - _sign_with_jarsigner_with_keystore_with_same_pass
103
+ - _sign_with_apksigner_with_keystore_with_diff_pass
104
+ - _sign_with_keystore_with_default_alias
105
+ - _sign_with_studio_gen_keystore
106
+ - _sign_with_custom_artifact_name
107
+
108
+ _sign_with_jarsigner_with_keystore_with_same_pass :
109
+ title : Step Test - keystore pass == key pass - jarsigner
56
110
envs :
57
111
- KEYSTORE_URL : $SAME_PASS_ANDROID_KEYSTORE_URL
58
112
- KEYSTORE_PASSWORD : $SAME_PASS_ANDROID_KEYSTORE_PASSWORD
59
113
- KEYSTORE_ALIAS : $SAME_PASS_ANDROID_KEY_ALIAS
60
114
- KEY_PASSWORD : $SAME_PASS_ANDROID_KEY_PASSWORD
115
+ - SIGNER_TOOL : jarsigner
61
116
after_run :
62
- - _run
117
+ - _setup_signer_tool_env_var
118
+ - _sign_app
119
+ - _reset_signer_tool_env_var
63
120
64
- utility_test_diff_pass :
65
- title : Step Test - keystore pass != key pass
121
+ _sign_with_apksigner_with_keystore_with_diff_pass :
122
+ title : Step Test - keystore pass != key pass - apksigner for APK files
66
123
envs :
67
124
- KEYSTORE_URL : $DIFF_PASS_ANDROID_KEYSTORE_URL
68
125
- KEYSTORE_PASSWORD : $DIFF_PASS_ANDROID_KEYSTORE_PASSWORD
69
126
- KEYSTORE_ALIAS : $DIFF_PASS_ANDROID_KEY_ALIAS
70
127
- KEY_PASSWORD : $DIFF_PASS_ANDROID_KEY_PASSWORD
128
+ steps :
129
+ - script :
130
+ inputs :
131
+ - content : |-
132
+ #!/usr/bin/env bash
133
+ set -ex
134
+ if [ -z "$BITRISE_AAB_PATH" ]; then
135
+ envman add --key SIGNER_TOOL --value "apksigner"
136
+ fi
71
137
after_run :
72
- - _run
138
+ - _setup_signer_tool_env_var
139
+ - _sign_app
140
+ - _reset_signer_tool_env_var
73
141
74
- utility_test_default_alias :
142
+ _sign_with_keystore_with_default_alias :
75
143
title : Step Test - default alias
76
144
envs :
77
145
- KEYSTORE_URL : $DEFAULT_ALIAS_ANDROID_KEYSTORE_URL
78
146
- KEYSTORE_PASSWORD : $DEFAULT_ALIAS_ANDROID_KEYSTORE_PASSWORD
79
147
- KEYSTORE_ALIAS : $DEFAULT_ALIAS_ANDROID_KEY_ALIAS
80
148
- KEY_PASSWORD : $DEFAULT_ALIAS_ANDROID_KEY_PASSWORD
81
149
after_run :
82
- - _run
150
+ - _setup_signer_tool_env_var
151
+ - _sign_app
152
+ - _reset_signer_tool_env_var
83
153
84
- utility_test_studio_gen_keystore :
154
+ _sign_with_studio_gen_keystore :
85
155
title : Step Test - android studio generated keystore (jks)
86
156
envs :
87
157
- KEYSTORE_URL : $STUDIO_GEN_ANDROID_KEYSTORE_URL
88
158
- KEYSTORE_PASSWORD : $STUDIO_GEN_ANDROID_KEYSTORE_PASSWORD
89
159
- KEYSTORE_ALIAS : $STUDIO_GEN_ANDROID_KEY_ALIAS
90
160
- KEY_PASSWORD : $STUDIO_GEN_ANDROID_KEY_PASSWORD
91
161
after_run :
92
- - _run
162
+ - _setup_signer_tool_env_var
163
+ - _sign_app
164
+ - _reset_signer_tool_env_var
93
165
94
- utility_test_custom_artifact_name :
166
+ _sign_with_custom_artifact_name :
95
167
title : Step Test - android studio generated keystore (jks) + custom artifact name
96
168
envs :
97
169
- KEYSTORE_URL : $STUDIO_GEN_ANDROID_KEYSTORE_URL
@@ -100,10 +172,12 @@ workflows:
100
172
- KEY_PASSWORD : $STUDIO_GEN_ANDROID_KEY_PASSWORD
101
173
- OUTPUT_NAME : test-artifact-name
102
174
after_run :
103
- - _run
104
- - utility_test_custom_artifact_name_again
175
+ - _setup_signer_tool_env_var
176
+ - _sign_app
177
+ - _sign_with_custom_artifact_name_again
178
+ - _reset_signer_tool_env_var
105
179
106
- utility_test_custom_artifact_name_again :
180
+ _sign_with_custom_artifact_name_again :
107
181
title : Step Test - android studio generated keystore (jks) + custom artifact name second time to see collisions if any
108
182
envs :
109
183
- KEYSTORE_URL : $STUDIO_GEN_ANDROID_KEYSTORE_URL
@@ -112,9 +186,11 @@ workflows:
112
186
- KEY_PASSWORD : $STUDIO_GEN_ANDROID_KEY_PASSWORD
113
187
- OUTPUT_NAME : test-artifact-name
114
188
after_run :
115
- - _run
189
+ - _setup_signer_tool_env_var
190
+ - _sign_app
191
+ - _reset_signer_tool_env_var
116
192
117
- _run :
193
+ _sign_app :
118
194
steps :
119
195
- set-java-version :
120
196
inputs :
@@ -135,81 +211,24 @@ workflows:
135
211
- keystore_alias : $KEYSTORE_ALIAS
136
212
- private_key_password : $KEY_PASSWORD
137
213
- output_name : $OUTPUT_NAME
138
- - use_apk_signer : $APK_SIGNER
214
+ - signer_tool : $SIGNER_TOOL
139
215
140
- _run_collection :
216
+ _setup_signer_tool_env_var :
141
217
steps :
142
- - set-java-version :
143
- inputs :
144
- - set_java_version : 17
145
- - script :
146
- inputs :
147
- - content : |-
148
- #!/usr/bin/env bash
149
- set -ex
150
- rm -rf ./_tmp
151
- - change-workdir :
152
- title : Switch working dir to test/_tmp dir
153
- inputs :
154
- - path : ./_tmp
155
- - is_create_path : true
156
- - git::https://github.com/bitrise-steplib/bitrise-step-simple-git-clone.git :
157
- inputs :
158
- - repository_url : $TEST_APP_REPO
159
- - clone_into_dir : .
160
- - branch : $TEST_APP_BRANCH
161
- - install-missing-android-tools :
162
- inputs :
163
- - gradlew_path : $TEST_APP_GRADLE_WRAPPER_PATH
164
- - ndk_revision : 16
165
- run_if : .IsCI
166
218
- script :
167
219
inputs :
168
220
- content : |-
169
221
#!/usr/bin/env bash
170
222
set -ex
171
- envman unset --key BITRISE_APK_PATH
172
- envman unset --key BITRISE_AAB_PATH
173
- - gradle-runner :
174
- inputs :
175
- - gradle_task : $TEST_APP_GRADLE_TASK
176
- - gradlew_path : $TEST_APP_GRADLE_WRAPPER_PATH
177
- - app_file_include_filter : $APK_FILE_INCLUDE_FILTER
178
- - script :
179
- inputs :
180
- - content : |-
181
- #!/usr/bin/env bash
182
- set -ex
183
- if [ -n "$BITRISE_APK_PATH" ]; then
184
- envman add --key ORIG_BITRISE_APK_PATH --value ${BITRISE_APK_PATH}
223
+ if [ -z "$SIGNER_TOOL" ]; then
224
+ envman add --key SIGNER_TOOL --value "$ORIG_SIGNER_TOOL"
185
225
fi
186
- after_run :
187
- - _jarsigner_all_tests
188
- - _apksigner_all_tests
189
- _jarsigner_all_tests :
190
- steps :
191
- - script :
192
- inputs :
193
- - content : |-
194
- echo "jarsigner"
195
- envman add --key APK_SIGNER --value "false"
196
- after_run :
197
- - _all_keystore_tests
198
226
199
- _apksigner_all_tests :
227
+ _reset_signer_tool_env_var :
200
228
steps :
201
229
- script :
202
230
inputs :
203
231
- content : |-
204
- echo "apksigner"
205
- envman add --key APK_SIGNER --value "true"
206
- after_run :
207
- - _all_keystore_tests
208
-
209
- _all_keystore_tests :
210
- after_run :
211
- - utility_test_same_pass
212
- - utility_test_diff_pass
213
- - utility_test_default_alias
214
- - utility_test_studio_gen_keystore
215
- - utility_test_custom_artifact_name
232
+ #!/usr/bin/env bash
233
+ set -ex
234
+ envman unset --key SIGNER_TOOL
0 commit comments