fastlane 2.224.0 → 2.232.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +98 -92
  3. data/bin/fastlane +2 -2
  4. data/cert/lib/cert/options.rb +7 -2
  5. data/cert/lib/cert/runner.rb +23 -11
  6. data/deliver/lib/assets/summary.html.erb +3 -3
  7. data/deliver/lib/deliver/app_screenshot.rb +215 -347
  8. data/deliver/lib/deliver/app_screenshot_iterator.rb +4 -1
  9. data/deliver/lib/deliver/app_screenshot_validator.rb +5 -21
  10. data/deliver/lib/deliver/loader.rb +2 -9
  11. data/deliver/lib/deliver/options.rb +1 -1
  12. data/deliver/lib/deliver/runner.rb +1 -1
  13. data/deliver/lib/deliver/upload_metadata.rb +5 -0
  14. data/deliver/lib/deliver/upload_screenshots.rb +4 -2
  15. data/fastlane/lib/assets/completions/completion.bash +1 -1
  16. data/fastlane/lib/assets/completions/completion.sh +2 -2
  17. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +16 -15
  18. data/fastlane/lib/fastlane/actions/appium.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +6 -3
  20. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +12 -8
  21. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +56 -17
  22. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +13 -1
  23. data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/import_certificate.rb +9 -1
  25. data/fastlane/lib/fastlane/actions/import_from_git.rb +11 -4
  26. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +3 -2
  28. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
  29. data/fastlane/lib/fastlane/actions/modify_services.rb +1 -0
  30. data/fastlane/lib/fastlane/actions/notarize.rb +4 -0
  31. data/fastlane/lib/fastlane/actions/onesignal.rb +1 -1
  32. data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
  33. data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
  34. data/fastlane/lib/fastlane/actions/setup_ci.rb +14 -4
  35. data/fastlane/lib/fastlane/actions/testfairy.rb +41 -4
  36. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +6 -1
  37. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +1 -1
  38. data/fastlane/lib/fastlane/actions/xcov.rb +1 -7
  39. data/fastlane/lib/fastlane/cli_tools_distributor.rb +9 -0
  40. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +4 -4
  41. data/fastlane/lib/fastlane/erb_template_helper.rb +1 -7
  42. data/fastlane/lib/fastlane/fast_file.rb +9 -6
  43. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +4 -0
  44. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  45. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +20 -20
  46. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -1
  47. data/fastlane/lib/fastlane/version.rb +2 -1
  48. data/fastlane/swift/Actions.swift +1 -1
  49. data/fastlane/swift/Appfile.swift +13 -5
  50. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  51. data/fastlane/swift/Atomic.swift +1 -1
  52. data/fastlane/swift/ControlCommand.swift +5 -4
  53. data/fastlane/swift/Deliverfile.swift +2 -2
  54. data/fastlane/swift/DeliverfileProtocol.swift +265 -68
  55. data/fastlane/swift/Fastlane.swift +187 -168
  56. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +3 -1
  57. data/fastlane/swift/Gymfile.swift +2 -2
  58. data/fastlane/swift/GymfileProtocol.swift +227 -54
  59. data/fastlane/swift/LaneFileProtocol.swift +7 -5
  60. data/fastlane/swift/MainProcess.swift +1 -1
  61. data/fastlane/swift/Matchfile.swift +2 -2
  62. data/fastlane/swift/MatchfileProtocol.swift +226 -59
  63. data/fastlane/swift/OptionalConfigValue.swift +1 -1
  64. data/fastlane/swift/Plugins.swift +1 -1
  65. data/fastlane/swift/Precheckfile.swift +2 -2
  66. data/fastlane/swift/PrecheckfileProtocol.swift +45 -13
  67. data/fastlane/swift/RubyCommand.swift +6 -7
  68. data/fastlane/swift/RubyCommandable.swift +1 -1
  69. data/fastlane/swift/Runner.swift +3 -3
  70. data/fastlane/swift/RunnerArgument.swift +1 -1
  71. data/fastlane/swift/Scanfile.swift +2 -2
  72. data/fastlane/swift/ScanfileProtocol.swift +334 -84
  73. data/fastlane/swift/Screengrabfile.swift +2 -2
  74. data/fastlane/swift/ScreengrabfileProtocol.swift +89 -24
  75. data/fastlane/swift/Snapshotfile.swift +2 -2
  76. data/fastlane/swift/SnapshotfileProtocol.swift +216 -53
  77. data/fastlane/swift/SocketClient.swift +7 -7
  78. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  79. data/fastlane/swift/SocketResponse.swift +1 -1
  80. data/fastlane/swift/formatting/Brewfile.lock.json +15 -25
  81. data/fastlane/swift/formatting/Rakefile +1 -2
  82. data/fastlane/swift/main.swift +1 -1
  83. data/fastlane_core/lib/assets/XMLTemplate.xml.erb +5 -1
  84. data/fastlane_core/lib/fastlane_core/cert_checker.rb +10 -0
  85. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -1
  86. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +5 -1
  87. data/fastlane_core/lib/fastlane_core/helper.rb +6 -1
  88. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +4 -14
  89. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +19 -2
  90. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +143 -106
  91. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +3 -1
  92. data/fastlane_core/lib/fastlane_core/project.rb +8 -0
  93. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +7 -1
  94. data/frameit/lib/frameit/device.rb +2 -2
  95. data/frameit/lib/frameit/device_types.rb +108 -70
  96. data/frameit/lib/frameit/template_finder.rb +1 -1
  97. data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +1 -0
  98. data/gym/lib/gym/module.rb +9 -4
  99. data/gym/lib/gym/options.rb +20 -2
  100. data/gym/lib/gym/runner.rb +38 -3
  101. data/match/lib/assets/READMETemplate.md +2 -2
  102. data/match/lib/match/generator.rb +2 -2
  103. data/match/lib/match/options.rb +1 -0
  104. data/match/lib/match/runner.rb +1 -1
  105. data/match/lib/match/storage/s3_storage.rb +4 -7
  106. data/pilot/lib/pilot/build_manager.rb +7 -1
  107. data/precheck/lib/precheck/options.rb +1 -1
  108. data/produce/lib/produce/commands_generator.rb +2 -0
  109. data/produce/lib/produce/developer_center.rb +1 -0
  110. data/produce/lib/produce/options.rb +1 -1
  111. data/produce/lib/produce/service.rb +6 -1
  112. data/scan/lib/scan/error_handler.rb +5 -0
  113. data/scan/lib/scan/options.rb +13 -3
  114. data/scan/lib/scan/test_command_generator.rb +10 -2
  115. data/sigh/lib/assets/resign.sh +7 -5
  116. data/sigh/lib/sigh/local_manage.rb +6 -4
  117. data/sigh/lib/sigh/options.rb +1 -0
  118. data/sigh/lib/sigh/runner.rb +23 -3
  119. data/snapshot/lib/snapshot/detect_values.rb +1 -1
  120. data/snapshot/lib/snapshot/options.rb +13 -1
  121. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -2
  122. data/spaceship/lib/spaceship/client.rb +153 -22
  123. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +65 -9
  124. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +4 -4
  125. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -1
  126. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +16 -16
  127. data/spaceship/lib/spaceship/connect_api/models/build_upload.rb +42 -0
  128. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +2 -0
  129. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +33 -2
  130. data/spaceship/lib/spaceship/connect_api/models/device.rb +1 -2
  131. data/spaceship/lib/spaceship/connect_api/models/profile.rb +2 -3
  132. data/spaceship/lib/spaceship/connect_api/models/webhook.rb +62 -0
  133. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +0 -6
  134. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +9 -0
  135. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +38 -0
  136. data/spaceship/lib/spaceship/connect_api.rb +2 -0
  137. data/spaceship/lib/spaceship/errors.rb +23 -6
  138. data/spaceship/lib/spaceship/portal/key.rb +22 -3
  139. data/spaceship/lib/spaceship/portal/portal_client.rb +29 -2
  140. data/spaceship/lib/spaceship/spaceauth_runner.rb +5 -15
  141. data/supply/lib/supply/client.rb +18 -1
  142. data/supply/lib/supply/uploader.rb +22 -11
  143. data/trainer/lib/trainer/legacy_xcresult.rb +586 -0
  144. data/trainer/lib/trainer/options.rb +5 -0
  145. data/trainer/lib/trainer/plist_test_summary_parser.rb +84 -0
  146. data/trainer/lib/trainer/test_parser.rb +12 -293
  147. data/trainer/lib/trainer/xcresult/helper.rb +63 -0
  148. data/trainer/lib/trainer/xcresult/repetition.rb +39 -0
  149. data/trainer/lib/trainer/xcresult/test_case.rb +221 -0
  150. data/trainer/lib/trainer/xcresult/test_case_attributes.rb +49 -0
  151. data/trainer/lib/trainer/xcresult/test_plan.rb +91 -0
  152. data/trainer/lib/trainer/xcresult/test_suite.rb +134 -0
  153. data/trainer/lib/trainer/xcresult.rb +31 -388
  154. data/trainer/lib/trainer.rb +3 -1
  155. metadata +172 -33
  156. data/fastlane/lib/fastlane/actions/hipchat.rb +0 -200
  157. data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +0 -14
  158. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +0 -43
  159. data/fastlane/lib/fastlane/plugins/template/.travis.yml +0 -4
