fastlane 2.205.2 → 2.206.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -96
  3. data/cert/lib/cert/runner.rb +15 -7
  4. data/deliver/lib/deliver/options.rb +5 -0
  5. data/deliver/lib/deliver/runner.rb +45 -0
  6. data/fastlane/lib/fastlane/actions/.supply.rb.swp +0 -0
  7. data/fastlane/lib/fastlane/actions/danger.rb +14 -0
  8. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -7
  9. data/fastlane/lib/fastlane/actions/setup_ci.rb +13 -4
  10. data/fastlane/lib/fastlane/cli_tools_distributor.rb +5 -0
  11. data/fastlane/lib/fastlane/lane_manager.rb +1 -1
  12. data/fastlane/lib/fastlane/tools.rb +16 -0
  13. data/fastlane/lib/fastlane/version.rb +1 -1
  14. data/fastlane/swift/Deliverfile.swift +1 -1
  15. data/fastlane/swift/DeliverfileProtocol.swift +5 -1
  16. data/fastlane/swift/Fastlane.swift +39 -3
  17. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  18. data/fastlane/swift/Gymfile.swift +1 -1
  19. data/fastlane/swift/GymfileProtocol.swift +1 -1
  20. data/fastlane/swift/MainProcess.swift +2 -2
  21. data/fastlane/swift/Matchfile.swift +1 -1
  22. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  23. data/fastlane/swift/Precheckfile.swift +1 -1
  24. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  25. data/fastlane/swift/Scanfile.swift +1 -1
  26. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  27. data/fastlane/swift/Screengrabfile.swift +1 -1
  28. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  29. data/fastlane/swift/Snapshotfile.swift +1 -1
  30. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  31. data/fastlane/swift/formatting/Brewfile.lock.json +13 -13
  32. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +90 -0
  33. data/match/lib/match/importer.rb +3 -1
  34. data/match/lib/match/options.rb +5 -0
  35. data/match/lib/match/runner.rb +1 -0
  36. data/match/lib/match/storage/google_cloud_storage.rb +7 -6
  37. data/pem/lib/pem/manager.rb +1 -1
  38. data/scan/lib/scan/options.rb +6 -1
  39. data/scan/lib/scan/runner.rb +10 -2
  40. data/sigh/lib/sigh/runner.rb +2 -1
  41. data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -2
  42. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +2 -1
  43. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -0
  44. data/spaceship/lib/spaceship/connect_api/models/user.rb +5 -0
  45. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +24 -2
  46. data/spaceship/lib/spaceship/connect_api/token.rb +5 -2
  47. metadata +22 -21
  48. data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
@@ -81,7 +81,7 @@ module PEM
81
81
  p12_cert_path = File.join(output_path, "#{filename_base}.p12")
82
82
  p12_password = PEM.config[:p12_password] == "" ? nil : PEM.config[:p12_password]
83
83
  p12 = OpenSSL::PKCS12.create(p12_password, certificate_type, pkey, x509_certificate)
84
- File.write(p12_cert_path, p12.to_der)
84
+ File.write(p12_cert_path, p12.to_der.force_encoding("UTF-8"))
85
85
  UI.message("p12 certificate: ".green + Pathname.new(p12_cert_path).realpath.to_s)
86
86
  end
87
87
 
@@ -522,7 +522,12 @@ module Scan
522
522
  env_name: 'SCAN_NUMBER_OF_RETRIES',
523
523
  description: "The number of times a test can fail",
524
524
  type: Integer,
525
- default_value: 0)
525
+ default_value: 0),
526
+ FastlaneCore::ConfigItem.new(key: :fail_build,
527
+ env_name: "SCAN_FAIL_BUILD",
528
+ description: "Should this step stop the build if the tests fail? Set this to false if you're using trainer",
529
+ type: Boolean,
530
+ default_value: true)
526
531
 
527
532
  ]
528
533
  end
@@ -305,11 +305,19 @@ module Scan
305
305
  if number_of_failures > 0
306
306
  open_report
307
307
 
