fastlane 2.206.2 → 2.209.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 +102 -102
- data/deliver/lib/deliver/options.rb +1 -2
- data/deliver/lib/deliver/runner.rb +31 -35
- data/deliver/lib/deliver/upload_price_tier.rb +3 -1
- data/deliver/lib/deliver/upload_screenshots.rb +1 -1
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +19 -1
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +31 -11
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- 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 +5 -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 +2 -2
- data/fastlane/swift/SocketClient.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +21 -16
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +11 -12
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
- data/fastlane_core/lib/fastlane_core/project.rb +19 -2
- data/frameit/lib/frameit/device_types.rb +2 -0
- data/frameit/lib/frameit/frame_downloader.rb +1 -1
- data/match/lib/match/encryption.rb +3 -0
- data/match/lib/match/importer.rb +1 -0
- data/match/lib/match/module.rb +53 -1
- data/match/lib/match/nuke.rb +3 -40
- data/match/lib/match/options.rb +6 -0
- data/match/lib/match/runner.rb +11 -1
- data/match/lib/match/setup.rb +1 -1
- data/match/lib/match/spaceship_ensure.rb +4 -2
- data/match/lib/match/storage/gitlab/client.rb +102 -0
- data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
- data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
- data/match/lib/match/storage.rb +4 -0
- data/match/lib/match/table_printer.rb +2 -1
- data/match/lib/match/utils.rb +15 -2
- data/pilot/lib/pilot/build_manager.rb +2 -2
- data/scan/lib/scan/detect_values.rb +6 -0
- data/sigh/lib/sigh/download_all.rb +14 -2
- data/sigh/lib/sigh/module.rb +3 -1
- data/sigh/lib/sigh/runner.rb +7 -0
- data/snapshot/lib/snapshot/options.rb +1 -1
- data/snapshot/lib/snapshot/reports_generator.rb +1 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +4 -2
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +18 -8
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +63 -2
- data/trainer/lib/trainer/junit_generator.rb +1 -1
- metadata +23 -22
- data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
@@ -59,7 +59,7 @@ public protocol DeliverfileProtocol: AnyObject {
|
|
59
59
|
/// Clear all previously uploaded screenshots before uploading the new ones
|
60
60
|
var overwriteScreenshots: Bool { get }
|
61
61
|
|
62
|
-
/// Sync screenshots with local ones. This is currently beta
|
62
|
+
/// Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
63
63
|
var syncScreenshots: Bool { get }
|
64
64
|
|
65
65
|
/// Submit the new version for Review after uploading everything
|
@@ -264,4 +264,4 @@ public extension DeliverfileProtocol {
|
|
264
264
|
|
265
265
|
// Please don't remove the lines below
|
266
266
|
// They are used to detect outdated files
|
267
|
-
// FastlaneRunnerAPIVersion [0.9.
|
267
|
+
// FastlaneRunnerAPIVersion [0.9.108]
|
@@ -661,7 +661,7 @@ public func appledoc(input: [String],
|
|
661
661
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
662
662
|
- force: Skip verification of HTML preview file
|
663
663
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
664
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
664
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
665
665
|
- submitForReview: Submit the new version for Review after uploading everything
|
666
666
|
- verifyOnly: Verifies archive with App Store Connect without uploading
|
667
667
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
@@ -2113,7 +2113,7 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
|
|
2113
2113
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
2114
2114
|
- headless: Enabling this option will prevent displaying the simulator window
|
2115
2115
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
2116
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
2116
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
2117
2117
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
2118
2118
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
2119
2119
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -2322,7 +2322,7 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2322
2322
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
2323
2323
|
- headless: Enabling this option will prevent displaying the simulator window
|
2324
2324
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
2325
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
2325
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
2326
2326
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
2327
2327
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
2328
2328
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -2705,7 +2705,7 @@ public func cert(development: OptionalConfigValue<Bool> = .fastlaneDefault(false
|
|
2705
2705
|
- matchLightweightTag: Whether or not to match a lightweight tag when searching for the last one
|
2706
2706
|
- quiet: Whether or not to disable changelog output
|
2707
2707
|
- includeMerges: **DEPRECATED!** Use `:merge_commit_filtering` instead - Whether or not to include any commits that are merges
|
2708
|
-
- mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values:
|
2708
|
+
- mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values: 'include_merges', 'exclude_merges', 'only_include_merges'
|
2709
2709
|
|
2710
2710
|
- returns: Returns a String containing your formatted git commits
|
2711
2711
|
|
@@ -3681,7 +3681,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
|
|
3681
3681
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
3682
3682
|
- force: Skip verification of HTML preview file
|
3683
3683
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
3684
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
3684
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
3685
3685
|
- submitForReview: Submit the new version for Review after uploading everything
|
3686
3686
|
- verifyOnly: Verifies archive with App Store Connect without uploading
|
3687
3687
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
@@ -6655,6 +6655,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
6655
6655
|
- s3SecretAccessKey: S3 secret access key
|
6656
6656
|
- s3Bucket: Name of the S3 bucket
|
6657
6657
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
6658
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
6658
6659
|
- keychainName: Keychain the items should be imported to
|
6659
6660
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
6660
6661
|
- force: Renew the provisioning profiles every time you run match
|
@@ -6706,6 +6707,7 @@ public func match(type: String = matchfile.type,
|
|
6706
6707
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3SecretAccessKey),
|
6707
6708
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Bucket),
|
6708
6709
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3ObjectPrefix),
|
6710
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.gitlabProject),
|
6709
6711
|
keychainName: String = matchfile.keychainName,
|
6710
6712
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.keychainPassword),
|
6711
6713
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.force),
|
@@ -6755,6 +6757,7 @@ public func match(type: String = matchfile.type,
|
|
6755
6757
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
6756
6758
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
6757
6759
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
6760
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
6758
6761
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
6759
6762
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
6760
6763
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
@@ -6803,6 +6806,7 @@ public func match(type: String = matchfile.type,
|
|
6803
6806
|
s3SecretAccessKeyArg,
|
6804
6807
|
s3BucketArg,
|
6805
6808
|
s3ObjectPrefixArg,
|
6809
|
+
gitlabProjectArg,
|
6806
6810
|
keychainNameArg,
|
6807
6811
|
keychainPasswordArg,
|
6808
6812
|
forceArg,
|
@@ -6862,6 +6866,7 @@ public func match(type: String = matchfile.type,
|
|
6862
6866
|
- s3SecretAccessKey: S3 secret access key
|
6863
6867
|
- s3Bucket: Name of the S3 bucket
|
6864
6868
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
6869
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
6865
6870
|
- keychainName: Keychain the items should be imported to
|
6866
6871
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
6867
6872
|
- force: Renew the provisioning profiles every time you run match
|
@@ -6917,6 +6922,7 @@ public func matchNuke(type: String = "development",
|
|
6917
6922
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6918
6923
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6919
6924
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6925
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6920
6926
|
keychainName: String = "login.keychain",
|
6921
6927
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6922
6928
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -6966,6 +6972,7 @@ public func matchNuke(type: String = "development",
|
|
6966
6972
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
6967
6973
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
6968
6974
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
6975
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
6969
6976
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
6970
6977
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
6971
6978
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
@@ -7014,6 +7021,7 @@ public func matchNuke(type: String = "development",
|
|
7014
7021
|
s3SecretAccessKeyArg,
|
7015
7022
|
s3BucketArg,
|
7016
7023
|
s3ObjectPrefixArg,
|
7024
|
+
gitlabProjectArg,
|
7017
7025
|
keychainNameArg,
|
7018
7026
|
keychainPasswordArg,
|
7019
7027
|
forceArg,
|
@@ -7861,6 +7869,8 @@ public func podLibLint(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefau
|
|
7861
7869
|
- verbose: Show more debugging information
|
7862
7870
|
- useModularHeaders: Use modular headers option during validation
|
7863
7871
|
- synchronous: If validation depends on other recently pushed pods, synchronize
|
7872
|
+
- noOverwrite: Disallow pushing that would overwrite an existing spec
|
7873
|
+
- localOnly: Does not perform the step of pushing REPO to its remote
|
7864
7874
|
*/
|
7865
7875
|
public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7866
7876
|
path: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -7874,7 +7884,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7874
7884
|
useJson: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7875
7885
|
verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7876
7886
|
useModularHeaders: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7877
|
-
synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil)
|
7887
|
+
synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7888
|
+
noOverwrite: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7889
|
+
localOnly: OptionalConfigValue<Bool?> = .fastlaneDefault(nil))
|
7878
7890
|
{
|
7879
7891
|
let useBundleExecArg = useBundleExec.asRubyArgument(name: "use_bundle_exec", type: nil)
|
7880
7892
|
let pathArg = path.asRubyArgument(name: "path", type: nil)
|
@@ -7889,6 +7901,8 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7889
7901
|
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
7890
7902
|
let useModularHeadersArg = useModularHeaders.asRubyArgument(name: "use_modular_headers", type: nil)
|
7891
7903
|
let synchronousArg = synchronous.asRubyArgument(name: "synchronous", type: nil)
|
7904
|
+
let noOverwriteArg = noOverwrite.asRubyArgument(name: "no_overwrite", type: nil)
|
7905
|
+
let localOnlyArg = localOnly.asRubyArgument(name: "local_only", type: nil)
|
7892
7906
|
let array: [RubyCommand.Argument?] = [useBundleExecArg,
|
7893
7907
|
pathArg,
|
7894
7908
|
repoArg,
|
@@ -7901,7 +7915,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7901
7915
|
useJsonArg,
|
7902
7916
|
verboseArg,
|
7903
7917
|
useModularHeadersArg,
|
7904
|
-
synchronousArg
|
7918
|
+
synchronousArg,
|
7919
|
+
noOverwriteArg,
|
7920
|
+
localOnlyArg]
|
7905
7921
|
let args: [RubyCommand.Argument] = array
|
7906
7922
|
.filter { $0?.value != nil }
|
7907
7923
|
.compactMap { $0 }
|
@@ -10256,7 +10272,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10256
10272
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
10257
10273
|
- headless: Enabling this option will prevent displaying the simulator window
|
10258
10274
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
10259
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
10275
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
10260
10276
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
10261
10277
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
10262
10278
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -11060,6 +11076,7 @@ public func swiftlint(mode: String = "lint",
|
|
11060
11076
|
- s3SecretAccessKey: S3 secret access key
|
11061
11077
|
- s3Bucket: Name of the S3 bucket
|
11062
11078
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
11079
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
11063
11080
|
- keychainName: Keychain the items should be imported to
|
11064
11081
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
11065
11082
|
- force: Renew the provisioning profiles every time you run match
|
@@ -11111,6 +11128,7 @@ public func syncCodeSigning(type: String = "development",
|
|
11111
11128
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11112
11129
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11113
11130
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11131
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11114
11132
|
keychainName: String = "login.keychain",
|
11115
11133
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11116
11134
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -11160,6 +11178,7 @@ public func syncCodeSigning(type: String = "development",
|
|
11160
11178
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
11161
11179
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
11162
11180
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
11181
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
11163
11182
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
11164
11183
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
11165
11184
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
@@ -11208,6 +11227,7 @@ public func syncCodeSigning(type: String = "development",
|
|
11208
11227
|
s3SecretAccessKeyArg,
|
11209
11228
|
s3BucketArg,
|
11210
11229
|
s3ObjectPrefixArg,
|
11230
|
+
gitlabProjectArg,
|
11211
11231
|
keychainNameArg,
|
11212
11232
|
keychainPasswordArg,
|
11213
11233
|
forceArg,
|
@@ -12244,7 +12264,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
12244
12264
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
12245
12265
|
- force: Skip verification of HTML preview file
|
12246
12266
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
12247
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
12267
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
12248
12268
|
- submitForReview: Submit the new version for Review after uploading everything
|
12249
12269
|
- verifyOnly: Verifies archive with App Store Connect without uploading
|
12250
12270
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
@@ -13263,7 +13283,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
13263
13283
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13264
13284
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13265
13285
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13266
|
-
ideFoundationPath: String = "/Applications/Xcode-13.
|
13286
|
+
ideFoundationPath: String = "/Applications/Xcode-13.4.1.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
13267
13287
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
13268
13288
|
{
|
13269
13289
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
@@ -13466,4 +13486,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
13466
13486
|
|
13467
13487
|
// Please don't remove the lines below
|
13468
13488
|
// They are used to detect outdated files
|
13469
|
-
// FastlaneRunnerAPIVersion [0.9.
|
13489
|
+
// FastlaneRunnerAPIVersion [0.9.161]
|
Binary file
|
@@ -92,6 +92,9 @@ public protocol MatchfileProtocol: AnyObject {
|
|
92
92
|
/// Prefix to be used on all objects uploaded to S3
|
93
93
|
var s3ObjectPrefix: String? { get }
|
94
94
|
|
95
|
+
/// GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
96
|
+
var gitlabProject: String? { get }
|
97
|
+
|
95
98
|
/// Keychain the items should be imported to
|
96
99
|
var keychainName: String { get }
|
97
100
|
|
@@ -178,6 +181,7 @@ public extension MatchfileProtocol {
|
|
178
181
|
var s3SecretAccessKey: String? { return nil }
|
179
182
|
var s3Bucket: String? { return nil }
|
180
183
|
var s3ObjectPrefix: String? { return nil }
|
184
|
+
var gitlabProject: String? { return nil }
|
181
185
|
var keychainName: String { return "login.keychain" }
|
182
186
|
var keychainPassword: String? { return nil }
|
183
187
|
var force: Bool { return false }
|
@@ -200,4 +204,4 @@ public extension MatchfileProtocol {
|
|
200
204
|
|
201
205
|
// Please don't remove the lines below
|
202
206
|
// They are used to detect outdated files
|
203
|
-
// FastlaneRunnerAPIVersion [0.9.
|
207
|
+
// FastlaneRunnerAPIVersion [0.9.105]
|
@@ -53,7 +53,7 @@ public protocol SnapshotfileProtocol: AnyObject {
|
|
53
53
|
/// Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
54
54
|
var overrideStatusBar: Bool { get }
|
55
55
|
|
56
|
-
/// Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
56
|
+
/// Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
57
57
|
var overrideStatusBarArguments: String? { get }
|
58
58
|
|
59
59
|
/// Enabling this option will configure the Simulator's system language
|
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
|
|
204
204
|
|
205
205
|
// Please don't remove the lines below
|
206
206
|
// They are used to detect outdated files
|
207
|
-
// FastlaneRunnerAPIVersion [0.9.
|
207
|
+
// FastlaneRunnerAPIVersion [0.9.100]
|
@@ -310,7 +310,7 @@ extension SocketClient: StreamDelegate {
|
|
310
310
|
LaneFile.fastfileInstance?.onError(currentLane: ArgumentProcessor(args: CommandLine.arguments).currentLane, errorInfo: failureInformation.joined(), errorClass: failureClass, errorMessage: failureMessage)
|
311
311
|
socketDelegate?.commandExecuted(serverResponse: .serverError) {
|
312
312
|
$0.writeSemaphore.signal()
|
313
|
-
self.handleFailure(message: failureInformation)
|
313
|
+
self.handleFailure(message: failureMessage.map { m in [m] + failureInformation } ?? failureInformation)
|
314
314
|
}
|
315
315
|
|
316
316
|
case let .parseFailure(failureInformation):
|
@@ -2,35 +2,40 @@
|
|
2
2
|
"entries": {
|
3
3
|
"brew": {
|
4
4
|
"swiftformat": {
|
5
|
-
"version": "0.49.
|
5
|
+
"version": "0.49.14",
|
6
6
|
"bottle": {
|
7
7
|
"rebuild": 0,
|
8
8
|
"root_url": "https://ghcr.io/v2/homebrew/core",
|
9
9
|
"files": {
|
10
10
|
"arm64_monterey": {
|
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:7f8d9c244ced7e092cb18af0a36e1b64414e28dfbbc18beabe25fe0080aa3bca",
|
13
|
+
"sha256": "7f8d9c244ced7e092cb18af0a36e1b64414e28dfbbc18beabe25fe0080aa3bca"
|
14
14
|
},
|
15
15
|
"arm64_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:f1c062ceb1c7d933edb1e94f0cb1cb1b79b33821d565d26ebfbdf805def3b8f9",
|
18
|
+
"sha256": "f1c062ceb1c7d933edb1e94f0cb1cb1b79b33821d565d26ebfbdf805def3b8f9"
|
19
19
|
},
|
20
20
|
"monterey": {
|
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:a3242f98aee8736737fac5091c35ed34532c6e9a7ec66532e9418731b12ce158",
|
23
|
+
"sha256": "a3242f98aee8736737fac5091c35ed34532c6e9a7ec66532e9418731b12ce158"
|
24
24
|
},
|
25
25
|
"big_sur": {
|
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:76d9cd1efe09137f656c94c6498b80c2d9d7ca1f9cbd5a98d0699aa15629bd52",
|
28
|
+
"sha256": "76d9cd1efe09137f656c94c6498b80c2d9d7ca1f9cbd5a98d0699aa15629bd52"
|
29
29
|
},
|
30
30
|
"catalina": {
|
31
31
|
"cellar": ":any_skip_relocation",
|
32
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
33
|
-
"sha256": "
|
32
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:ac73b68d0225d794f415d5aedf0e2ffdbd1251e68e874a95f43c43431eeac518",
|
33
|
+
"sha256": "ac73b68d0225d794f415d5aedf0e2ffdbd1251e68e874a95f43c43431eeac518"
|
34
|
+
},
|
35
|
+
"x86_64_linux": {
|
36
|
+
"cellar": "/home/linuxbrew/.linuxbrew/Cellar",
|
37
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:89ba5a1898f9e5ce08582cd56399d18713c4091cb2b56a91ef839420dae49096",
|
38
|
+
"sha256": "89ba5a1898f9e5ce08582cd56399d18713c4091cb2b56a91ef839420dae49096"
|
34
39
|
}
|
35
40
|
}
|
36
41
|
}
|
@@ -56,12 +61,12 @@
|
|
56
61
|
"macOS": "11.0.1"
|
57
62
|
},
|
58
63
|
"monterey": {
|
59
|
-
"HOMEBREW_VERSION": "3.
|
64
|
+
"HOMEBREW_VERSION": "3.5.9",
|
60
65
|
"HOMEBREW_PREFIX": "/opt/homebrew",
|
61
|
-
"Homebrew/homebrew-core": "
|
62
|
-
"CLT": "13.
|
63
|
-
"Xcode": "13.
|
64
|
-
"macOS": "12.
|
66
|
+
"Homebrew/homebrew-core": "a6d7c257d4b9bbf76812482b503e0ad869e4d462",
|
67
|
+
"CLT": "13.4.0.0.1.1651278267",
|
68
|
+
"Xcode": "13.4.1",
|
69
|
+
"macOS": "12.4"
|
65
70
|
}
|
66
71
|
}
|
67
72
|
}
|
@@ -22,7 +22,7 @@ module FastlaneCore
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def self.installed_identies(in_keychain: nil)
|
25
|
-
|
25
|
+
install_wwdr_certificate unless wwdr_certificate_installed?
|
26
26
|
|
27
27
|
available = list_available_identities(in_keychain: in_keychain)
|
28
28
|
# Match for this text against word boundaries to avoid edge cases around multiples of 10 identities!
|
@@ -81,20 +81,19 @@ module FastlaneCore
|
|
81
81
|
`#{commands.join(' ')}`
|
82
82
|
end
|
83
83
|
|
84
|
-
def self.
|
84
|
+
def self.wwdr_certificate_installed?
|
85
85
|
certificate_name = "Apple Worldwide Developer Relations Certification Authority"
|
86
|
+
certificate_hash = "SHA-256 hash: BDD4ED6E74691F0C2BFD01BE0296197AF1379E0418E2D300EFA9C3BEF642CA30"
|
87
|
+
|
86
88
|
keychain = wwdr_keychain
|
87
|
-
response = Helper.backticks("security find-certificate -a -c '#{certificate_name}' #{keychain.shellescape}", print: FastlaneCore::Globals.verbose?)
|
88
|
-
certs = response.split("keychain: \"#{keychain}\"").drop(1)
|
89
|
-
certs.count == 2
|
90
|
-
end
|
89
|
+
response = Helper.backticks("security find-certificate -a -c '#{certificate_name}' -Z #{keychain.shellescape} | grep ^SHA-256", print: FastlaneCore::Globals.verbose?)
|
91
90
|
|
92
|
-
|
93
|
-
|
94
|
-
install_wwdr_certificate('https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer')
|
91
|
+
certs = response.split("\n")
|
92
|
+
certs.include?(certificate_hash)
|
95
93
|
end
|
96
94
|
|
97
|
-
def self.install_wwdr_certificate
|
95
|
+
def self.install_wwdr_certificate
|
96
|
+
url = 'https://www.apple.com/certificateauthority/AppleWWDRCAG6.cer'
|
98
97
|
file = Tempfile.new(File.basename(url))
|
99
98
|
filename = file.path
|
100
99
|
keychain = wwdr_keychain
|
@@ -124,8 +123,8 @@ module FastlaneCore
|
|
124
123
|
|
125
124
|
def self.wwdr_keychain
|
126
125
|
priority = [
|
127
|
-
"security
|
128
|
-
"security
|
126
|
+
"security default-keychain -d user",
|
127
|
+
"security list-keychains -d user"
|
129
128
|
]
|
130
129
|
priority.each do |command|
|
131
130
|
keychains = Helper.backticks(command, print: FastlaneCore::Globals.verbose?).split("\n")
|
@@ -14,6 +14,7 @@ module FastlaneCore
|
|
14
14
|
command << " -T /usr/bin/codesign" # to not be asked for permission when running a tool like `gym` (before Sierra)
|
15
15
|
command << " -T /usr/bin/security"
|
16
16
|
command << " -T /usr/bin/productbuild" # to not be asked for permission when using an installer cert for macOS
|
17
|
+
command << " -T /usr/bin/productsign" # to not be asked for permission when using an installer cert for macOS
|
17
18
|
command << " 1> /dev/null" unless output
|
18
19
|
|
19
20
|
sensitive_command = command.gsub(password_part, " -P ********")
|
@@ -356,7 +356,7 @@ module FastlaneCore
|
|
356
356
|
# This xcodebuild bug is fixed in Xcode 8.3 so 'clean' it's not necessary anymore
|
357
357
|
# See: https://github.com/fastlane/fastlane/pull/5626
|
358
358
|
if FastlaneCore::Helper.xcode_at_least?('8.3')
|
359
|
-
command = "xcodebuild -showBuildSettings #{xcodebuild_parameters.join(' ')}"
|
359
|
+
command = "xcodebuild -showBuildSettings #{xcodebuild_parameters.join(' ')}#{xcodebuild_destination_parameter}"
|
360
360
|
else
|
361
361
|
command = "xcodebuild clean -showBuildSettings #{xcodebuild_parameters.join(' ')}"
|
362
362
|
end
|
@@ -365,10 +365,27 @@ module FastlaneCore
|
|
365
365
|
|
366
366
|
def build_xcodebuild_resolvepackagedependencies_command
|
367
367
|
return nil if options[:skip_package_dependencies_resolution]
|
368
|
-
command = "xcodebuild -resolvePackageDependencies #{xcodebuild_parameters.join(' ')}"
|
368
|
+
command = "xcodebuild -resolvePackageDependencies #{xcodebuild_parameters.join(' ')}#{xcodebuild_destination_parameter}"
|
369
369
|
command
|
370
370
|
end
|
371
371
|
|
372
|
+
def xcodebuild_destination_parameter
|
373
|
+
# Xcode13+ xcodebuild command 'without destination parameter' generates annoying warnings
|
374
|
+
# See: https://github.com/fastlane/fastlane/issues/19579
|
375
|
+
destination_parameter = ""
|
376
|
+
xcode_at_least_13 = FastlaneCore::Helper.xcode_at_least?("13")
|
377
|
+
if xcode_at_least_13 && options[:destination]
|
378
|
+
begin
|
379
|
+
destination_parameter = " " + "-destination #{options[:destination].shellescape}"
|
380
|
+
rescue => ex
|
381
|
+
# xcodebuild command can continue without destination parameter, so
|
382
|
+
# we really don't care about this exception if something goes wrong with shellescape
|
383
|
+
UI.important("Failed to set destination parameter for xcodebuild command: #{ex}")
|
384
|
+
end
|
385
|
+
end
|
386
|
+
destination_parameter
|
387
|
+
end
|
388
|
+
|
372
389
|
# Get the build settings for our project
|
373
390
|
# e.g. to properly get the DerivedData folder
|
374
391
|
# @param [String] The key of which we want the value for (e.g. "PRODUCT_NAME")
|
@@ -50,6 +50,7 @@ module Frameit
|
|
50
50
|
MIDNIGHT ||= "Midnight"
|
51
51
|
STARLIGHT ||= "Starlight"
|
52
52
|
SIERRA ||= "Sierra"
|
53
|
+
SORTA_SAGE ||= "Sorta Sage"
|
53
54
|
|
54
55
|
def self.all_colors
|
55
56
|
Color.constants.map { |c| Color.const_get(c).upcase.gsub(' ', '_') }
|
@@ -85,6 +86,7 @@ module Frameit
|
|
85
86
|
# Google Pixel 4's priority should be higher than Samsung Galaxy S10+ (priority 8):
|
86
87
|
GOOGLE_PIXEL_4 ||= Frameit::Device.new("google-pixel-4", "Google Pixel 4", 9, [[1080, 2280], [2280, 1080]], 444, Color::JUST_BLACK, Platform::ANDROID)
|
87
88
|
GOOGLE_PIXEL_4_XL ||= Frameit::Device.new("google-pixel-4-xl", "Google Pixel 4 XL", 9, [[1440, 3040], [3040, 1440]], 537, Color::JUST_BLACK, Platform::ANDROID)
|
89
|
+
GOOGLE_PIXEL_5 ||= Frameit::Device.new("google-pixel-5", "Google Pixel 5", 10, [[1080, 2340], [2340, 1080]], 432, Color::JUST_BLACK, Platform::ANDROID)
|
88
90
|
HTC_ONE_A9 ||= Frameit::Device.new("htc-one-a9", "HTC One A9", 6, [[1080, 1920], [1920, 1080]], 441, Color::BLACK, Platform::ANDROID)
|
89
91
|
HTC_ONE_M8 ||= Frameit::Device.new("htc-one-m8", "HTC One M8", 3, [[1080, 1920], [1920, 1080]], 441, Color::BLACK, Platform::ANDROID)
|
90
92
|
HUAWEI_P8 ||= Frameit::Device.new("huawei-p8", "Huawei P8", 5, [[1080, 1920], [1920, 1080]], 424, Color::BLACK, Platform::ANDROID)
|
@@ -53,7 +53,7 @@ module Frameit
|
|
53
53
|
|
54
54
|
def print_disclaimer
|
55
55
|
UI.header("Device frames disclaimer")
|
56
|
-
UI.important("All used device frames are available via Facebook Design:
|
56
|
+
UI.important("All used device frames are available via Facebook Design: https://design.facebook.com/toolsandresources/devices/")
|
57
57
|
UI.message("----------------------------------------")
|
58
58
|
UI.message("While Facebook has redrawn and shares these assets for the benefit")
|
59
59
|
UI.message("of the design community, Facebook does not own any of the underlying")
|
data/match/lib/match/importer.rb
CHANGED
@@ -37,6 +37,7 @@ module Match
|
|
37
37
|
s3_access_key: params[:s3_access_key],
|
38
38
|
s3_secret_access_key: params[:s3_secret_access_key],
|
39
39
|
s3_object_prefix: params[:s3_object_prefix],
|
40
|
+
gitlab_project: params[:gitlab_project],
|
40
41
|
readonly: params[:readonly],
|
41
42
|
username: params[:username],
|
42
43
|
team_id: params[:team_id],
|