metadata CHANGED
@@ -1,39 +1,40 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.224.0
4
+ version: 2.232.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Fumiya Nakamura
8
+ - Jan Piotrowski
9
+ - Roger Oba
7
10
  - Maksym Grebenets
8
- - Aaron Brager
9
- - Iulian Onofrei
10
- - Andrew McBurney
11
- - Daniel Jankowski
12
- - Manu Wallner
13
- - Felix Krause
14
- - Jérôme Lacoste
15
11
  - Helmut Januschka
16
- - Max Ott
17
- - Satoshi Namai
18
- - Josh Holtz
19
- - Kohki Miki
20
- - Manish Rathi
21
12
  - Jorge Revuelta H
22
- - Fumiya Nakamura
13
+ - Manish Rathi
14
+ - Iulian Onofrei
15
+ - Manu Wallner
23
16
  - Łukasz Grabowski
17
+ - Stefan Natchev
18
+ - Satoshi Namai
24
19
  - Jimmy Dee
20
+ - Jérôme Lacoste
21
+ - Josh Holtz
22
+ - Andrew McBurney
25
23
  - Olivier Halligon
26
- - Stefan Natchev
27
- - Jan Piotrowski
28
24
  - Joshua Liebowitz
25
+ - Connor Tumbleson
26
+ - Felix Krause
27
+ - Kohki Miki
28
+ - Daniel Jankowski
29
29
  - Luka Mirosevic
