fastlane_hotfix 2.165.1 → 2.187.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +106 -86
  4. data/cert/lib/cert/commands_generator.rb +2 -1
  5. data/cert/lib/cert/options.rb +6 -5
  6. data/cert/lib/cert/runner.rb +8 -8
  7. data/deliver/lib/assets/summary.html.erb +10 -10
  8. data/deliver/lib/deliver/app_screenshot.rb +17 -11
  9. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  10. data/deliver/lib/deliver/commands_generator.rb +4 -3
  11. data/deliver/lib/deliver/detect_values.rb +5 -3
  12. data/deliver/lib/deliver/download_screenshots.rb +2 -3
  13. data/deliver/lib/deliver/html_generator.rb +2 -2
  14. data/deliver/lib/deliver/languages.rb +1 -1
  15. data/deliver/lib/deliver/loader.rb +123 -21
  16. data/deliver/lib/deliver/module.rb +6 -0
  17. data/deliver/lib/deliver/options.rb +41 -55
  18. data/deliver/lib/deliver/runner.rb +19 -14
  19. data/deliver/lib/deliver/setup.rb +9 -5
  20. data/deliver/lib/deliver/submit_for_review.rb +4 -4
  21. data/deliver/lib/deliver/upload_metadata.rb +32 -21
  22. data/deliver/lib/deliver/upload_price_tier.rb +1 -1
  23. data/deliver/lib/deliver/upload_screenshots.rb +14 -76
  24. data/fastlane/lib/fastlane/actions/actions_helper.rb +3 -3
  25. data/fastlane/lib/fastlane/actions/adb.rb +2 -5
  26. data/fastlane/lib/fastlane/actions/adb_devices.rb +0 -1
  27. data/fastlane/lib/fastlane/actions/add_git_tag.rb +22 -6
  28. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +17 -17
  29. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +21 -7
  30. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  31. data/fastlane/lib/fastlane/actions/appetize.rb +13 -8
  32. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +0 -11
  33. data/fastlane/lib/fastlane/actions/appium.rb +40 -65
  34. data/fastlane/lib/fastlane/actions/appledoc.rb +46 -46
  35. data/fastlane/lib/fastlane/actions/apteligent.rb +3 -2
  36. data/fastlane/lib/fastlane/actions/artifactory.rb +41 -9
  37. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +7 -13
  38. data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +3 -3
  40. data/fastlane/lib/fastlane/actions/badge.rb +9 -13
  41. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +11 -5
  42. data/fastlane/lib/fastlane/actions/build_app.rb +7 -1
  43. data/fastlane/lib/fastlane/actions/bundle_install.rb +8 -10
  44. data/fastlane/lib/fastlane/actions/carthage.rb +22 -14
  45. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +8 -17
  46. data/fastlane/lib/fastlane/actions/chatwork.rb +3 -2
  47. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +9 -1
  48. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +0 -1
  49. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +0 -1
  50. data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
  51. data/fastlane/lib/fastlane/actions/cloc.rb +9 -13
  52. data/fastlane/lib/fastlane/actions/cocoapods.rb +23 -15
  53. data/fastlane/lib/fastlane/actions/commit_github_file.rb +12 -4
  54. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +6 -7
  55. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +3 -4
  56. data/fastlane/lib/fastlane/actions/crashlytics.rb +7 -11
  57. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +70 -76
  58. data/fastlane/lib/fastlane/actions/create_keychain.rb +13 -11
  59. data/fastlane/lib/fastlane/actions/create_pull_request.rb +15 -9
  60. data/fastlane/lib/fastlane/actions/create_xcframework.rb +123 -0
  61. data/fastlane/lib/fastlane/actions/danger.rb +13 -12
  62. data/fastlane/lib/fastlane/actions/deploygate.rb +1 -2
  63. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  64. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +27 -28
  65. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +7 -3
  66. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  67. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +20 -3
  68. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +9 -3
  69. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +39 -16
  70. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
  71. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +15 -5
  72. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
  73. data/fastlane/lib/fastlane/actions/download_dsyms.rb +8 -20
  74. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -1
  75. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
  76. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +0 -1
  77. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -4
  78. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +3 -5
  79. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -2
  80. data/fastlane/lib/fastlane/actions/environment_variable.rb +13 -21
  81. data/fastlane/lib/fastlane/actions/erb.rb +2 -5
  82. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  83. data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
  84. data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
  85. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +0 -1
  86. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +32 -35
  87. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +9 -1
  88. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
  89. data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
  90. data/fastlane/lib/fastlane/actions/git_add.rb +5 -10
  91. data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
  92. data/fastlane/lib/fastlane/actions/git_commit.rb +12 -10
  93. data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
  94. data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
  95. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +16 -8
  96. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
  97. data/fastlane/lib/fastlane/actions/github_api.rb +17 -8
  98. data/fastlane/lib/fastlane/actions/gradle.rb +12 -20
  99. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
  100. data/fastlane/lib/fastlane/actions/hg_push.rb +1 -1
  101. data/fastlane/lib/fastlane/actions/hipchat.rb +6 -6
  102. data/fastlane/lib/fastlane/actions/hockey.rb +5 -12
  103. data/fastlane/lib/fastlane/actions/ifttt.rb +3 -6
  104. data/fastlane/lib/fastlane/actions/import_from_git.rb +7 -9
  105. data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -2
  106. data/fastlane/lib/fastlane/actions/install_on_device.rb +3 -6
  107. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
  108. data/fastlane/lib/fastlane/actions/installr.rb +22 -25
  109. data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
  110. data/fastlane/lib/fastlane/actions/jazzy.rb +11 -8
  111. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  112. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +6 -6
  113. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  114. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  115. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  116. data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
  117. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  118. data/fastlane/lib/fastlane/actions/nexus_upload.rb +3 -2
  119. data/fastlane/lib/fastlane/actions/notarize.rb +98 -54
  120. data/fastlane/lib/fastlane/actions/notification.rb +1 -1
  121. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  122. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  123. data/fastlane/lib/fastlane/actions/onesignal.rb +13 -3
  124. data/fastlane/lib/fastlane/actions/pod_push.rb +9 -2
  125. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  126. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  127. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  128. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +14 -3
  129. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  130. data/fastlane/lib/fastlane/actions/register_device.rb +10 -13
  131. data/fastlane/lib/fastlane/actions/register_devices.rb +11 -14
  132. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  133. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  134. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  135. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  136. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  137. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  138. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  139. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  140. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  141. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  142. data/fastlane/lib/fastlane/actions/set_changelog.rb +10 -13
  143. data/fastlane/lib/fastlane/actions/set_github_release.rb +23 -16
  144. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  145. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  146. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  147. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  148. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  149. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  150. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  151. data/fastlane/lib/fastlane/actions/slack.rb +164 -145
  152. data/fastlane/lib/fastlane/actions/slather.rb +5 -21
  153. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  154. data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
  155. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
  156. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  157. data/fastlane/lib/fastlane/actions/spm.rb +8 -2
  158. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  159. data/fastlane/lib/fastlane/actions/swiftlint.rb +21 -19
  160. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
  161. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  162. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  163. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  164. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  165. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  166. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  167. data/fastlane/lib/fastlane/actions/update_fastlane.rb +31 -10
  168. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  169. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  170. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  171. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  172. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +3 -4
  173. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  174. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  175. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +290 -0
  176. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +8 -7
  177. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  178. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +8 -4
  179. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +7 -2
  180. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  181. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  182. data/fastlane/lib/fastlane/actions/xcode_install.rb +8 -5
  183. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  184. data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
  185. data/fastlane/lib/fastlane/cli_tools_distributor.rb +6 -3
  186. data/fastlane/lib/fastlane/commands_generator.rb +2 -1
  187. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  188. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  189. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  190. data/fastlane/lib/fastlane/environment_printer.rb +1 -0
  191. data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
  192. data/fastlane/lib/fastlane/fast_file.rb +19 -7
  193. data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
  194. data/fastlane/lib/fastlane/features.rb +1 -1
  195. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  196. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +4 -4
  197. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  198. data/fastlane/lib/fastlane/helper/git_helper.rb +34 -5
  199. data/fastlane/lib/fastlane/lane_manager.rb +3 -2
  200. data/fastlane/lib/fastlane/notification/slack.rb +56 -0
  201. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
  202. data/fastlane/lib/fastlane/plugins/plugin_info.rb +2 -2
  203. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
  204. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -3
  205. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +7 -6
  206. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  207. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  208. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +31 -35
  209. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +1 -1
  210. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  211. data/fastlane/lib/fastlane/setup/setup_ios.rb +3 -3
  212. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +3 -0
  213. data/fastlane/lib/fastlane/swift_fastlane_function.rb +44 -16
  214. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  215. data/fastlane/lib/fastlane/version.rb +2 -2
  216. data/fastlane/swift/Actions.swift +1 -1
  217. data/fastlane/swift/Appfile.swift +1 -1
  218. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  219. data/fastlane/swift/ControlCommand.swift +1 -1
  220. data/fastlane/swift/Deliverfile.swift +2 -2
  221. data/fastlane/swift/DeliverfileProtocol.swift +23 -23
  222. data/fastlane/swift/Fastfile.swift +1 -1
  223. data/fastlane/swift/Fastlane.swift +7965 -4213
  224. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +4 -0
  225. data/fastlane/swift/Gymfile.swift +2 -2
  226. data/fastlane/swift/GymfileProtocol.swift +15 -3
  227. data/fastlane/swift/LaneFileProtocol.swift +12 -6
  228. data/fastlane/swift/MainProcess.swift +3 -1
  229. data/fastlane/swift/Matchfile.swift +2 -2
  230. data/fastlane/swift/MatchfileProtocol.swift +4 -4
  231. data/fastlane/swift/OptionalConfigValue.swift +101 -0
  232. data/fastlane/swift/Plugins.swift +1 -1
  233. data/fastlane/swift/Precheckfile.swift +2 -2
  234. data/fastlane/swift/PrecheckfileProtocol.swift +8 -4
  235. data/fastlane/swift/RubyCommand.swift +2 -2
  236. data/fastlane/swift/RubyCommandable.swift +1 -1
  237. data/fastlane/swift/Runner.swift +3 -3
  238. data/fastlane/swift/RunnerArgument.swift +1 -1
  239. data/fastlane/swift/Scanfile.swift +2 -2
  240. data/fastlane/swift/ScanfileProtocol.swift +34 -2
  241. data/fastlane/swift/Screengrabfile.swift +2 -2
  242. data/fastlane/swift/ScreengrabfileProtocol.swift +5 -5
  243. data/fastlane/swift/Snapshotfile.swift +2 -2
  244. data/fastlane/swift/SnapshotfileProtocol.swift +19 -3
  245. data/fastlane/swift/SocketClient.swift +4 -3
  246. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  247. data/fastlane/swift/SocketResponse.swift +5 -3
  248. data/fastlane/swift/formatting/Brewfile.lock.json +24 -16
  249. data/fastlane/swift/main.swift +1 -1
  250. data/fastlane/swift/upgrade_manifest.json +1 -1
  251. data/fastlane_core/lib/fastlane_core.rb +22 -20
  252. data/fastlane_core/lib/fastlane_core/build_watcher.rb +89 -12
  253. data/fastlane_core/lib/fastlane_core/cert_checker.rb +12 -7
  254. data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
  255. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
  256. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +6 -1
  257. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +41 -3
  258. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +14 -8
  259. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  260. data/fastlane_core/lib/fastlane_core/helper.rb +78 -14
  261. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +41 -16
  262. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  263. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +20 -15
  264. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
  265. data/fastlane_core/lib/fastlane_core/languages.rb +2 -2
  266. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
  267. data/fastlane_core/lib/fastlane_core/print_table.rb +5 -3
  268. data/fastlane_core/lib/fastlane_core/project.rb +48 -28
  269. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +3 -1
  270. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +4 -4
  271. data/fastlane_core/lib/fastlane_core/swag.rb +1 -1
  272. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +8 -0
  273. data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
  274. data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
  275. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +16 -2
  276. data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
  277. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
  278. data/frameit/lib/frameit/commands_generator.rb +2 -1
  279. data/frameit/lib/frameit/config_parser.rb +2 -2
  280. data/frameit/lib/frameit/device_types.rb +7 -1
  281. data/frameit/lib/frameit/frame_downloader.rb +2 -1
  282. data/gym/lib/gym/code_signing_mapping.rb +3 -3
  283. data/gym/lib/gym/commands_generator.rb +2 -1
  284. data/gym/lib/gym/error_handler.rb +8 -0
  285. data/gym/lib/gym/generators/build_command_generator.rb +3 -0
  286. data/gym/lib/gym/generators/package_command_generator.rb +4 -0
  287. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +21 -15
  288. data/gym/lib/gym/options.rb +19 -3
  289. data/gym/lib/gym/runner.rb +15 -4
  290. data/match/lib/match/change_password.rb +3 -3
  291. data/match/lib/match/commands_generator.rb +2 -1
  292. data/match/lib/match/encryption/interface.rb +1 -1
  293. data/match/lib/match/encryption/openssl.rb +5 -3
  294. data/match/lib/match/importer.rb +9 -10
  295. data/match/lib/match/migrate.rb +2 -3
  296. data/match/lib/match/module.rb +2 -1
  297. data/match/lib/match/nuke.rb +19 -15
  298. data/match/lib/match/options.rb +4 -3
  299. data/match/lib/match/runner.rb +3 -4
  300. data/match/lib/match/spaceship_ensure.rb +3 -0
  301. data/match/lib/match/storage/git_storage.rb +14 -10
  302. data/match/lib/match/storage/google_cloud_storage.rb +2 -2
  303. data/match/lib/match/storage/s3_storage.rb +2 -2
  304. data/pem/lib/pem/commands_generator.rb +2 -1
  305. data/pilot/lib/pilot.rb +0 -1
  306. data/pilot/lib/pilot/build_manager.rb +41 -15
  307. data/pilot/lib/pilot/commands_generator.rb +2 -1
  308. data/pilot/lib/pilot/manager.rb +11 -8
  309. data/pilot/lib/pilot/options.rb +18 -9
  310. data/pilot/lib/pilot/tester_exporter.rb +0 -1
  311. data/pilot/lib/pilot/tester_manager.rb +0 -1
  312. data/precheck/lib/precheck/commands_generator.rb +2 -1
  313. data/precheck/lib/precheck/options.rb +9 -3
  314. data/precheck/lib/precheck/rule_processor.rb +1 -1
  315. data/precheck/lib/precheck/runner.rb +14 -9
  316. data/produce/lib/produce/commands_generator.rb +101 -28
  317. data/produce/lib/produce/developer_center.rb +42 -4
  318. data/produce/lib/produce/options.rb +1 -1
  319. data/produce/lib/produce/service.rb +270 -179
  320. data/scan/lib/scan/commands_generator.rb +2 -1
  321. data/scan/lib/scan/detect_values.rb +7 -2
  322. data/scan/lib/scan/module.rb +4 -0
  323. data/scan/lib/scan/options.rb +46 -1
  324. data/scan/lib/scan/runner.rb +88 -3
  325. data/scan/lib/scan/slack_poster.rb +4 -1
  326. data/scan/lib/scan/test_command_generator.rb +13 -8
  327. data/screengrab/lib/screengrab/android_environment.rb +5 -53
  328. data/screengrab/lib/screengrab/commands_generator.rb +2 -1
  329. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  330. data/screengrab/lib/screengrab/options.rb +5 -2
  331. data/screengrab/lib/screengrab/runner.rb +111 -108
  332. data/sigh/lib/assets/resign.sh +81 -61
  333. data/sigh/lib/sigh/commands_generator.rb +2 -1
  334. data/sigh/lib/sigh/download_all.rb +4 -8
  335. data/sigh/lib/sigh/options.rb +3 -2
  336. data/sigh/lib/sigh/runner.rb +9 -9
  337. data/snapshot/lib/assets/SnapfileTemplate +3 -2
  338. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  339. data/snapshot/lib/assets/SnapshotHelper.swift +20 -12
  340. data/snapshot/lib/snapshot/commands_generator.rb +3 -1
  341. data/snapshot/lib/snapshot/options.rb +22 -2
  342. data/snapshot/lib/snapshot/reports_generator.rb +7 -1
  343. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  344. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
  345. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +10 -5
  346. data/snapshot/lib/snapshot/test_command_generator.rb +18 -4
  347. data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -1
  348. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +1 -1
  349. data/snapshot/lib/snapshot/update.rb +1 -1
  350. data/spaceship/README.md +4 -14
  351. data/spaceship/lib/spaceship/base.rb +2 -2
  352. data/spaceship/lib/spaceship/client.rb +47 -29
  353. data/spaceship/lib/spaceship/commands_generator.rb +4 -2
  354. data/spaceship/lib/spaceship/connect_api.rb +6 -0
  355. data/spaceship/lib/spaceship/connect_api/api_client.rb +67 -9
  356. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  357. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +39 -6
  358. data/spaceship/lib/spaceship/connect_api/models/app.rb +95 -55
  359. data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
  360. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
  361. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
  362. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
  363. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
  364. data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
  365. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +26 -10
  366. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +8 -4
  367. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +15 -11
  368. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +18 -9
  369. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +10 -8
  370. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +20 -11
  371. data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +7 -5
  372. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +6 -4
  373. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +62 -38
  374. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +27 -14
  375. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +3 -2
  376. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +3 -2
  377. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +6 -4
  378. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +29 -3
  379. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +15 -9
  380. data/spaceship/lib/spaceship/connect_api/models/build.rb +34 -17
  381. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  382. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +3 -2
  383. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +41 -6
  384. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +86 -21
  385. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +12 -8
  386. data/spaceship/lib/spaceship/connect_api/models/device.rb +36 -4
  387. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +6 -4
  388. data/spaceship/lib/spaceship/connect_api/models/profile.rb +18 -8
  389. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +3 -2
  390. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +9 -6
  391. data/spaceship/lib/spaceship/connect_api/models/territory.rb +3 -2
  392. data/spaceship/lib/spaceship/connect_api/models/user.rb +6 -4
  393. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +22 -6
  394. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +99 -2
  395. data/spaceship/lib/spaceship/connect_api/response.rb +3 -1
  396. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +50 -0
  397. data/spaceship/lib/spaceship/connect_api/token.rb +15 -3
  398. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +122 -2
  399. data/spaceship/lib/spaceship/errors.rb +19 -0
  400. data/spaceship/lib/spaceship/playground.rb +2 -2
  401. data/spaceship/lib/spaceship/spaceauth_runner.rb +38 -15
  402. data/spaceship/lib/spaceship/tunes/iap_detail.rb +1 -1
  403. data/spaceship/lib/spaceship/tunes/members.rb +1 -1
  404. data/spaceship/lib/spaceship/tunes/tunes_client.rb +4 -4
  405. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +59 -33
  406. data/spaceship/lib/spaceship/ui.rb +2 -2
  407. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  408. data/supply/lib/supply.rb +1 -1
  409. data/supply/lib/supply/client.rb +5 -3
  410. data/supply/lib/supply/commands_generator.rb +2 -1
  411. data/supply/lib/supply/options.rb +3 -3
  412. data/supply/lib/supply/uploader.rb +6 -4
  413. metadata +125 -93
  414. data/pilot/lib/pilot/features.rb +0 -0
  415. data/pilot/lib/pilot/tester_util.rb +0 -0