308
- UI.test_failure!("Tests have failed")
308
+ if Scan.config[:fail_build]
309
+ UI.test_failure!("Tests have failed")
310
+ else
311
+ UI.error("Tests have failed")
312
+ end
309
313
  end
310
314
 
311
315
  unless tests_exit_status == 0
312
- UI.test_failure!("Test execution failed. Exit status: #{tests_exit_status}")
316
+ if Scan.config[:fail_build]
317
+ UI.test_failure!("Test execution failed. Exit status: #{tests_exit_status}")
318
+ else
319
+ UI.error("Test execution failed. Exit status: #{tests_exit_status}")
320
+ end
313
321
  end
314
322
 
315
323
  open_report
@@ -251,7 +251,8 @@ module Sigh
251
251
  ]
252
252
  elsif profile_type == Spaceship::ConnectAPI::Profile::ProfileType::MAC_APP_DIRECT || profile_type == Spaceship::ConnectAPI::Profile::ProfileType::MAC_CATALYST_APP_DIRECT
253
253
  types = [
254
- Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION
254
+ Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION,
255
+ Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION_G2
255
256
  ]
256
257
  else
257
258
  types = [
@@ -362,9 +362,8 @@ module Spaceship
362
362
  def get_build_deliveries(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
363
363
  client ||= Spaceship::ConnectAPI
364
364
  filter ||= {}
365
- filter[:app] = id
366
365
 
367
- resps = client.get_build_deliveries(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
366
+ resps = client.get_build_deliveries(app_id: id, filter: filter, includes: includes, limit: limit, sort: sort).all_pages
368
367
  return resps.flat_map(&:to_models)
369
368
  end
370
369
 
@@ -27,7 +27,8 @@ module Spaceship
27
27
  def self.all(client: nil, app_id: nil, version: nil, build_number: nil)
28
28
  client ||= Spaceship::ConnectAPI
29
29
  resps = client.get_build_deliveries(
30
- filter: { app: app_id, cfBundleShortVersionString: version, cfBundleVersion: build_number },
30
+ app_id: app_id,
31
+ filter: { cfBundleShortVersionString: version, cfBundleVersion: build_number },
31
32
  limit: 1
32
33
  ).all_pages
33
34
  return resps.flat_map(&:to_models)
@@ -41,6 +41,7 @@ module Spaceship
41
41
  MAC_APP_DEVELOPMENT = "MAC_APP_DEVELOPMENT"
42
42
  DEVELOPER_ID_KEXT = "DEVELOPER_ID_KEXT"
43
43
  DEVELOPER_ID_APPLICATION = "DEVELOPER_ID_APPLICATION"
44
+ DEVELOPER_ID_APPLICATION_G2 = "DEVELOPER_ID_APPLICATION_G2"
44
45
 
45
46
  # As of 2021-11-09, this is only available with Apple ID auth
46
47
  DEVELOPER_ID_INSTALLER = "DEVELOPER_ID_INSTALLER"
@@ -57,6 +57,11 @@ module Spaceship
57
57
  return all(client: client, filter: { email: email }, includes: includes)
58
58
  end
59
59
 
60
+ def delete!(client: nil)
61
+ client ||= Spaceship::ConnectAPI
62
+ client.delete_user(user_id: id)
63
+ end
64
+
60
65
  def get_visible_apps(client: nil, limit: nil)
61
66
  client ||= Spaceship::ConnectAPI
62
67
  resp = client.get_user_visible_apps(user_id: id, limit: limit)
@@ -290,6 +290,28 @@ module Spaceship
290
290
  test_flight_request_client.post("bulkBetaTesterAssignments", body)
291
291
  end
292
292
 
293
+ # attributes - {email: "", firstName: "", lastName: ""}
294
+ def post_beta_tester_assignment(beta_group_ids: [], attributes: {})
295
+ body = {
296
+ data: {
297
+ attributes: attributes,
298
+ relationships: {
299
+ betaGroups: {
300
+ data: beta_group_ids.map do |id|
301
+ {
302
+ type: "betaGroups",
303
+ id: id
304
+ }
305
+ end
306
+ }
307
+ },
308
+ type: "betaTesters"
309
+ }
310
+ }
311
+
312
+ test_flight_request_client.post("betaTesters", body)
313
+ end
314
+
293
315
  def add_beta_tester_to_group(beta_group_id: nil, beta_tester_ids: nil)
294
316
  beta_tester_ids || []
295
317
  body = {
@@ -448,9 +470,9 @@ module Spaceship
448
470
  # buildDeliveries
449
471
  #
450
472
 
451
- def get_build_deliveries(filter: {}, includes: nil, limit: nil, sort: nil)
473
+ def get_build_deliveries(app_id:, filter: {}, includes: nil, limit: nil, sort: nil)
452
474
  params = test_flight_request_client.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
453
- test_flight_request_client.get("buildDeliveries", params)
475
+ test_flight_request_client.get("apps/#{app_id}/buildDeliveries", params)
454
476
  end
455
477
 
456
478
  #
@@ -90,14 +90,17 @@ module Spaceship
90
90
  end
91
91
 
92
92
  def refresh!
93
- @expiration = Time.now + @duration
93
+ now = Time.now
94
+ @expiration = now + @duration
94
95
 
95
96
  header = {
96
- kid: key_id
97
+ kid: key_id,
98
+ typ: 'JWT'
97
99
  }
98
100
 
99
101
  payload = {
100
102
  iss: issuer_id,
103
+ iat: now.to_i,
101
104
  exp: @expiration.to_i,
102
105
  aud: 'appstoreconnect-v1'
103
106
  }
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.205.2
4
+ version: 2.206.2
5
5
  platform: ruby
6
6
  authors:
7
- - Jan Piotrowski
8
- - Matthew Ellis
9
- - Satoshi Namai
10
- - Daniel Jankowski
11
- - Manu Wallner
7
+ - Łukasz Grabowski
12
8
  - Jérôme Lacoste
13
- - Jimmy Dee
14
- - Luka Mirosevic
15
- - Aaron Brager
16
- - Olivier Halligon
17
9
  - Iulian Onofrei
18
- - Josh Holtz
19
- - Fumiya Nakamura
10
+ - Manu Wallner
11
+ - Daniel Jankowski
12
+ - Jan Piotrowski
20
13
  - Jorge Revuelta H
21
- - Danielle Tomlinson
14
+ - Felix Krause
15
+ - Luka Mirosevic
22
16
  - Kohki Miki
23
- - Max Ott
24
17
  - Joshua Liebowitz
25
- - Manish Rathi
26
- - Łukasz Grabowski
27
- - Felix Krause
28
- - Andrew McBurney
18
+ - Danielle Tomlinson
19
+ - Satoshi Namai
20
+ - Max Ott
21
+ - Josh Holtz
22
+ - Olivier Halligon
23
+ - Matthew Ellis
24
+ - Aaron Brager
25
+ - Maksym Grebenets
26
+ - Fumiya Nakamura
27
+ - Jimmy Dee
29
28
  - Roger Oba
29
+ - Manish Rathi
30
30
  - Helmut Januschka
31
- - Maksym Grebenets
32
31
  - Stefan Natchev
32
+ - Andrew McBurney
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2022-04-21 00:00:00.000000000 Z
36
+ date: 2022-05-25 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: xcodeproj
@@ -1017,7 +1017,7 @@ files:
1017
1017
  - fastlane/lib/fastlane/action.rb
1018
1018
  - fastlane/lib/fastlane/action_collector.rb
1019
1019
  - fastlane/lib/fastlane/actions/.DS_Store
1020
- - fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp
1020
+ - fastlane/lib/fastlane/actions/.supply.rb.swp
1021
1021
  - fastlane/lib/fastlane/actions/README.md
1022
1022
  - fastlane/lib/fastlane/actions/actions_helper.rb
1023
1023
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1364,6 +1364,7 @@ files:
1364
1364
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
1365
1365
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
1366
1366
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
1367
+ - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate
1367
1368
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
1368
1369
  - fastlane/swift/FastlaneSwiftRunner/README.txt
1369
1370
  - fastlane/swift/Gymfile.swift