30
30
  - Matthew Ellis
31
+ - Max Ott
31
32
  - Danielle Tomlinson
32
- - Roger Oba
33
+ - Aaron Brager
33
34
  autorequire:
34
35
  bindir: bin
35
36
  cert_chain: []
36
- date: 2024-10-03 00:00:00.000000000 Z
37
+ date: 2026-02-06 00:00:00.000000000 Z
37
38
  dependencies:
38
39
  - !ruby/object:Gem::Dependency
39
40
  name: addressable
@@ -75,14 +76,14 @@ dependencies:
75
76
  requirements:
76
77
  - - "~>"
77
78
  - !ruby/object:Gem::Version
78
- version: '1.0'
79
+ version: '1.197'
79
80
  type: :runtime
80
81
  prerelease: false
81
82
  version_requirements: !ruby/object:Gem::Requirement
82
83
  requirements:
83
84
  - - "~>"
84
85
  - !ruby/object:Gem::Version
85
- version: '1.0'
86
+ version: '1.197'
86
87
  - !ruby/object:Gem::Dependency
87
88
  name: babosa
88
89
  requirement: !ruby/object:Gem::Requirement
@@ -109,20 +110,20 @@ dependencies:
109
110
  requirements:
110
111
  - - ">="
111
112
  - !ruby/object:Gem::Version
112
- version: 1.12.0
113
+ version: 1.17.3
113
114
  - - "<"
114
115
  - !ruby/object:Gem::Version
115
- version: 3.0.0
116
+ version: 5.0.0
116
117
  type: :runtime
117
118
  prerelease: false
118
119
  version_requirements: !ruby/object:Gem::Requirement
119
120
  requirements:
120
121
  - - ">="
121
122
  - !ruby/object:Gem::Version
122
- version: 1.12.0
123
+ version: 1.17.3
123
124
  - - "<"
124
125
  - !ruby/object:Gem::Version
125
- version: 3.0.0
126
+ version: 5.0.0
126
127
  - !ruby/object:Gem::Dependency
127
128
  name: CFPropertyList
128
129
  requirement: !ruby/object:Gem::Requirement