@@ -33,6 +33,7 @@ module Fastlane
33
33
  GithubApiAction.run({
34
34
  server_url: params[:server_url],
35
35
  api_token: params[:api_token],
36
+ api_bearer: params[:api_bearer],
36
37
  secure: params[:secure],
37
38
  http_method: "PUT",
38
39
  path: File.join("repos", params[:repository_name], "contents", api_file_path),
@@ -104,12 +105,20 @@ module Fastlane
104
105
  FastlaneCore::ConfigItem.new(key: :api_token,
105
106
  env_name: "FL_COMMIT_GITHUB_FILE_API_TOKEN",
106
107
  description: "Personal API Token for GitHub - generate one at https://github.com/settings/tokens",
108
+ conflicting_options: [:api_bearer],
107
109
  sensitive: true,
108
- is_string: true,
109
110
  code_gen_sensitive: true,
110
111
  default_value: ENV["GITHUB_API_TOKEN"],
111
112
  default_value_dynamic: true,
112
- optional: false),
113
+ optional: true),
114
+ FastlaneCore::ConfigItem.new(key: :api_bearer,
115
+ env_name: "FL_COMMIT_GITHUB_FILE_API_BEARER",
116
+ sensitive: true,
117
+ code_gen_sensitive: true,
118
+ description: "Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
119
+ conflicting_options: [:api_token],
120
+ optional: true,
121
+ default_value: nil),
113
122
  FastlaneCore::ConfigItem.new(key: :branch,
114
123
  env_name: "FL_COMMIT_GITHUB_FILE_BRANCH",
115
124
  description: "The branch that the file should be committed on (default: master)",
@@ -119,7 +128,6 @@ module Fastlane
119
128
  env_name: 'FL_COMMIT_GITHUB_FILE_PATH',
120
129
  description: 'The relative path to your file from project root e.g. assets/my_app.xcarchive',
121
130
  optional: false,
122
- is_string: true,
123
131
  verify_block: proc do |value|
124
132
  value = File.expand_path(value)
125
133
  UI.user_error!("File not found at path '#{value}'") unless File.exist?(value)
@@ -132,7 +140,7 @@ module Fastlane
132
140
  FastlaneCore::ConfigItem.new(key: :secure,
133
141
  env_name: "FL_COMMIT_GITHUB_FILE_SECURE",
134
142
  description: "Optionally disable secure requests (ssl_verify_peer)",
135
- is_string: false,
143
+ type: Boolean,
136
144
  default_value: true,
137
145
  optional: true)
138
146
  ]
@@ -164,20 +164,19 @@ module Fastlane
164
164
  FastlaneCore::ConfigItem.new(key: :force,
165
165
  env_name: "FL_FORCE_COMMIT",
166
166
  description: "Forces the commit, even if other files than the ones containing the version number have been modified",
167
+ type: Boolean,
167
168
  optional: true,
168
- default_value: false,
169
- is_string: false),
169
+ default_value: false),
170
170
  FastlaneCore::ConfigItem.new(key: :settings,
171
171
  env_name: "FL_COMMIT_INCLUDE_SETTINGS",
172
172
  description: "Include Settings.bundle/Root.plist with version bump",
173
+ skip_type_validation: true, # allows Boolean, String, Array
173
174
  optional: true,
174
- default_value: false,
175
- is_string: false),
175
+ default_value: false),
176
176
  FastlaneCore::ConfigItem.new(key: :ignore,
177
177
  description: "A regular expression used to filter matched plist files to be modified",
178
- optional: true,
179
- default_value: nil,
180
- is_string: false),
178
+ skip_type_validation: true, # allows Regex
179
+ optional: true),
181
180
  FastlaneCore::ConfigItem.new(key: :include,
182
181
  description: "A list of extra files to be included in the version bump (string array or comma-separated string)",
183
182
  optional: true,
@@ -57,22 +57,21 @@ module Fastlane
57
57
  [
58
58
  FastlaneCore::ConfigItem.new(key: :keep_original,
59
59
  description: "Set this to false if you want move, rather than copy, the found artifacts",
60
- is_string: false,
60
+ type: Boolean,
61
61
  optional: true,
62
62
  default_value: true),
63
63
  FastlaneCore::ConfigItem.new(key: :target_path,
64
64
  description: "The directory in which you want your artifacts placed",
65
- is_string: false,
66
65
  optional: false,
67
66
  default_value: 'artifacts'),
68
67
  FastlaneCore::ConfigItem.new(key: :artifacts,
69
68
  description: "An array of file patterns of the files/folders you want to preserve",
70
- is_string: false,
69
+ type: Array,
71
70
  optional: false,
72
71
  default_value: []),
73
72
  FastlaneCore::ConfigItem.new(key: :fail_on_missing,
74
73
  description: "Fail when a source file isn't found",
75
- is_string: false,
74
+ type: Boolean,
76
75
  optional: true,
77
76
  default_value: false)
78
77
  ]
@@ -2,9 +2,6 @@ module Fastlane
2
2
  module Actions
3
3
  class CrashlyticsAction < Action
4
4
  def self.run(params)
5
- params[:groups] = params[:groups].join(",") if params[:groups].kind_of?(Array)
6
- params[:emails] = params[:emails].join(",") if params[:emails].kind_of?(Array)
7
-
8
5
  params.values # to validate all inputs before looking for the ipa/apk
9
6
  tempfiles = []
10
7
 
@@ -133,28 +130,27 @@ module Fastlane
133
130
  FastlaneCore::ConfigItem.new(key: :notes,
134
131
  env_name: "CRASHLYTICS_NOTES",
135
132
  description: "The release notes as string - uses :notes_path under the hood",
136
- optional: true,
137
- is_string: true),
133
+ optional: true),
138
134
  FastlaneCore::ConfigItem.new(key: :groups,
139
135
  env_name: "CRASHLYTICS_GROUPS",
140
136
  description: "The groups used for distribution, separated by commas",
141
- optional: true,
142
- is_string: false),
137
+ type: Array,
138
+ optional: true),
143
139
  FastlaneCore::ConfigItem.new(key: :emails,
144
140
  env_name: "CRASHLYTICS_EMAILS",
145
141
  description: "Pass email addresses of testers, separated by commas",
146
- optional: true,
147
- is_string: false),
142
+ type: Array,
143
+ optional: true),
148
144
  FastlaneCore::ConfigItem.new(key: :notifications,
149
145
  env_name: "CRASHLYTICS_NOTIFICATIONS",
150
146
  description: "Crashlytics notification option (true/false)",
151
147
  default_value: true,
152
- is_string: false),
148
+ type: Boolean),
153
149
  FastlaneCore::ConfigItem.new(key: :debug,
154
150
  env_name: "CRASHLYTICS_DEBUG",
155
151
  description: "Crashlytics debug option (true/false)",
156
152
  default_value: false,
157
- is_string: false)
153
+ type: Boolean)
158
154
 
