fastlane 2.185.1 → 2.186.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +100 -100
- data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
- data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +1 -1
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +3 -4
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
- data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
- data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
- data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
- data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
- data/fastlane/lib/fastlane/actions/erb.rb +2 -5
- data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +29 -34
- data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
- data/fastlane/lib/fastlane/actions/git_commit.rb +2 -6
- data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +2 -5
- data/fastlane/lib/fastlane/actions/gradle.rb +11 -19
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
- data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
- data/fastlane/lib/fastlane/actions/hipchat.rb +4 -5
- data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
- data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
- data/fastlane/lib/fastlane/actions/import_from_git.rb +2 -4
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -2
- data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
- data/fastlane/lib/fastlane/actions/installr.rb +22 -25
- data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
- data/fastlane/lib/fastlane/actions/jazzy.rb +8 -14
- data/fastlane/lib/fastlane/{actions/.git_commit.rb.swp → helper/.git_helper.rb.swp} +0 -0
- data/fastlane/lib/fastlane/helper/git_helper.rb +17 -5
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +49 -32
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +11 -11
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +13 -0
- data/match/lib/match/importer.rb +3 -0
- data/match/lib/match/nuke.rb +2 -3
- data/pilot/lib/pilot/build_manager.rb +0 -3
- data/pilot/lib/pilot/manager.rb +4 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
- data/spaceship/lib/spaceship/connect_api/api_client.rb +30 -5
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -1
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
- metadata +20 -19
@@ -2,30 +2,30 @@
|
|
2
2
|
"entries": {
|
3
3
|
"brew": {
|
4
4
|
"swiftformat": {
|
5
|
-
"version": "0.48.
|
5
|
+
"version": "0.48.5",
|
6
6
|
"bottle": {
|
7
7
|
"rebuild": 0,
|
8
8
|
"root_url": "https://ghcr.io/v2/homebrew/core",
|
9
9
|
"files": {
|
10
10
|
"arm64_big_sur": {
|
11
11
|
"cellar": ":any_skip_relocation",
|
12
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
13
|
-
"sha256": "
|
12
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:7619ac8360774b9854b838912b43b8d7be9dfd39a2cf4bdd24afbc2007cd6bd8",
|
13
|
+
"sha256": "7619ac8360774b9854b838912b43b8d7be9dfd39a2cf4bdd24afbc2007cd6bd8"
|
14
14
|
},
|
15
15
|
"big_sur": {
|
16
16
|
"cellar": ":any_skip_relocation",
|
17
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
18
|
-
"sha256": "
|
17
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:c50e89c6fd21e817cdf5f1b1d0a51c25553e0d5bcb396fe18e6404f4ad31c2b8",
|
18
|
+
"sha256": "c50e89c6fd21e817cdf5f1b1d0a51c25553e0d5bcb396fe18e6404f4ad31c2b8"
|
19
19
|
},
|
20
20
|
"catalina": {
|
21
21
|
"cellar": ":any_skip_relocation",
|
22
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
23
|
-
"sha256": "
|
22
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:41d5ecd73bba3c90c8770d33dc86fb0a07f9fb23034d1b07517e7dd9431e8280",
|
23
|
+
"sha256": "41d5ecd73bba3c90c8770d33dc86fb0a07f9fb23034d1b07517e7dd9431e8280"
|
24
24
|
},
|
25
25
|
"mojave": {
|
26
26
|
"cellar": ":any_skip_relocation",
|
27
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
28
|
-
"sha256": "
|
27
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:369cb9a0eca80fc8fd0ae5a1dcf6dad9aea366d3325e196276b05b9abb392357",
|
28
|
+
"sha256": "369cb9a0eca80fc8fd0ae5a1dcf6dad9aea366d3325e196276b05b9abb392357"
|
29
29
|
}
|
30
30
|
}
|
31
31
|
}
|
@@ -35,9 +35,9 @@
|
|
35
35
|
"system": {
|
36
36
|
"macos": {
|
37
37
|
"catalina": {
|
38
|
-
"HOMEBREW_VERSION": "3.
|
38
|
+
"HOMEBREW_VERSION": "3.2.0-18-g4f33c2c",
|
39
39
|
"HOMEBREW_PREFIX": "/usr/local",
|
40
|
-
"Homebrew/homebrew-core": "
|
40
|
+
"Homebrew/homebrew-core": "b7aeea4e146fc17d70862def113e90ee3153d514",
|
41
41
|
"CLT": "11.0.0.33.12",
|
42
42
|
"Xcode": "12.4",
|
43
43
|
"macOS": "10.15.7"
|
@@ -216,6 +216,17 @@ module FastlaneCore
|
|
216
216
|
end
|
217
217
|
end
|
218
218
|
|
219
|
+
def ensure_array_type_passes_validation(value)
|
220
|
+
if @skip_type_validation
|
221
|
+
return
|
222
|
+
end
|
223
|
+
|
224
|
+
# Arrays can be an either be an array or string that gets split by comma in auto_convert_type
|
225
|
+
if !value.kind_of?(Array) && !value.kind_of?(String)
|
226
|
+
UI.user_error!("'#{self.key}' value must be either `Array` or `comma-separated String`! Found #{value.class} instead.")
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
219
230
|
# Make sure, the value is valid (based on the verify block)
|
220
231
|
# Raises an exception if the value is invalid
|
221
232
|
def valid?(value)
|
@@ -225,6 +236,8 @@ module FastlaneCore
|
|
225
236
|
# Verify that value is the type that we're expecting, if we are expecting a type
|
226
237
|
if data_type == Fastlane::Boolean
|
227
238
|
ensure_boolean_type_passes_validation(value)
|
239
|
+
elsif data_type == Array
|
240
|
+
ensure_array_type_passes_validation(value)
|
228
241
|
else
|
229
242
|
ensure_generic_type_passes_validation(value)
|
230
243
|
end
|
data/match/lib/match/importer.rb
CHANGED
@@ -22,6 +22,9 @@ module Match
|
|
22
22
|
git_branch: params[:git_branch],
|
23
23
|
git_full_name: params[:git_full_name],
|
24
24
|
git_user_email: params[:git_user_email],
|
25
|
+
git_private_key: params[:git_private_key],
|
26
|
+
git_basic_authorization: params[:git_basic_authorization],
|
27
|
+
git_bearer_authorization: params[:git_bearer_authorization],
|
25
28
|
clone_branch_directly: params[:clone_branch_directly],
|
26
29
|
type: params[:type].to_s,
|
27
30
|
platform: params[:platform].to_s,
|
data/match/lib/match/nuke.rb
CHANGED
@@ -247,9 +247,8 @@ module Match
|
|
247
247
|
UI.success("Successfully deleted certificate")
|
248
248
|
end
|
249
249
|
|
250
|
-
if self.files.count > 0
|
251
|
-
|
252
|
-
end
|
250
|
+
files_to_delete = delete_files! if self.files.count > 0
|
251
|
+
files_to_delete ||= []
|
253
252
|
|
254
253
|
self.encryption.encrypt_files if self.encryption
|
255
254
|
|
@@ -366,9 +366,6 @@ module Pilot
|
|
366
366
|
# If there are multiple teams, infer the provider from the selected team name.
|
367
367
|
# If there are fewer than two teams, don't infer the provider.
|
368
368
|
def transporter_for_selected_team(options)
|
369
|
-
# Ensure that user is authenticated
|
370
|
-
start(options)
|
371
|
-
|
372
369
|
# Use JWT auth
|
373
370
|
api_token = Spaceship::ConnectAPI.token
|
374
371
|
unless api_token.nil?
|
data/pilot/lib/pilot/manager.rb
CHANGED
@@ -13,7 +13,10 @@ module Pilot
|
|
13
13
|
def start(options, should_login: true)
|
14
14
|
return if @config # to not login multiple times
|
15
15
|
@config = options
|
16
|
-
|
16
|
+
|
17
|
+
# we will always start with App Store Connect API login 'if possible'
|
18
|
+
# else fallback to 'should_login' param for 'apple_id' login
|
19
|
+
login if options[:api_key_path] || options[:api_key] || should_login
|
17
20
|
end
|
18
21
|
|
19
22
|
def login
|
@@ -207,16 +207,19 @@ module Spaceship
|
|
207
207
|
|
208
208
|
# Overridden from Spaceship::Client
|
209
209
|
def handle_error(response)
|
210
|
+
body = response.body.empty? ? {} : response.body
|
211
|
+
body = JSON.parse(body) if body.kind_of?(String)
|
212
|
+
|
210
213
|
case response.status.to_i
|
211
214
|
when 401
|
212
|
-
raise UnauthorizedAccessError, format_errors(response)
|
215
|
+
raise UnauthorizedAccessError, format_errors(response)
|
213
216
|
when 403
|
214
|
-
error = (
|
217
|
+
error = (body['errors'] || []).first || {}
|
215
218
|
error_code = error['code']
|
216
219
|
if error_code == "FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED"
|
217
|
-
raise ProgramLicenseAgreementUpdated, format_errors(response)
|
220
|
+
raise ProgramLicenseAgreementUpdated, format_errors(response)
|
218
221
|
else
|
219
|
-
raise AccessForbiddenError, format_errors(response)
|
222
|
+
raise AccessForbiddenError, format_errors(response)
|
220
223
|
end
|
221
224
|
end
|
222
225
|
end
|
@@ -280,7 +283,23 @@ module Spaceship
|
|
280
283
|
# ]
|
281
284
|
# }
|
282
285
|
|
283
|
-
|
286
|
+
# Membership expired
|
287
|
+
# {
|
288
|
+
# "errors" : [
|
289
|
+
# {
|
290
|
+
# "id" : "UUID",
|
291
|
+
# "status" : "403",
|
292
|
+
# "code" : "FORBIDDEN_ERROR",
|
293
|
+
# "title" : "This request is forbidden for security reasons",
|
294
|
+
# "detail" : "Team ID: 'ID' is not associated with an active membership. To check your teams membership status, sign in your account on the developer website. https://developer.apple.com/account/"
|
295
|
+
# }
|
296
|
+
# ]
|
297
|
+
# }
|
298
|
+
|
299
|
+
body = response.body.empty? ? {} : response.body
|
300
|
+
body = JSON.parse(body) if body.kind_of?(String)
|
301
|
+
|
302
|
+
formatted_errors = (body['errors'] || []).map do |error|
|
284
303
|
messages = [[error['title'], error['detail'], error.dig("source", "pointer")].compact.join(" - ")]
|
285
304
|
|
286
305
|
meta = error["meta"] || {}
|
@@ -290,6 +309,12 @@ module Spaceship
|
|
290
309
|
[[associated_error["title"], associated_error["detail"]].compact.join(" - ")]
|
291
310
|
end
|
292
311
|
end.flatten.join("\n")
|
312
|
+
|
313
|
+
if formatted_errors.empty?
|
314
|
+
formatted_errors << "Unknown error"
|
315
|
+
end
|
316
|
+
|
317
|
+
return formatted_errors
|
293
318
|
end
|
294
319
|
|
295
320
|
private
|
@@ -13,6 +13,7 @@ module Spaceship
|
|
13
13
|
attr_accessor :apps
|
14
14
|
attr_accessor :beta_groups
|
15
15
|
attr_accessor :beta_tester_metrics
|
16
|
+
attr_accessor :builds
|
16
17
|
|
17
18
|
attr_mapping({
|
18
19
|
"firstName" => "first_name",
|
@@ -23,7 +24,8 @@ module Spaceship
|
|
23
24
|
|
24
25
|
"apps" => "apps",
|
25
26
|
"betaGroups" => "beta_groups",
|
26
|
-
"betaTesterMetrics" => "beta_tester_metrics"
|
27
|
+
"betaTesterMetrics" => "beta_tester_metrics",
|
28
|
+
"builds" => "builds"
|
27
29
|
})
|
28
30
|
|
29
31
|
def self.type
|
@@ -20,6 +20,7 @@ module Spaceship
|
|
20
20
|
attr_accessor :beta_build_localizations
|
21
21
|
attr_accessor :build_beta_detail
|
22
22
|
attr_accessor :pre_release_version
|
23
|
+
attr_accessor :individual_testers
|
23
24
|
|
24
25
|
attr_mapping({
|
25
26
|
"version" => "version",
|
@@ -36,7 +37,8 @@ module Spaceship
|
|
36
37
|
"betaBuildMetrics" => "beta_build_metrics",
|
37
38
|
"betaBuildLocalizations" => "beta_build_localizations",
|
38
39
|
"buildBetaDetail" => "build_beta_detail",
|
39
|
-
"preReleaseVersion" => "pre_release_version"
|
40
|
+
"preReleaseVersion" => "pre_release_version",
|
41
|
+
"individualTesters" => "individual_testers"
|
40
42
|
})
|
41
43
|
|
42
44
|
ESSENTIAL_INCLUDES = "app,buildBetaDetail,preReleaseVersion"
|
@@ -327,6 +327,19 @@ module Spaceship
|
|
327
327
|
test_flight_request_client.delete("apps/#{app_id}/relationships/betaTesters", nil, body)
|
328
328
|
end
|
329
329
|
|
330
|
+
def add_beta_tester_to_builds(beta_tester_id: nil, build_ids: [])
|
331
|
+
body = {
|
332
|
+
data: build_ids.map do |id|
|
333
|
+
{
|
334
|
+
type: "builds",
|
335
|
+
id: id
|
336
|
+
}
|
337
|
+
end
|
338
|
+
}
|
339
|
+
|
340
|
+
test_flight_request_client.post("betaTesters/#{beta_tester_id}/relationships/builds", body)
|
341
|
+
end
|
342
|
+
|
330
343
|
#
|
331
344
|
# betaTesterMetrics
|
332
345
|
#
|
metadata
CHANGED
@@ -1,38 +1,38 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.186.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Manish Rathi
|
8
|
+
- Daniel Jankowski
|
9
|
+
- Matthew Ellis
|
10
|
+
- Andrew McBurney
|
8
11
|
- Jorge Revuelta H
|
9
|
-
-
|
12
|
+
- Felix Krause
|
10
13
|
- Aaron Brager
|
11
|
-
-
|
12
|
-
-
|
13
|
-
- Helmut Januschka
|
14
|
-
- Manish Rathi
|
14
|
+
- Jérôme Lacoste
|
15
|
+
- Satoshi Namai
|
15
16
|
- Fumiya Nakamura
|
16
|
-
- Olivier Halligon
|
17
|
-
- Josh Holtz
|
18
|
-
- Felix Krause
|
19
|
-
- Iulian Onofrei
|
20
|
-
- Matthew Ellis
|
21
17
|
- Manu Wallner
|
22
|
-
- Jérôme Lacoste
|
23
18
|
- Kohki Miki
|
24
19
|
- Roger Oba
|
25
20
|
- Stefan Natchev
|
21
|
+
- Iulian Onofrei
|
22
|
+
- Josh Holtz
|
26
23
|
- Luka Mirosevic
|
27
|
-
-
|
28
|
-
-
|
29
|
-
- Max Ott
|
24
|
+
- Helmut Januschka
|
25
|
+
- Olivier Halligon
|
30
26
|
- Danielle Tomlinson
|
31
|
-
-
|
27
|
+
- Jimmy Dee
|
28
|
+
- Jan Piotrowski
|
29
|
+
- Joshua Liebowitz
|
30
|
+
- Max Ott
|
31
|
+
- Maksym Grebenets
|
32
32
|
autorequire:
|
33
33
|
bindir: bin
|
34
34
|
cert_chain: []
|
35
|
-
date: 2021-06-
|
35
|
+
date: 2021-06-23 00:00:00.000000000 Z
|
36
36
|
dependencies:
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: xcodeproj
|
@@ -998,7 +998,6 @@ files:
|
|
998
998
|
- fastlane/lib/fastlane/.erb_template_helper.rb.swp
|
999
999
|
- fastlane/lib/fastlane/action.rb
|
1000
1000
|
- fastlane/lib/fastlane/action_collector.rb
|
1001
|
-
- fastlane/lib/fastlane/actions/.git_commit.rb.swp
|
1002
1001
|
- fastlane/lib/fastlane/actions/README.md
|
1003
1002
|
- fastlane/lib/fastlane/actions/actions_helper.rb
|
1004
1003
|
- fastlane/lib/fastlane/actions/adb.rb
|
@@ -1103,6 +1102,7 @@ files:
|
|
1103
1102
|
- fastlane/lib/fastlane/actions/git_branch.rb
|
1104
1103
|
- fastlane/lib/fastlane/actions/git_commit.rb
|
1105
1104
|
- fastlane/lib/fastlane/actions/git_pull.rb
|
1105
|
+
- fastlane/lib/fastlane/actions/git_remote_branch.rb
|
1106
1106
|
- fastlane/lib/fastlane/actions/git_submodule_update.rb
|
1107
1107
|
- fastlane/lib/fastlane/actions/git_tag_exists.rb
|
1108
1108
|
- fastlane/lib/fastlane/actions/github_api.rb
|
@@ -1261,6 +1261,7 @@ files:
|
|
1261
1261
|
- fastlane/lib/fastlane/fast_file.rb
|
1262
1262
|
- fastlane/lib/fastlane/fastlane_require.rb
|
1263
1263
|
- fastlane/lib/fastlane/features.rb
|
1264
|
+
- fastlane/lib/fastlane/helper/.git_helper.rb.swp
|
1264
1265
|
- fastlane/lib/fastlane/helper/README.md
|
1265
1266
|
- fastlane/lib/fastlane/helper/adb_helper.rb
|
1266
1267
|
- fastlane/lib/fastlane/helper/crashlytics_helper.rb
|