@@ -293,6 +294,20 @@ dependencies:
293
294
  - - "<"
294
295
  - !ruby/object:Gem::Version
295
296
  version: 3.0.0
297
+ - !ruby/object:Gem::Dependency
298
+ name: fastlane-sirp
299
+ requirement: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ version: 1.0.0
304
+ type: :runtime
305
+ prerelease: false
306
+ version_requirements: !ruby/object:Gem::Requirement
307
+ requirements:
308
+ - - ">="
309
+ - !ruby/object:Gem::Version
310
+ version: 1.0.0
296
311
  - !ruby/object:Gem::Dependency
297
312
  name: gh_inspector
298
313
  requirement: !ruby/object:Gem::Requirement
@@ -348,9 +363,9 @@ dependencies:
348
363
  - - ">="
349
364
  - !ruby/object:Gem::Version
350
365
  version: 1.6.0
351
- - - "<"
366
+ - - "<="
352
367
  - !ruby/object:Gem::Version
353
- version: 2.0.0
368
+ version: 2.1.1
354
369
  type: :runtime
355
370
  prerelease: false
356
371
  version_requirements: !ruby/object:Gem::Requirement
@@ -358,9 +373,9 @@ dependencies:
358
373
  - - ">="
359
374
  - !ruby/object:Gem::Version
360
375
  version: 1.6.0
361
- - - "<"
376
+ - - "<="
362
377
  - !ruby/object:Gem::Version
363
- version: 2.0.0
378
+ version: 2.1.1
364
379
  - !ruby/object:Gem::Dependency
365
380
  name: google-cloud-storage
366
381
  requirement: !ruby/object:Gem::Requirement
@@ -709,6 +724,62 @@ dependencies:
709
724
  version: 2.0.0
710
725
  - !ruby/object:Gem::Dependency
711
726
  name: xcpretty
727
+ requirement: !ruby/object:Gem::Requirement
728
+ requirements:
729
+ - - "~>"
730
+ - !ruby/object:Gem::Version
731
+ version: 0.4.1
732
+ type: :runtime
733
+ prerelease: false
734
+ version_requirements: !ruby/object:Gem::Requirement
735
+ requirements:
736
+ - - "~>"
737
+ - !ruby/object:Gem::Version
738
+ version: 0.4.1
739
+ - !ruby/object:Gem::Dependency
740
+ name: abbrev
741
+ requirement: !ruby/object:Gem::Requirement
742
+ requirements:
743
+ - - "~>"
744
+ - !ruby/object:Gem::Version
745
+ version: 0.1.2
746
+ type: :runtime
747
+ prerelease: false
748
+ version_requirements: !ruby/object:Gem::Requirement
749
+ requirements:
750
+ - - "~>"
751
+ - !ruby/object:Gem::Version
752
+ version: 0.1.2
753
+ - !ruby/object:Gem::Dependency
754
+ name: base64
755
+ requirement: !ruby/object:Gem::Requirement
756
+ requirements:
757
+ - - "~>"
758
+ - !ruby/object:Gem::Version
759
+ version: 0.2.0
760
+ type: :runtime
761
+ prerelease: false
762
+ version_requirements: !ruby/object:Gem::Requirement
763
+ requirements:
764
+ - - "~>"
765
+ - !ruby/object:Gem::Version
766
+ version: 0.2.0
767
+ - !ruby/object:Gem::Dependency
768
+ name: csv
769
+ requirement: !ruby/object:Gem::Requirement
770
+ requirements:
771
+ - - "~>"
772
+ - !ruby/object:Gem::Version
773
+ version: '3.3'
774
+ type: :runtime
775
+ prerelease: false
776
+ version_requirements: !ruby/object:Gem::Requirement
777
+ requirements:
778
+ - - "~>"
779
+ - !ruby/object:Gem::Version
780
+ version: '3.3'
781
+ - !ruby/object:Gem::Dependency
782
+ name: mutex_m
712
783
  requirement: !ruby/object:Gem::Requirement
713
784
  requirements:
714
785
  - - "~>"
@@ -721,6 +792,68 @@ dependencies:
721
792
  - - "~>"
722
793
  - !ruby/object:Gem::Version
723
794
  version: 0.3.0