159
155
  ]
160
156
  end
@@ -52,91 +52,85 @@ module Fastlane
52
52
  def self.available_options
53
53
  [
54
54
  # Authorization
55
- FastlaneCore::ConfigItem.new(
56
- key: :json_key,
57
- env_name: "SUPPLY_JSON_KEY",
58
- short_option: "-j",
59
- conflicting_options: [:json_key_data],
60
- optional: true, # optional until it is possible specify either json_key OR json_key_data are required
61
- description: "The path to a file containing service account JSON, used to authenticate with Google",
62
- code_gen_sensitive: true,
63
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
64
- default_value_dynamic: true,
65
- verify_block: proc do |value|
66
- UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
67
- UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
68
- end
69
- ),
70
- FastlaneCore::ConfigItem.new(
71
- key: :json_key_data,
72
- env_name: "SUPPLY_JSON_KEY_DATA",
73
- short_option: "-c",
74
- conflicting_options: [:json_key],
75
- optional: true,
76
- description: "The raw service account JSON data used to authenticate with Google",
77
- code_gen_sensitive: true,
78
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
79
- default_value_dynamic: true,
80
- verify_block: proc do |value|
81
- begin
82
- JSON.parse(value)
83
- rescue JSON::ParserError
84
- UI.user_error!("Could not parse service account json: JSON::ParseError")
85
- end
86
- end
87
- ),
55
+ FastlaneCore::ConfigItem.new(key: :json_key,
56
+ env_name: "SUPPLY_JSON_KEY",
57
+ short_option: "-j",
58
+ conflicting_options: [:json_key_data],
59
+ optional: true, # optional until it is possible specify either json_key OR json_key_data are required
60
+ description: "The path to a file containing service account JSON, used to authenticate with Google",
61
+ code_gen_sensitive: true,
62
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
63
+ default_value_dynamic: true,
64
+ verify_block: proc do |value|
65
+ UI.user_error!("Could not find service account json file at path '#{File.expand_path(value)}'") unless File.exist?(File.expand_path(value))
66
+ UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless FastlaneCore::Helper.json_file?(File.expand_path(value))
67
+ end),
68
+ FastlaneCore::ConfigItem.new(key: :json_key_data,
69
+ env_name: "SUPPLY_JSON_KEY_DATA",
70
+ short_option: "-c",
71
+ conflicting_options: [:json_key],
72
+ optional: true,
73
+ description: "The raw service account JSON data used to authenticate with Google",
74
+ code_gen_sensitive: true,
75
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_data_raw),
76
+ default_value_dynamic: true,
77
+ verify_block: proc do |value|
78
+ begin
79
+ JSON.parse(value)
80
+ rescue JSON::ParserError
81
+ UI.user_error!("Could not parse service account json: JSON::ParseError")
82
+ end
83
+ end),
88
84
  FastlaneCore::ConfigItem.new(key: :developer_account_id,
89
- short_option: "-k",
90
- env_name: "SUPPLY_DEVELOPER_ACCOUNT_ID",
91
- description: "The ID of your Google Play Console account. Can be obtained from the URL when you log in (`https://play.google.com/apps/publish/?account=...` or when you 'Obtain private app publishing rights' (https://developers.google.com/android/work/play/custom-app-api/get-started#retrieve_the_developer_account_id)",
92
- code_gen_sensitive: true,
93
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:developer_account_id),
94
- default_value_dynamic: true),
85
+ short_option: "-k",
86
+ env_name: "SUPPLY_DEVELOPER_ACCOUNT_ID",
87
+ description: "The ID of your Google Play Console account. Can be obtained from the URL when you log in (`https://play.google.com/apps/publish/?account=...` or when you 'Obtain private app publishing rights' (https://developers.google.com/android/work/play/custom-app-api/get-started#retrieve_the_developer_account_id)",
88
+ code_gen_sensitive: true,
89
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:developer_account_id),
90
+ default_value_dynamic: true),
95
91
  # APK
