fastlane 2.144.0 → 2.145.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 +70 -70
- data/fastlane/lib/fastlane/actions/{.update_project_provisioning.rb.swp → .push_to_git_remote.rb.swp} +0 -0
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -1
- data/fastlane/lib/fastlane/actions/slather.rb +1 -1
- data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +9 -9
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +2 -2
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/{spaceship/lib/spaceship/connect_api/models/.bundle_id_capability.rb.swp → frameit/lib/frameit/.screenshot.rb.swp} +0 -0
- data/match/lib/match/options.rb +1 -1
- data/scan/lib/scan/test_command_generator.rb +1 -1
- data/spaceship/lib/spaceship/portal/.portal_client.rb.swp +0 -0
- data/spaceship/lib/spaceship/portal/portal_client.rb +13 -0
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +52 -16
- data/supply/lib/supply/client.rb +3 -3
- metadata +20 -26
- data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/pilot/lib/pilot/.manager.rb.swp +0 -0
- data/sigh/lib/sigh/.runner.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.bundle_id.rb.swp +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50526fb8e2f431e1fe07d3667568902f85b83536f2a35a97763d85c40f3703b3
|
4
|
+
data.tar.gz: f7b223f5674354e6034fc80cc8eeff9cf21c4d610254e3675e4fdab2fe9cbfc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45c216049c389336751e7927a578153cc80ed4c46d7bf77f3a59a8290e77fcf22f52cd1785d7f1effdee70b5f57aa8a1e8db2caba0c2a6fdb62a2cd20a013d2e
|
7
|
+
data.tar.gz: dc3622f0cfb168ebb0ff473f769f600c85521e487330cd9ad085642bda846db8982db531d14746fe81462112510194495a793f7784c3a8800c4ff8f0c3cddec3
|
data/README.md
CHANGED
@@ -34,55 +34,61 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
34
34
|
<!-- This table is regenerated and resorted on each release -->
|
35
35
|
<table id='team'>
|
36
36
|
<tr>
|
37
|
-
<td id='
|
38
|
-
<a href='https://github.com/
|
39
|
-
<img src='https://github.com/
|
37
|
+
<td id='luka-mirosevic'>
|
38
|
+
<a href='https://github.com/lmirosevic'>
|
39
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
40
40
|
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
41
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
42
42
|
</td>
|
43
|
-
<td id='
|
44
|
-
<a href='https://github.com/
|
45
|
-
<img src='https://github.com/
|
43
|
+
<td id='jan-piotrowski'>
|
44
|
+
<a href='https://github.com/janpio'>
|
45
|
+
<img src='https://github.com/janpio.png?size=140'>
|
46
46
|
</a>
|
47
|
-
<h4 align='center'><a href='https://twitter.com/
|
47
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
48
48
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<img src='https://github.com/
|
49
|
+
<td id='felix-krause'>
|
50
|
+
<a href='https://github.com/KrauseFx'>
|
51
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
52
52
|
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
53
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
54
54
|
</td>
|
55
|
-
<td id='
|
56
|
-
<a href='https://github.com/
|
57
|
-
<img src='https://github.com/
|
55
|
+
<td id='max-ott'>
|
56
|
+
<a href='https://github.com/max-ott'>
|
57
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
58
58
|
</a>
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
59
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
60
60
|
</td>
|
61
|
-
<td id='
|
62
|
-
<a href='https://github.com/
|
63
|
-
<img src='https://github.com/
|
61
|
+
<td id='matthew-ellis'>
|
62
|
+
<a href='https://github.com/matthewellis'>
|
63
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
64
64
|
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
65
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
66
66
|
</td>
|
67
67
|
</tr>
|
68
68
|
<tr>
|
69
|
-
<td id='
|
70
|
-
<a href='https://github.com/
|
71
|
-
<img src='https://github.com/
|
69
|
+
<td id='fumiya-nakamura'>
|
70
|
+
<a href='https://github.com/nafu'>
|
71
|
+
<img src='https://github.com/nafu.png?size=140'>
|
72
72
|
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
74
74
|
</td>
|
75
|
-
<td id='
|
76
|
-
<a href='https://github.com/
|
77
|
-
<img src='https://github.com/
|
75
|
+
<td id='jimmy-dee'>
|
76
|
+
<a href='https://github.com/jdee'>
|
77
|
+
<img src='https://github.com/jdee.png?size=140'>
|
78
78
|
</a>
|
79
|
-
<h4 align='center'
|
79
|
+
<h4 align='center'>Jimmy Dee</h4>
|
80
80
|
</td>
|
81
|
-
<td id='
|
82
|
-
<a href='https://github.com/
|
83
|
-
<img src='https://github.com/
|
81
|
+
<td id='stefan-natchev'>
|
82
|
+
<a href='https://github.com/snatchev'>
|
83
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
84
84
|
</a>
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
85
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
86
|
+
</td>
|
87
|
+
<td id='olivier-halligon'>
|
88
|
+
<a href='https://github.com/AliSoftware'>
|
89
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
90
|
+
</a>
|
91
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
86
92
|
</td>
|
87
93
|
<td id='daniel-jankowski'>
|
88
94
|
<a href='https://github.com/mollyIV'>
|
@@ -90,12 +96,6 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
90
96
|
</a>
|
91
97
|
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
92
98
|
</td>
|
93
|
-
<td id='jan-piotrowski'>
|
94
|
-
<a href='https://github.com/janpio'>
|
95
|
-
<img src='https://github.com/janpio.png?size=140'>
|
96
|
-
</a>
|
97
|
-
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
98
|
-
</td>
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
101
|
<td id='joshua-liebowitz'>
|
@@ -104,11 +104,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
104
104
|
</a>
|
105
105
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
106
106
|
</td>
|
107
|
-
<td id='
|
108
|
-
<a href='https://github.com/
|
109
|
-
<img src='https://github.com/
|
107
|
+
<td id='kohki-miki'>
|
108
|
+
<a href='https://github.com/giginet'>
|
109
|
+
<img src='https://github.com/giginet.png?size=140'>
|
110
110
|
</a>
|
111
|
-
<h4 align='center'>
|
111
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
112
112
|
</td>
|
113
113
|
<td id='helmut-januschka'>
|
114
114
|
<a href='https://github.com/hjanuschka'>
|
@@ -116,37 +116,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
116
116
|
</a>
|
117
117
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
118
118
|
</td>
|
119
|
-
<td id='fumiya-nakamura'>
|
120
|
-
<a href='https://github.com/nafu'>
|
121
|
-
<img src='https://github.com/nafu.png?size=140'>
|
122
|
-
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
124
|
-
</td>
|
125
119
|
<td id='aaron-brager'>
|
126
120
|
<a href='https://github.com/getaaron'>
|
127
121
|
<img src='https://github.com/getaaron.png?size=140'>
|
128
122
|
</a>
|
129
123
|
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
130
124
|
</td>
|
125
|
+
<td id='jérôme-lacoste'>
|
126
|
+
<a href='https://github.com/lacostej'>
|
127
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
128
|
+
</a>
|
129
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
130
|
+
</td>
|
131
131
|
</tr>
|
132
132
|
<tr>
|
133
|
-
<td id='
|
134
|
-
<a href='https://github.com/
|
135
|
-
<img src='https://github.com/
|
133
|
+
<td id='josh-holtz'>
|
134
|
+
<a href='https://github.com/joshdholtz'>
|
135
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
136
136
|
</a>
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
137
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
138
138
|
</td>
|
139
|
-
<td id='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
139
|
+
<td id='manu-wallner'>
|
140
|
+
<a href='https://github.com/milch'>
|
141
|
+
<img src='https://github.com/milch.png?size=140'>
|
142
142
|
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
144
144
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
145
|
+
<td id='jorge-revuelta-h'>
|
146
|
+
<a href='https://github.com/minuscorp'>
|
147
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
148
148
|
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
150
|
+
</td>
|
151
|
+
<td id='maksym-grebenets'>
|
152
|
+
<a href='https://github.com/mgrebenets'>
|
153
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
154
|
+
</a>
|
155
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
150
156
|
</td>
|
151
157
|
<td id='andrew-mcburney'>
|
152
158
|
<a href='https://github.com/armcburney'>
|
@@ -154,12 +160,6 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
154
160
|
</a>
|
155
161
|
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
156
162
|
</td>
|
157
|
-
<td id='matthew-ellis'>
|
158
|
-
<a href='https://github.com/matthewellis'>
|
159
|
-
<img src='https://github.com/matthewellis.png?size=140'>
|
160
|
-
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
162
|
-
</td>
|
163
163
|
</tr>
|
164
164
|
<tr>
|
165
165
|
<td id='danielle-tomlinson'>
|
@@ -168,11 +168,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
168
168
|
</a>
|
169
169
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
170
170
|
</td>
|
171
|
-
<td id='
|
172
|
-
<a href='https://github.com/
|
173
|
-
<img src='https://github.com/
|
171
|
+
<td id='iulian-onofrei'>
|
172
|
+
<a href='https://github.com/revolter'>
|
173
|
+
<img src='https://github.com/revolter.png?size=140'>
|
174
174
|
</a>
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
175
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
176
176
|
</td>
|
177
177
|
</table>
|
178
178
|
|
Binary file
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
A new approach to iOS code signing: Share one code signing identity across your development team to simplify your codesigning setup and prevent code signing issues.
|
8
8
|
|
9
|
-
_match_ is the implementation of the [codesigning.guide concept](https://codesigning.guide). _match_ creates all required certificates & provisioning profiles and stores them in a separate git repository. Every team member with access to the
|
9
|
+
_match_ is the implementation of the [codesigning.guide concept](https://codesigning.guide). _match_ creates all required certificates & provisioning profiles and stores them in a separate git repository, Google Cloud, or Amazon S3. Every team member with access to the selected storage can use those credentials for code signing. _match_ also automatically repairs broken and expired credentials. It's the easiest way to share signing credentials across teams
|
10
10
|
|
11
11
|
[More information on how to get started with codesigning](https://docs.fastlane.tools/codesigning/getting-started/)
|
12
12
|
|
@@ -82,7 +82,7 @@ module Fastlane
|
|
82
82
|
def self.get_version_number_from_build_settings!(target, variable, configuration = nil)
|
83
83
|
target.build_configurations.each do |config|
|
84
84
|
if configuration.nil? || config.name == configuration
|
85
|
-
value = config.
|
85
|
+
value = config.resolve_build_setting(variable)
|
86
86
|
return value if value
|
87
87
|
end
|
88
88
|
end
|
@@ -93,7 +93,7 @@ module Fastlane
|
|
93
93
|
env_name: "FL_SETUP_CI_PROVIDER",
|
94
94
|
description: "CI provider. If none is set, the provider is detected automatically",
|
95
95
|
is_string: true,
|
96
|
-
|
96
|
+
optional: true,
|
97
97
|
verify_block: proc do |value|
|
98
98
|
value = value.to_s
|
99
99
|
# Validate both 'travis' and 'circleci' for backwards compatibility, even
|
@@ -241,7 +241,7 @@ module Fastlane
|
|
241
241
|
FastlaneCore::ConfigItem.new(key: :ignore,
|
242
242
|
env_name: "FL_SLATHER_IGNORE",
|
243
243
|
description: "Tell slather to ignore files matching a path or any path from an array of paths",
|
244
|
-
|
244
|
+
type: Array,
|
245
245
|
optional: true),
|
246
246
|
FastlaneCore::ConfigItem.new(key: :verbose,
|
247
247
|
env_name: "FL_SLATHER_VERBOSE",
|
@@ -46,7 +46,7 @@ module Fastlane
|
|
46
46
|
|
47
47
|
parts = cert_info.strip.split(/\r?\n/)
|
48
48
|
parts.each do |part|
|
49
|
-
if part =~ /\AAuthority=
|
49
|
+
if part =~ /\AAuthority=(iPhone|iOS|Apple)\s(Distribution|Development)/
|
50
50
|
type = part.split('=')[1].split(':')[0]
|
51
51
|
values['provisioning_type'] = type.downcase =~ /distribution/i ? "distribution" : "development"
|
52
52
|
end
|
@@ -2761,7 +2761,7 @@ func downloadDsyms(username: String,
|
|
2761
2761
|
func downloadFromPlayStore(packageName: String,
|
2762
2762
|
versionName: String? = nil,
|
2763
2763
|
track: String = "production",
|
2764
|
-
metadataPath: String =
|
2764
|
+
metadataPath: String? = nil,
|
2765
2765
|
key: String? = nil,
|
2766
2766
|
issuer: String? = nil,
|
2767
2767
|
jsonKey: String? = nil,
|
@@ -4480,7 +4480,7 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
4480
4480
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
4481
4481
|
- s3Region: Name of the S3 region
|
4482
4482
|
- s3AccessKey: S3 access key
|
4483
|
-
- s3SecretAccessKey: S3 secret
|
4483
|
+
- s3SecretAccessKey: S3 secret access key
|
4484
4484
|
- s3Bucket: Name of the S3 bucket
|
4485
4485
|
- keychainName: Keychain the items should be imported to
|
4486
4486
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
|
@@ -6338,7 +6338,7 @@ func setPodKey(useBundleExec: Bool = true,
|
|
6338
6338
|
This action helps with CI integration. Add this to the top of your Fastfile if you use CI.
|
6339
6339
|
*/
|
6340
6340
|
func setupCi(force: Bool = false,
|
6341
|
-
provider:
|
6341
|
+
provider: String? = nil) {
|
6342
6342
|
let command = RubyCommand(commandID: "", methodName: "setup_ci", className: nil, args: [RubyCommand.Argument(name: "force", value: force),
|
6343
6343
|
RubyCommand.Argument(name: "provider", value: provider)])
|
6344
6344
|
_ = runner.executeCommand(command)
|
@@ -6674,7 +6674,7 @@ func slather(buildDirectory: String? = nil,
|
|
6674
6674
|
show: Bool = false,
|
6675
6675
|
sourceDirectory: String? = nil,
|
6676
6676
|
outputDirectory: String? = nil,
|
6677
|
-
ignore:
|
6677
|
+
ignore: [String]? = nil,
|
6678
6678
|
verbose: Bool? = nil,
|
6679
6679
|
useBundleExec: Bool = false,
|
6680
6680
|
binaryBasename: Bool = false,
|
@@ -7055,7 +7055,7 @@ func supply(packageName: String,
|
|
7055
7055
|
releaseStatus: String = "completed",
|
7056
7056
|
track: String = "production",
|
7057
7057
|
rollout: String? = nil,
|
7058
|
-
metadataPath: String =
|
7058
|
+
metadataPath: String? = nil,
|
7059
7059
|
key: String? = nil,
|
7060
7060
|
issuer: String? = nil,
|
7061
7061
|
jsonKey: String? = nil,
|
@@ -7197,7 +7197,7 @@ func swiftlint(mode: Any = "lint",
|
|
7197
7197
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
7198
7198
|
- s3Region: Name of the S3 region
|
7199
7199
|
- s3AccessKey: S3 access key
|
7200
|
-
- s3SecretAccessKey: S3 secret
|
7200
|
+
- s3SecretAccessKey: S3 secret access key
|
7201
7201
|
- s3Bucket: Name of the S3 bucket
|
7202
7202
|
- keychainName: Keychain the items should be imported to
|
7203
7203
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
|
@@ -8143,7 +8143,7 @@ func uploadToPlayStore(packageName: String,
|
|
8143
8143
|
releaseStatus: String = "completed",
|
8144
8144
|
track: String = "production",
|
8145
8145
|
rollout: String? = nil,
|
8146
|
-
metadataPath: String =
|
8146
|
+
metadataPath: String? = nil,
|
8147
8147
|
key: String? = nil,
|
8148
8148
|
issuer: String? = nil,
|
8149
8149
|
jsonKey: String? = nil,
|
@@ -8642,7 +8642,7 @@ func xcov(workspace: String? = nil,
|
|
8642
8642
|
coverallsServiceJobId: String? = nil,
|
8643
8643
|
coverallsRepoToken: String? = nil,
|
8644
8644
|
xcconfig: String? = nil,
|
8645
|
-
ideFoundationPath: String = "/Applications/Xcode-11.
|
8645
|
+
ideFoundationPath: String = "/Applications/Xcode-11.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
8646
8646
|
legacySupport: Bool = false) {
|
8647
8647
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
8648
8648
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -8787,4 +8787,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
|
|
8787
8787
|
|
8788
8788
|
// Please don't remove the lines below
|
8789
8789
|
// They are used to detect outdated files
|
8790
|
-
// FastlaneRunnerAPIVersion [0.9.
|
8790
|
+
// FastlaneRunnerAPIVersion [0.9.73]
|
@@ -69,7 +69,7 @@ protocol MatchfileProtocol: class {
|
|
69
69
|
/// S3 access key
|
70
70
|
var s3AccessKey: String? { get }
|
71
71
|
|
72
|
-
/// S3 secret
|
72
|
+
/// S3 secret access key
|
73
73
|
var s3SecretAccessKey: String? { get }
|
74
74
|
|
75
75
|
/// Name of the S3 bucket
|
@@ -146,4 +146,4 @@ extension MatchfileProtocol {
|
|
146
146
|
|
147
147
|
// Please don't remove the lines below
|
148
148
|
// They are used to detect outdated files
|
149
|
-
// FastlaneRunnerAPIVersion [0.9.
|
149
|
+
// FastlaneRunnerAPIVersion [0.9.15]
|
Binary file
|
data/match/lib/match/options.rb
CHANGED
@@ -170,7 +170,7 @@ module Match
|
|
170
170
|
optional: true),
|
171
171
|
FastlaneCore::ConfigItem.new(key: :s3_secret_access_key,
|
172
172
|
env_name: "MATCH_S3_SECRET_ACCESS_KEY",
|
173
|
-
description: "S3 secret
|
173
|
+
description: "S3 secret access key",
|
174
174
|
optional: true),
|
175
175
|
FastlaneCore::ConfigItem.new(key: :s3_bucket,
|
176
176
|
env_name: "MATCH_S3_BUCKET",
|
@@ -46,7 +46,7 @@ module Scan
|
|
46
46
|
options << "-enableAddressSanitizer #{config[:address_sanitizer] ? 'YES' : 'NO'}" unless config[:address_sanitizer].nil?
|
47
47
|
options << "-enableThreadSanitizer #{config[:thread_sanitizer] ? 'YES' : 'NO'}" unless config[:thread_sanitizer].nil?
|
48
48
|
if FastlaneCore::Helper.xcode_at_least?(11)
|
49
|
-
options << "-testPlan #{config[:testplan]}" if config[:testplan]
|
49
|
+
options << "-testPlan '#{config[:testplan]}'" if config[:testplan]
|
50
50
|
end
|
51
51
|
options << "-xctestrun '#{config[:xctestrun]}'" if config[:xctestrun]
|
52
52
|
options << config[:xcargs] if config[:xcargs]
|
Binary file
|
@@ -100,6 +100,19 @@ module Spaceship
|
|
100
100
|
end
|
101
101
|
private :platform_slug
|
102
102
|
|
103
|
+
def list_pending_agreements(language: "en")
|
104
|
+
r = request(:post) do |req|
|
105
|
+
req.url("account/listPendingAgreements")
|
106
|
+
req.body = {
|
107
|
+
teamId: team_id,
|
108
|
+
languageIsoCode: language
|
109
|
+
}.to_json
|
110
|
+
req.headers['Content-Type'] = 'application/json'
|
111
|
+
end
|
112
|
+
|
113
|
+
return parse_response(r)
|
114
|
+
end
|
115
|
+
|
103
116
|
#####################################################
|
104
117
|
# @!group Apps
|
105
118
|
#####################################################
|
@@ -131,18 +131,33 @@ module Spaceship
|
|
131
131
|
puts("Environment variable `SPACESHIP_2FA_SMS_DEFAULT_PHONE_NUMBER` is set, automatically requesting 2FA token via SMS to that number")
|
132
132
|
puts("SPACESHIP_2FA_SMS_DEFAULT_PHONE_NUMBER = #{env_2fa_sms_default_phone_number}")
|
133
133
|
puts("")
|
134
|
+
|
134
135
|
phone_number = env_2fa_sms_default_phone_number
|
135
136
|
phone_id = phone_id_from_number(response.body["trustedPhoneNumbers"], phone_number)
|
137
|
+
# don't request sms if no trusted devices and env default is the only trusted number,
|
138
|
+
# code was automatically sent
|
139
|
+
should_request_code = !sms_automatically_sent(response)
|
140
|
+
code_type = 'phone'
|
141
|
+
body = request_two_factor_code_from_phone(phone_id, phone_number, code_length, should_request_code)
|
142
|
+
elsif sms_automatically_sent(response) # sms fallback, code was automatically sent
|
143
|
+
fallback_number = response.body["trustedPhoneNumbers"].first
|
144
|
+
phone_number = fallback_number["numberWithDialCode"]
|
145
|
+
phone_id = fallback_number["id"]
|
146
|
+
|
147
|
+
code_type = 'phone'
|
148
|
+
body = request_two_factor_code_from_phone(phone_id, phone_number, code_length, false)
|
149
|
+
elsif sms_fallback(response) # sms fallback but code wasn't sent bec > 1 phone number
|
136
150
|
code_type = 'phone'
|
137
|
-
body =
|
151
|
+
body = request_two_factor_code_from_phone_choose(response.body["trustedPhoneNumbers"], code_length)
|
138
152
|
else
|
139
153
|
puts("(Input `sms` to escape this prompt and select a trusted phone number to send the code as a text message)")
|
140
154
|
puts("")
|
141
155
|
puts("(You can also set the environment variable `SPACESHIP_2FA_SMS_DEFAULT_PHONE_NUMBER` to automate this)")
|
142
|
-
puts("(Read more at: https://github.com/fastlane/fastlane/blob/master/spaceship/docs/Authentication.md#auto-select-sms-via-
|
156
|
+
puts("(Read more at: https://github.com/fastlane/fastlane/blob/master/spaceship/docs/Authentication.md#auto-select-sms-via-spaceship_2fa_sms_default_phone_number)")
|
143
157
|
puts("")
|
144
|
-
|
158
|
+
|
145
159
|
code = ask_for_2fa_code("Please enter the #{code_length} digit code:")
|
160
|
+
code_type = 'trusteddevice'
|
146
161
|
body = { "securityCode" => { "code" => code.to_s } }.to_json
|
147
162
|
|
148
163
|
# User exited by entering `sms` and wants to choose phone number for SMS
|
@@ -191,11 +206,30 @@ module Spaceship
|
|
191
206
|
return true
|
192
207
|
end
|
193
208
|
|
209
|
+
# For reference in case auth behavior changes:
|
210
|
+
# The "noTrustedDevices" field is only present
|
211
|
+
# in the response for `GET /appleauth/auth`
|
212
|
+
|
213
|
+
# Account is not signed into any devices that can display a verification code
|
214
|
+
def sms_fallback(response)
|
215
|
+
response.body["noTrustedDevices"]
|
216
|
+
end
|
217
|
+
|
218
|
+
# see `sms_fallback` + account has only one trusted number for receiving an sms
|
219
|
+
def sms_automatically_sent(response)
|
220
|
+
(response.body["trustedPhoneNumbers"] || []).count == 1 && sms_fallback(response)
|
221
|
+
end
|
222
|
+
|
194
223
|
# extracted into its own method for testing
|
195
224
|
def ask_for_2fa_code(text)
|
196
225
|
ask(text)
|
197
226
|
end
|
198
227
|
|
228
|
+
# extracted into its own method for testing
|
229
|
+
def choose_phone_number(opts)
|
230
|
+
choose(*opts)
|
231
|
+
end
|
232
|
+
|
199
233
|
def phone_id_from_number(phone_numbers, phone_number)
|
200
234
|
characters_to_remove_from_phone_numbers = ' \-()"'
|
201
235
|
|
@@ -247,27 +281,29 @@ If it is, please open an issue at https://github.com/fastlane/fastlane/issues/ne
|
|
247
281
|
available = phone_numbers.collect do |current|
|
248
282
|
current['numberWithDialCode']
|
249
283
|
end
|
250
|
-
chosen =
|
284
|
+
chosen = choose_phone_number(available)
|
251
285
|
phone_id = phone_id_from_masked_number(phone_numbers, chosen)
|
252
286
|
|
253
287
|
request_two_factor_code_from_phone(phone_id, chosen, code_length)
|
254
288
|
end
|
255
289
|
|
256
290
|
# this is used in two places: after choosing a phone number and when a phone number is set via ENV var
|
257
|
-
def request_two_factor_code_from_phone(phone_id, phone_number, code_length)
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
291
|
+
def request_two_factor_code_from_phone(phone_id, phone_number, code_length, should_request_code = true)
|
292
|
+
if should_request_code
|
293
|
+
# Request code
|
294
|
+
r = request(:put) do |req|
|
295
|
+
req.url("https://idmsa.apple.com/appleauth/auth/verify/phone")
|
296
|
+
req.headers['Content-Type'] = 'application/json'
|
297
|
+
req.body = { "phoneNumber" => { "id" => phone_id }, "mode" => "sms" }.to_json
|
298
|
+
update_request_headers(req)
|
299
|
+
end
|
265
300
|
|
266
|
-
|
267
|
-
|
268
|
-
|
301
|
+
# we use `Spaceship::TunesClient.new.handle_itc_response`
|
302
|
+
# since this might be from the Dev Portal, but for 2 step
|
303
|
+
Spaceship::TunesClient.new.handle_itc_response(r.body)
|
269
304
|
|
270
|
-
|
305
|
+
puts("Successfully requested text message to #{phone_number}")
|
306
|
+
end
|
271
307
|
|
272
308
|
code = ask_for_2fa_code("Please enter the #{code_length} digit code you received at #{phone_number}:")
|
273
309
|
|
data/supply/lib/supply/client.rb
CHANGED
@@ -244,7 +244,7 @@ module Supply
|
|
244
244
|
UI.message("Found '#{version}' in '#{filtered_track.track}' track.")
|
245
245
|
end
|
246
246
|
|
247
|
-
filtered_release = filtered_track.releases.first { |r| r.name == version }
|
247
|
+
filtered_release = filtered_track.releases.first { |r| !r.name.nil? && r.name == version }
|
248
248
|
|
249
249
|
# Since we can release on Alpha/Beta without release notes.
|
250
250
|
if filtered_release.release_notes.nil?
|
@@ -258,13 +258,13 @@ module Supply
|
|
258
258
|
end
|
259
259
|
|
260
260
|
def latest_version(track)
|
261
|
-
latest_version = tracks.select { |t| t.track == Supply::Tracks::DEFAULT }.map(&:releases).flatten.max_by(&:name)
|
261
|
+
latest_version = tracks.select { |t| t.track == Supply::Tracks::DEFAULT }.map(&:releases).flatten.reject { |r| r.name.nil? }.max_by(&:name)
|
262
262
|
|
263
263
|
# Check if user specified '--track' option if version information from 'production' track is nil
|
264
264
|
if latest_version.nil? && track == Supply::Tracks::DEFAULT
|
265
265
|
UI.user_error!(%(Unable to find latest version information from "#{Supply::Tracks::DEFAULT}" track. Please specify track information by using the '--track' option.))
|
266
266
|
else
|
267
|
-
latest_version = tracks.select { |t| t.track == track }.map(&:releases).flatten.max_by(&:name)
|
267
|
+
latest_version = tracks.select { |t| t.track == track }.map(&:releases).flatten.reject { |r| r.name.nil? }.max_by(&:name)
|
268
268
|
end
|
269
269
|
|
270
270
|
return latest_version
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.145.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Danielle Tomlinson
|
8
|
-
- Max Ott
|
9
7
|
- Daniel Jankowski
|
10
|
-
-
|
8
|
+
- Danielle Tomlinson
|
9
|
+
- Luka Mirosevic
|
11
10
|
- Josh Holtz
|
12
|
-
- Kohki Miki
|
13
11
|
- Iulian Onofrei
|
14
|
-
-
|
15
|
-
-
|
16
|
-
- Stefan Natchev
|
12
|
+
- Fumiya Nakamura
|
13
|
+
- Aaron Brager
|
17
14
|
- Olivier Halligon
|
18
|
-
-
|
19
|
-
- Jan Piotrowski
|
20
|
-
- Joshua Liebowitz
|
15
|
+
- Felix Krause
|
21
16
|
- Maksym Grebenets
|
22
|
-
- Fumiya Nakamura
|
23
|
-
- Jimmy Dee
|
24
|
-
- Jorge Revuelta H
|
25
17
|
- Jérôme Lacoste
|
18
|
+
- Joshua Liebowitz
|
19
|
+
- Jorge Revuelta H
|
20
|
+
- Helmut Januschka
|
21
|
+
- Jimmy Dee
|
22
|
+
- Stefan Natchev
|
26
23
|
- Andrew McBurney
|
27
|
-
- Aaron Brager
|
28
24
|
- Manu Wallner
|
25
|
+
- Max Ott
|
26
|
+
- Kohki Miki
|
27
|
+
- Jan Piotrowski
|
28
|
+
- Matthew Ellis
|
29
29
|
autorequire:
|
30
30
|
bindir: bin
|
31
31
|
cert_chain: []
|
32
|
-
date: 2020-
|
32
|
+
date: 2020-04-05 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: slack-notifier
|
@@ -1016,9 +1016,7 @@ files:
|
|
1016
1016
|
- fastlane/lib/fastlane.rb
|
1017
1017
|
- fastlane/lib/fastlane/action.rb
|
1018
1018
|
- fastlane/lib/fastlane/action_collector.rb
|
1019
|
-
- fastlane/lib/fastlane/actions/.
|
1020
|
-
- fastlane/lib/fastlane/actions/.slack.rb.swp
|
1021
|
-
- fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp
|
1019
|
+
- fastlane/lib/fastlane/actions/.push_to_git_remote.rb.swp
|
1022
1020
|
- fastlane/lib/fastlane/actions/README.md
|
1023
1021
|
- fastlane/lib/fastlane/actions/actions_helper.rb
|
1024
1022
|
- fastlane/lib/fastlane/actions/adb.rb
|
@@ -1352,7 +1350,6 @@ files:
|
|
1352
1350
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
|
1353
1351
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
|
1354
1352
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
|
1355
|
-
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate
|
1356
1353
|
- fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
|
1357
1354
|
- fastlane/swift/FastlaneSwiftRunner/README.txt
|
1358
1355
|
- fastlane/swift/Gymfile.swift
|
@@ -1439,6 +1436,7 @@ files:
|
|
1439
1436
|
- frameit/README.md
|
1440
1437
|
- frameit/lib/assets/empty.png
|
1441
1438
|
- frameit/lib/frameit.rb
|
1439
|
+
- frameit/lib/frameit/.screenshot.rb.swp
|
1442
1440
|
- frameit/lib/frameit/commands_generator.rb
|
1443
1441
|
- frameit/lib/frameit/config_parser.rb
|
1444
1442
|
- frameit/lib/frameit/dependency_checker.rb
|
@@ -1509,7 +1507,6 @@ files:
|
|
1509
1507
|
- pem/lib/pem/options.rb
|
1510
1508
|
- pilot/README.md
|
1511
1509
|
- pilot/lib/pilot.rb
|
1512
|
-
- pilot/lib/pilot/.manager.rb.swp
|
1513
1510
|
- pilot/lib/pilot/build_manager.rb
|
1514
1511
|
- pilot/lib/pilot/commands_generator.rb
|
1515
1512
|
- pilot/lib/pilot/features.rb
|
@@ -1590,7 +1587,6 @@ files:
|
|
1590
1587
|
- sigh/README.md
|
1591
1588
|
- sigh/lib/assets/resign.sh
|
1592
1589
|
- sigh/lib/sigh.rb
|
1593
|
-
- sigh/lib/sigh/.runner.rb.swp
|
1594
1590
|
- sigh/lib/sigh/commands_generator.rb
|
1595
1591
|
- sigh/lib/sigh/download_all.rb
|
1596
1592
|
- sigh/lib/sigh/local_manage.rb
|
@@ -1643,11 +1639,8 @@ files:
|
|
1643
1639
|
- spaceship/lib/spaceship/client.rb
|
1644
1640
|
- spaceship/lib/spaceship/commands_generator.rb
|
1645
1641
|
- spaceship/lib/spaceship/connect_api.rb
|
1646
|
-
- spaceship/lib/spaceship/connect_api/.DS_Store
|
1647
1642
|
- spaceship/lib/spaceship/connect_api/client.rb
|
1648
1643
|
- spaceship/lib/spaceship/connect_api/model.rb
|
1649
|
-
- spaceship/lib/spaceship/connect_api/models/.bundle_id.rb.swp
|
1650
|
-
- spaceship/lib/spaceship/connect_api/models/.bundle_id_capability.rb.swp
|
1651
1644
|
- spaceship/lib/spaceship/connect_api/models/app.rb
|
1652
1645
|
- spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb
|
1653
1646
|
- spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb
|
@@ -1688,6 +1681,7 @@ files:
|
|
1688
1681
|
- spaceship/lib/spaceship/launcher.rb
|
1689
1682
|
- spaceship/lib/spaceship/module.rb
|
1690
1683
|
- spaceship/lib/spaceship/playground.rb
|
1684
|
+
- spaceship/lib/spaceship/portal/.portal_client.rb.swp
|
1691
1685
|
- spaceship/lib/spaceship/portal/app.rb
|
1692
1686
|
- spaceship/lib/spaceship/portal/app_group.rb
|
1693
1687
|
- spaceship/lib/spaceship/portal/app_service.rb
|
@@ -1827,7 +1821,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1827
1821
|
- !ruby/object:Gem::Version
|
1828
1822
|
version: '0'
|
1829
1823
|
requirements: []
|
1830
|
-
rubygems_version: 3.0.
|
1824
|
+
rubygems_version: 3.0.6
|
1831
1825
|
signing_key:
|
1832
1826
|
specification_version: 4
|
1833
1827
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|