795
+ - !ruby/object:Gem::Dependency
796
+ name: nkf
797
+ requirement: !ruby/object:Gem::Requirement
798
+ requirements:
799
+ - - "~>"
800
+ - !ruby/object:Gem::Version
801
+ version: 0.2.0
802
+ type: :runtime
803
+ prerelease: false
804
+ version_requirements: !ruby/object:Gem::Requirement
805
+ requirements:
806
+ - - "~>"
807
+ - !ruby/object:Gem::Version
808
+ version: 0.2.0
809
+ - !ruby/object:Gem::Dependency
810
+ name: logger
811
+ requirement: !ruby/object:Gem::Requirement
812
+ requirements:
813
+ - - ">="
814
+ - !ruby/object:Gem::Version
815
+ version: '1.6'
816
+ - - "<"
817
+ - !ruby/object:Gem::Version
818
+ version: '2.0'
819
+ type: :runtime
820
+ prerelease: false
821
+ version_requirements: !ruby/object:Gem::Requirement
822
+ requirements:
823
+ - - ">="
824
+ - !ruby/object:Gem::Version
825
+ version: '1.6'
826
+ - - "<"
827
+ - !ruby/object:Gem::Version
828
+ version: '2.0'
829
+ - !ruby/object:Gem::Dependency
830
+ name: benchmark
831
+ requirement: !ruby/object:Gem::Requirement
832
+ requirements:
833
+ - - ">="
834
+ - !ruby/object:Gem::Version
835
+ version: 0.1.0
836
+ type: :runtime
837
+ prerelease: false
838
+ version_requirements: !ruby/object:Gem::Requirement
839
+ requirements:
840
+ - - ">="
841
+ - !ruby/object:Gem::Version
842
+ version: 0.1.0
843
+ - !ruby/object:Gem::Dependency
844
+ name: ostruct
845
+ requirement: !ruby/object:Gem::Requirement
846
+ requirements:
847
+ - - ">="
848
+ - !ruby/object:Gem::Version
849
+ version: 0.1.0
850
+ type: :runtime
851
+ prerelease: false
852
+ version_requirements: !ruby/object:Gem::Requirement
853
+ requirements:
854
+ - - ">="
855
+ - !ruby/object:Gem::Version
856
+ version: 0.1.0
724
857
  description: The easiest way to automate beta deployments and releases for your iOS
725
858
  and Android apps
726
859
  email:
@@ -914,7 +1047,6 @@ files:
914
1047
  - fastlane/lib/fastlane/actions/hg_commit_version_bump.rb
915
1048
  - fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb
916
1049
  - fastlane/lib/fastlane/actions/hg_push.rb
917
- - fastlane/lib/fastlane/actions/hipchat.rb
918
1050
  - fastlane/lib/fastlane/actions/hockey.rb
919
1051
  - fastlane/lib/fastlane/actions/ifttt.rb
920
1052
  - fastlane/lib/fastlane/actions/import.rb
@@ -1055,7 +1187,6 @@ files:
1055
1187
  - fastlane/lib/fastlane/commands_generator.rb
1056
1188
  - fastlane/lib/fastlane/configuration_helper.rb
1057
1189
  - fastlane/lib/fastlane/console.rb
1058
- - fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb
1059
1190
  - fastlane/lib/fastlane/documentation/actions_list.rb
1060
1191
  - fastlane/lib/fastlane/documentation/docs_generator.rb
1061
1192
  - fastlane/lib/fastlane/documentation/markdown_docs_generator.rb
@@ -1098,12 +1229,10 @@ files:
1098
1229
  - fastlane/lib/fastlane/plugins/plugin_update_manager.rb
1099
1230
  - fastlane/lib/fastlane/plugins/plugins.rb
1100
1231
  - fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb
1101
- - fastlane/lib/fastlane/plugins/template/.circleci/config.yml
1102
1232
  - fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml
1103
1233
  - fastlane/lib/fastlane/plugins/template/.gitignore
1104
1234
  - fastlane/lib/fastlane/plugins/template/.rspec
1105
1235
  - fastlane/lib/fastlane/plugins/template/.rubocop.yml
1106
- - fastlane/lib/fastlane/plugins/template/.travis.yml
1107
1236
  - fastlane/lib/fastlane/plugins/template/Gemfile.erb
1108
1237
  - fastlane/lib/fastlane/plugins/template/LICENSE.erb
1109
1238
  - fastlane/lib/fastlane/plugins/template/README.md.erb