96
- FastlaneCore::ConfigItem.new(
97
- key: :apk,
98
- env_name: "SUPPLY_APK",
99
- description: "Path to the APK file to upload",
100
- short_option: "-b",
101
- code_gen_sensitive: true,
102
- default_value: Dir["*.apk"].last || Dir[File.join("app", "build", "outputs", "apk", "app-release.apk")].last,
103
- default_value_dynamic: true,
104
- verify_block: proc do |value|
105
- UI.user_error!("No value found for 'apk'") if value.to_s.length == 0
106
- UI.user_error!("Could not find apk file at path '#{value}'") unless File.exist?(value)
107
- UI.user_error!("apk file is not an apk") unless value.end_with?('.apk')
108
- end
109
- ),
92
+ FastlaneCore::ConfigItem.new(key: :apk,
93
+ env_name: "SUPPLY_APK",
94
+ description: "Path to the APK file to upload",
95
+ short_option: "-b",
96
+ code_gen_sensitive: true,
97
+ default_value: Dir["*.apk"].last || Dir[File.join("app", "build", "outputs", "apk", "app-release.apk")].last,
98
+ default_value_dynamic: true,
99
+ verify_block: proc do |value|
100
+ UI.user_error!("No value found for 'apk'") if value.to_s.length == 0
101
+ UI.user_error!("Could not find apk file at path '#{value}'") unless File.exist?(value)
102
+ UI.user_error!("apk file is not an apk") unless value.end_with?('.apk')
103
+ end),
110
104
  # Title