@@ -1495,6 +1624,7 @@ files:
1495
1624
  - spaceship/lib/spaceship/connect_api/models/build_bundle.rb
1496
1625
  - spaceship/lib/spaceship/connect_api/models/build_bundle_file_sizes.rb
1497
1626
  - spaceship/lib/spaceship/connect_api/models/build_delivery.rb
1627
+ - spaceship/lib/spaceship/connect_api/models/build_upload.rb
1498
1628
  - spaceship/lib/spaceship/connect_api/models/bundle_id.rb
1499
1629
  - spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb
1500
1630
  - spaceship/lib/spaceship/connect_api/models/capabilities.rb
@@ -1515,6 +1645,7 @@ files:
1515
1645
  - spaceship/lib/spaceship/connect_api/models/territory_availability.rb
1516
1646
  - spaceship/lib/spaceship/connect_api/models/user.rb
1517
1647
  - spaceship/lib/spaceship/connect_api/models/user_invitation.rb
1648
+ - spaceship/lib/spaceship/connect_api/models/webhook.rb
1518
1649
  - spaceship/lib/spaceship/connect_api/provisioning/client.rb
1519
1650
  - spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb
1520
1651
  - spaceship/lib/spaceship/connect_api/response.rb
@@ -1648,10 +1779,18 @@ files:
1648
1779
  - trainer/lib/trainer.rb
1649
1780
  - trainer/lib/trainer/commands_generator.rb
1650
1781
  - trainer/lib/trainer/junit_generator.rb
1782
+ - trainer/lib/trainer/legacy_xcresult.rb
1651
1783
  - trainer/lib/trainer/module.rb
1652
1784
  - trainer/lib/trainer/options.rb
1785
+ - trainer/lib/trainer/plist_test_summary_parser.rb
1653
1786
  - trainer/lib/trainer/test_parser.rb
1654
1787
  - trainer/lib/trainer/xcresult.rb
1788
+ - trainer/lib/trainer/xcresult/helper.rb
1789
+ - trainer/lib/trainer/xcresult/repetition.rb
1790
+ - trainer/lib/trainer/xcresult/test_case.rb
1791
+ - trainer/lib/trainer/xcresult/test_case_attributes.rb
1792
+ - trainer/lib/trainer/xcresult/test_plan.rb
1793
+ - trainer/lib/trainer/xcresult/test_suite.rb
1655
1794
  homepage: https://fastlane.tools
1656
1795
  licenses:
1657
1796
  - MIT
@@ -1687,7 +1826,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1687
1826
  requirements:
1688
1827
  - - ">="
1689
1828
  - !ruby/object:Gem::Version
1690
- version: '2.6'
1829
+ version: '2.7'
1691
1830
  required_rubygems_version: !ruby/object:Gem::Requirement
1692
1831
  requirements:
1693
1832
  - - ">="
@@ -1,200 +0,0 @@
1
- module Fastlane
2
- module Actions
3
- module SharedValues
4
- end
5
-
6
- class HipchatAction < Action
7
- def self.run(options)
8
- require 'net/http'
9
- require 'uri'
10
-
11
- api_token = options[:api_token]
12
- api_version = options[:version]
13
- api_host = options[:api_host]
14
-
15
- message_format = options[:message_format]
16
-
17
- channel = options[:channel]
18
- if ['yellow', 'red', 'green', 'purple', 'gray', 'random'].include?(options[:custom_color]) == true
19
- color = options[:custom_color]
20
- else
21
- color = (options[:success] ? 'green' : 'red')
22
- end
23
-
24
- from = options[:from]
25
-
26
- message = options[:message]
27
- if (message_format == "html") && (options[:include_html_header] == true)
28
- message = "<table><tr><td><img src='https://fastlane.tools/assets/img/fastlane_icon.png' width='50' height='50'></td><td>#{message[0..9999]}</td></tr></table>"
29
- end
30
-
31
- if api_version.to_i == 1
32
- ########## running on V1 ##########
33
- if user?(channel)
34
- UI.user_error!("HipChat private message not working with API V1 please use API V2 instead")
35
- else
36
- uri = URI.parse("https://#{api_host}/v1/rooms/message")
37
- response = Net::HTTP.post_form(uri, { 'from' => from,
38
- 'auth_token' => api_token,
39
- 'color' => color,
40
- 'message_format' => message_format,
41
- 'room_id' => channel,
42
- 'message' => message,
43
- 'notify' => options[:notify_room] ? '1' : '0' })
44
-
45
- check_response_code(response, channel)
46
- end
47
- else
48
- ########## running on V2 ##########
49
- # Escape channel's name to guarantee it is a valid URL resource.
50
- # First of all we verify that the value is not already escaped,
51
- # escaping an escaped value will produce a wrong channel name.
52
- require 'addressable/uri'
53
- escaped_channel = Addressable::URI.encode(channel) == channel ? Addressable::URI.encode(channel) : channel
54
- if user?(channel)
55
- params = { 'message' => message, 'message_format' => message_format }
56
- json_headers = { 'Content-Type' => 'application/json',
57
- 'Accept' => 'application/json', 'Authorization' => "Bearer #{api_token}" }
58
-
59
- uri = URI.parse("https://#{api_host}/v2/user/#{escaped_channel}/message")
60
- http = Net::HTTP.new(uri.host, uri.port)
61
- http.use_ssl = true
62
-
63
- response = http.post(uri.path, params.to_json, json_headers)
64
- else
65
- uri = URI.parse("https://#{api_host}/v2/room/#{escaped_channel}/notification")
66
- response = Net::HTTP.post_form(uri, { 'from' => from,
67
- 'auth_token' => api_token,
68
- 'color' => color,
69
- 'message_format' => message_format,
70
- 'message' => message,
71
- 'notify' => options[:notify_room] ? 'true' : 'false' })
72
- end
73
- check_response_code(response, channel)
74
- end
75
- end
76
-
77
- def self.user?(channel)
78
- channel.to_s.start_with?('@')
79
- end
80
-
81
- def self.check_response_code(response, channel)
82
- case response.code.to_i
83
- when 200, 204
84
- true
85
- when 404
86
- UI.user_error!("Channel `#{channel}` not found")
87
- when 401
88
- UI.user_error!("Access denied for channel `#{channel}`")
89
- else
90
- UI.user_error!("Unexpected #{response.code} for `#{channel}` with response: #{response.body}")
91
- end
92
- end
93
-
94
- def self.description
95
- "Send a error/success message to [HipChat](https://www.hipchat.com/)"
96
- end
97
-
98
- def self.available_options
99
- [
100
- FastlaneCore::ConfigItem.new(key: :message,
101
- env_name: "FL_HIPCHAT_MESSAGE",
102
- description: "The message to post on HipChat",
103
- default_value: ''),
104
- FastlaneCore::ConfigItem.new(key: :channel,
105
- env_name: "FL_HIPCHAT_CHANNEL",
106
- description: "The room or @username"),
107
- FastlaneCore::ConfigItem.new(key: :api_token,
108
- env_name: "HIPCHAT_API_TOKEN",
109
- sensitive: true,
110
- description: "Hipchat API Token",
111
- verify_block: proc do |value|
112
- unless value.to_s.length > 0
113
- UI.error("Please add 'ENV[\"HIPCHAT_API_TOKEN\"] = \"your token\"' to your Fastfile's `before_all` section.")
114
- UI.user_error!("No HIPCHAT_API_TOKEN given.")
115
- end
116
- end),
117
- FastlaneCore::ConfigItem.new(key: :custom_color,
118
- env_name: "FL_HIPCHAT_CUSTOM_COLOR",
119
- description: "Specify a custom color, this overrides the success boolean. Can be one of 'yellow', 'red', 'green', 'purple', 'gray', or 'random'",
120
- optional: true),
121
- FastlaneCore::ConfigItem.new(key: :success,
122
- env_name: "FL_HIPCHAT_SUCCESS",
123
- description: "Was this build successful? (true/false)",
124
- optional: true,
125
- default_value: true,
126
- type: Boolean),
127
- FastlaneCore::ConfigItem.new(key: :version,
128
- env_name: "HIPCHAT_API_VERSION",
129
- description: "Version of the Hipchat API. Must be 1 or 2",
130
- verify_block: proc do |value|
131
- if value.nil? || ![1, 2].include?(value.to_i)
132
- UI.error("Please add 'ENV[\"HIPCHAT_API_VERSION\"] = \"1 or 2\"' to your Fastfile's `before_all` section.")
133
- UI.user_error!("No HIPCHAT_API_VERSION given.")
134
- end
135
- end),
136
- FastlaneCore::ConfigItem.new(key: :notify_room,
137
- env_name: "HIPCHAT_NOTIFY_ROOM",
138
- description: "Should the people in the room be notified? (true/false)",
139
- default_value: false,
140
- optional: true,
141
- type: Boolean),
142
- FastlaneCore::ConfigItem.new(key: :api_host,
143
- env_name: "HIPCHAT_API_HOST",
144
- description: "The host of the HipChat-Server API",
145
- default_value: "api.hipchat.com",
146
- optional: true),
147
- FastlaneCore::ConfigItem.new(key: :message_format,
148
- env_name: "FL_HIPCHAT_MESSAGE_FORMAT",
149
- description: "Format of the message to post. Must be either 'html' or 'text'",
150
- default_value: "html",
151
- optional: true,
152
- verify_block: proc do |value|
153
- unless ["html", "text"].include?(value.to_s)
154
- UI.error("Please specify the message format as either 'html' or 'text'.")
155
- UI.user_error!("Unrecognized message_format.")
156
- end
157
- end),
158
- FastlaneCore::ConfigItem.new(key: :include_html_header,
159
- env_name: "FL_HIPCHAT_INCLUDE_HTML_HEADER",
160
- description: "Should html formatted messages include a preformatted header? (true/false)",
161
- default_value: true,
162
- optional: true,
163
- type: Boolean),
164
- FastlaneCore::ConfigItem.new(key: :from,
165
- env_name: "FL_HIPCHAT_FROM",
166
- description: "Name the message will appear to be sent from",
167
- default_value: "fastlane",
168
- optional: true)
169
- ]
170
- end
171
-
172
- def self.author
173
- "jingx23"
174
- end
175
-
176
- def self.is_supported?(platform)
177
- true
178
- end
179
-
180
- def self.details
181
- "Send a message to **room** (by default) or a direct message to **@username** with success (green) or failure (red) status."
182
- end
183
-
184
- def self.example_code
185
- [
186
- 'hipchat(
187
- message: "App successfully released!",
188
- message_format: "html", # or "text", defaults to "html"
189
- channel: "Room or @username",
190
- success: true
191
- )'
192
- ]
193
- end
194
-
195
- def self.category
196
- :notifications
197
- end
198
- end
199
- end
200
- end
@@ -1,14 +0,0 @@
1
- # https://github.com/bundler/bundler/issues/4368
2
- #
3
- # There is an issue with RubyGems 2.6.2 where it attempts to call Bundler::SpecSet#size, which doesn't exist.
4
- # If a gem is not installed, a `Gem::Specification.find_by_name` call will trigger this problem.
5
- if Object.const_defined?(:Bundler) &&
6
- Bundler.const_defined?(:SpecSet) &&
7
- Bundler::SpecSet.instance_methods.include?(:length) &&
8
- !Bundler::SpecSet.instance_methods.include?(:size)
9
- module Bundler
10
- class SpecSet
11
- alias size length
12
- end
13
- end
14
- end
@@ -1,43 +0,0 @@
1
- # Ruby CircleCI 2.0 configuration file
2
- #
3
- # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
- #
5
- version: 2
6
- jobs:
7
- build:
8
- docker:
9
- # specify the version you desire here
10
- - image: circleci/ruby:2.5
11
-
12
- working_directory: ~/repo
13
-
14
- steps:
15
- - checkout
16
-
17
- # Download and cache dependencies
18
- - restore_cache:
19
- keys:
20
- - v1-dependencies-{{ checksum "Gemfile" }}
21
- # fallback to using the latest cache if no exact match is found
22
- - v1-dependencies-
23
-
24
- - run:
25
- name: install dependencies
26
- command: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle
27
-
28
- - save_cache:
29
- paths:
30
- - ./vendor
31
- key: v1-dependencies-{{ checksum "Gemfile" }}
32
-
33
- # run tests!
34
- - run:
35
- name: run tests
36
- command: bundle exec rake
37
-
38
- # collect reports
39
- - store_test_results:
40
- path: ~/repo/test-results
41
- - store_artifacts:
42
- path: ~/repo/test-results
43
- destination: test-results
@@ -1,4 +0,0 @@
1
- # os: osx # enable this if you need macOS support
2
- language: ruby
3
- rvm:
4
- - 2.2.4