111
105
  FastlaneCore::ConfigItem.new(key: :app_title,
112
- env_name: "SUPPLY_APP_TITLE",
113
- short_option: "-q",
114
- description: "App Title"),
106
+ env_name: "SUPPLY_APP_TITLE",
107
+ short_option: "-q",
108
+ description: "App Title"),
115
109
  # Language
116
110
  FastlaneCore::ConfigItem.new(key: :language,
117
- short_option: "-m",
118
- env_name: "SUPPLY_LANGUAGE",
119
- description: "Default app language (e.g. 'en_US')",
120
- default_value: "en_US",
121
- verify_block: proc do |language|
122
- unless Supply::Languages::ALL_LANGUAGES.include?(language)
123
- UI.user_error!("Please enter one of the available languages: #{Supply::Languages::ALL_LANGUAGES}")
124
- end
125
- end),
111
+ short_option: "-m",
112
+ env_name: "SUPPLY_LANGUAGE",
113
+ description: "Default app language (e.g. 'en_US')",
114
+ default_value: "en_US",
115
+ verify_block: proc do |language|
116
+ unless Supply::Languages::ALL_LANGUAGES.include?(language)
117
+ UI.user_error!("Please enter one of the available languages: #{Supply::Languages::ALL_LANGUAGES}")
118
+ end
119
+ end),
126
120
  # Google Play API
127
121
  FastlaneCore::ConfigItem.new(key: :root_url,
128
- env_name: "SUPPLY_ROOT_URL",
129
- description: "Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/",
130
- optional: true,
131
- verify_block: proc do |value|
132
- UI.user_error!("Could not parse URL '#{value}'") unless value =~ URI.regexp
133
- end),
122
+ env_name: "SUPPLY_ROOT_URL",
123
+ description: "Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/",
124
+ optional: true,
125
+ verify_block: proc do |value|
126
+ UI.user_error!("Could not parse URL '#{value}'") unless value =~ URI.regexp
127
+ end),
134
128
  FastlaneCore::ConfigItem.new(key: :timeout,
135
- env_name: "SUPPLY_TIMEOUT",
136
- optional: true,
137
- description: "Timeout for read, open, and send (in seconds)",
138
- type: Integer,
139
- default_value: 300)
129
+ env_name: "SUPPLY_TIMEOUT",
130
+ optional: true,
131
+ description: "Timeout for read, open, and send (in seconds)",
132
+ type: Integer,
133
+ default_value: 300)
140
134
  ]
141
135
  end
142
136
 
@@ -47,7 +47,10 @@ module Fastlane
47
47
  commands << Fastlane::Actions.sh("security unlock-keychain -p #{escaped_password} #{keychain_path}", log: false) if params[:unlock]
48
48
 
49
49
  command = "security set-keychain-settings"
50
- command << " -t #{params[:timeout]}" if params[:timeout]
50
+
51
+ # https://ss64.com/osx/security-keychain-settings.html
52
+ # omitting 'timeout' option to specify "no timeout" if required
53
+ command << " -t #{params[:timeout]}" if params[:timeout] > 0
51
54
  command << " -l" if params[:lock_when_sleeps]
52
55
  command << " -u" if params[:lock_after_timeout]
53
56
  command << " #{keychain_path}"
@@ -105,46 +108,45 @@ module Fastlane
105
108
  env_name: "KEYCHAIN_NAME",
106
109
  description: "Keychain name",
107
110
  conflicting_options: [:path],
108
- is_string: true,
109
111
  optional: true),
110
112
  FastlaneCore::ConfigItem.new(key: :path,
111
113
  env_name: "KEYCHAIN_PATH",
112
114
  description: "Path to keychain",
113
- is_string: true,
114
115
  conflicting_options: [:name],
115
116
  optional: true),
116
117
  FastlaneCore::ConfigItem.new(key: :password,
117
118
  env_name: "KEYCHAIN_PASSWORD",
118
119
  description: "Password for the keychain",
119
120
  sensitive: true,
121
+ code_gen_sensitive: true,
120
122
  optional: false),
121
123
  FastlaneCore::ConfigItem.new(key: :default_keychain,
122
124
  description: 'Should the newly created Keychain be the new system default keychain',
123
- is_string: false,
125
+ type: Boolean,
124
126
  default_value: false),
125
127
  FastlaneCore::ConfigItem.new(key: :unlock,
126
128
  description: 'Unlock keychain after create',
127
- is_string: false,
129
+ type: Boolean,
128
130
  default_value: false),
129
131
  FastlaneCore::ConfigItem.new(key: :timeout,
130
- description: 'timeout interval in seconds. Set `false` if you want to specify "no time-out"',
131
- is_string: false,
132
+ description: 'timeout interval in seconds. Set `0` if you want to specify "no time-out"',
133
+ type: Integer,
132
134
  default_value: 300),
133
135
  FastlaneCore::ConfigItem.new(key: :lock_when_sleeps,
134
136
  description: 'Lock keychain when the system sleeps',
135
- is_string: false,
137
+ type: Boolean,
136
138
  default_value: false),
137
139
  FastlaneCore::ConfigItem.new(key: :lock_after_timeout,
138
140
  description: 'Lock keychain after timeout interval',
139
- is_string: false,
141
+ type: Boolean,
140
142
  default_value: false),
141
143
  FastlaneCore::ConfigItem.new(key: :add_to_search_list,
142
144
  description: 'Add keychain to search list',
143
- is_string: false,
145
+ type: Boolean,
144
146
  default_value: true),
145
147
  FastlaneCore::ConfigItem.new(key: :require_create,
146
148
  description: 'Fail the action if the Keychain already exists',
147
- is_string: false,
149
+ type: Boolean,
148
150
  default_value: false)
149
151
  ]
150
152
  end
@@ -20,6 +20,7 @@ module Fastlane
20
20
  GithubApiAction.run(
21
21
  server_url: params[:api_url],
22
22
  api_token: params[:api_token],
23
+ api_bearer: params[:api_bearer],
23
24
  http_method: 'POST',
24
25
  path: "repos/#{params[:repo]}/pulls",
25
26
  body: payload,
@@ -60,6 +61,7 @@ module Fastlane
60
61
  GithubApiAction.run(
61
62
  server_url: params[:api_url],
62
63
  api_token: params[:api_token],
64
+ api_bearer: params[:api_bearer],
63
65
  http_method: 'PATCH',
64
66
  path: "repos/#{params[:repo]}/issues/#{number}",
65
67
  body: payload,
@@ -79,6 +81,7 @@ module Fastlane
79
81
  GithubApiAction.run(
80
82
  server_url: params[:api_url],
81
83
  api_token: params[:api_token],
84
+ api_bearer: params[:api_bearer],
82
85
  http_method: 'POST',
83
86
  path: "repos/#{params[:repo]}/issues/#{number}/assignees",
84
87
  body: payload,
@@ -103,6 +106,7 @@ module Fastlane
103
106
  GithubApiAction.run(
104
107
  server_url: params[:api_url],
105
108
  api_token: params[:api_token],
109
+ api_bearer: params[:api_bearer],
106
110
  http_method: 'POST',
107
111
  path: "repos/#{params[:repo]}/pulls/#{number}/requested_reviewers",
108
112
  body: payload,
@@ -124,6 +128,7 @@ module Fastlane
124
128
  GithubApiAction.run(
125
129
  server_url: params[:api_url],
126
130
  api_token: params[:api_token],
131
+ api_bearer: params[:api_bearer],
127
132
  http_method: 'PATCH',
128
133
  path: "repos/#{params[:repo]}/issues/#{number}",
129
134
  body: payload,
@@ -160,22 +165,27 @@ module Fastlane
160
165
  code_gen_sensitive: true,
161
166
  default_value: ENV["GITHUB_API_TOKEN"],
162
167
  default_value_dynamic: true,
163
- is_string: true,
164
- optional: false),
168
+ conflicting_options: [:api_bearer],
169
+ optional: true),
170
+ FastlaneCore::ConfigItem.new(key: :api_bearer,
171
+ env_name: "GITHUB_PULL_REQUEST_API_BEARER",
172
+ description: "Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable",
173
+ sensitive: true,
174
+ code_gen_sensitive: true,
175
+ conflicting_options: [:api_token],
176
+ optional: true,
177
+ default_value: nil),
165
178
  FastlaneCore::ConfigItem.new(key: :repo,
166
179
  env_name: "GITHUB_PULL_REQUEST_REPO",
167
180
  description: "The name of the repository you want to submit the pull request to",
168
- is_string: true,
169
181
  optional: false),
170
182
  FastlaneCore::ConfigItem.new(key: :title,
171
183
  env_name: "GITHUB_PULL_REQUEST_TITLE",
172
184
  description: "The title of the pull request",
173
- is_string: true,
174
185
  optional: false),
175
186
  FastlaneCore::ConfigItem.new(key: :body,
176
187
  env_name: "GITHUB_PULL_REQUEST_BODY",
177
188
  description: "The contents of the pull request",
178
- is_string: true,
179
189
  optional: true),
180
190
  FastlaneCore::ConfigItem.new(key: :draft,
181
191
  env_name: "GITHUB_PULL_REQUEST_DRAFT",
@@ -195,21 +205,17 @@ module Fastlane
195
205
  FastlaneCore::ConfigItem.new(key: :head,
196
206
  env_name: "GITHUB_PULL_REQUEST_HEAD",
197
207
  description: "The name of the branch where your changes are implemented (defaults to the current branch name)",
198
- is_string: true,
199
- code_gen_sensitive: true,
200
208
  default_value: Actions.git_branch,
201
209
  default_value_dynamic: true,
202
210
  optional: true),
203
211
  FastlaneCore::ConfigItem.new(key: :base,
204
212
  env_name: "GITHUB_PULL_REQUEST_BASE",
205
213
  description: "The name of the branch you want your changes pulled into (defaults to `master`)",
206
- is_string: true,
207
214
  default_value: 'master',
208
215
  optional: true),
209
216
  FastlaneCore::ConfigItem.new(key: :api_url,
210
217
  env_name: "GITHUB_PULL_REQUEST_API_URL",
211
218
  description: "The URL of GitHub API - used when the Enterprise (default to `https://api.github.com`)",
212
- is_string: true,
213
219
  code_gen_default_value: 'https://api.github.com',
214
220
  default_value: 'https://api.github.com',
215
221
  optional: true),