fastlane 2.138.0 → 2.139.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +66 -66
- data/deliver/lib/deliver/submit_for_review.rb +7 -1
- data/fastlane/lib/fastlane/action.rb +1 -1
- data/fastlane/lib/fastlane/actions/create_pull_request.rb +42 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +10 -0
- data/fastlane/lib/fastlane/actions/last_git_tag.rb +14 -5
- data/fastlane/lib/fastlane/actions/setup_ci.rb +14 -8
- data/fastlane/lib/fastlane/actions/upload_to_play_store_internal_app_sharing.rb +78 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +64 -10
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +5 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +6 -2
- data/fastlane_core/lib/fastlane_core/device_manager.rb +20 -0
- data/fastlane_core/lib/fastlane_core/helper.rb +7 -1
- data/frameit/lib/frameit/editor.rb +3 -0
- data/gym/lib/gym/.runner.rb.swp +0 -0
- data/gym/lib/gym/generators/build_command_generator.rb +1 -0
- data/gym/lib/gym/runner.rb +8 -3
- data/pilot/lib/pilot/build_manager.rb +31 -6
- data/pilot/lib/pilot/options.rb +3 -1
- data/scan/lib/scan/options.rb +5 -0
- data/scan/lib/scan/runner.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +5 -0
- data/supply/lib/supply/client.rb +26 -0
- data/supply/lib/supply/uploader.rb +28 -0
- metadata +22 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6343d2b679ea90f71fecb7ec7370099d26928e9faad24ada6f90e26981355917
|
4
|
+
data.tar.gz: 5b639baeaefd235be5b426d846686d75642a2976d06b82079b430c6e797f6d09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3eb845566c5e3be2587016bf243de91fd0df7b6dca844146c75b593b4cfec3d15dd852c5308ace7077d27cb43319e5392f9341b6fc8f76d008954b3f74dcc04c
|
7
|
+
data.tar.gz: 7d90e46a1c4b96851c53a496e1aeabf08235d24b031d8bc9d7cb14c187680e088a1bd93f6b096025123797ca3843b02a55f56ae560d5f17ce460fb3b8ad588f3
|
data/README.md
CHANGED
@@ -34,49 +34,43 @@ 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='jérôme-lacoste'>
|
38
|
-
<a href='https://github.com/lacostej'>
|
39
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
40
|
-
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
42
|
-
</td>
|
43
37
|
<td id='olivier-halligon'>
|
44
38
|
<a href='https://github.com/AliSoftware'>
|
45
39
|
<img src='https://github.com/AliSoftware.png?size=140'>
|
46
40
|
</a>
|
47
41
|
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
48
42
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<img src='https://github.com/
|
43
|
+
<td id='manu-wallner'>
|
44
|
+
<a href='https://github.com/milch'>
|
45
|
+
<img src='https://github.com/milch.png?size=140'>
|
52
46
|
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
47
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
54
48
|
</td>
|
55
|
-
<td id='
|
56
|
-
<a href='https://github.com/
|
57
|
-
<img src='https://github.com/
|
49
|
+
<td id='josh-holtz'>
|
50
|
+
<a href='https://github.com/joshdholtz'>
|
51
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
58
52
|
</a>
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
53
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
60
54
|
</td>
|
61
|
-
<td id='
|
62
|
-
<a href='https://github.com/
|
63
|
-
<img src='https://github.com/
|
55
|
+
<td id='helmut-januschka'>
|
56
|
+
<a href='https://github.com/hjanuschka'>
|
57
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
64
58
|
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
59
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
66
60
|
</td>
|
67
|
-
</tr>
|
68
|
-
<tr>
|
69
61
|
<td id='jorge-revuelta-h'>
|
70
62
|
<a href='https://github.com/minuscorp'>
|
71
63
|
<img src='https://github.com/minuscorp.png?size=140'>
|
72
64
|
</a>
|
73
65
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
74
66
|
</td>
|
75
|
-
|
76
|
-
<
|
77
|
-
<
|
67
|
+
</tr>
|
68
|
+
<tr>
|
69
|
+
<td id='iulian-onofrei'>
|
70
|
+
<a href='https://github.com/revolter'>
|
71
|
+
<img src='https://github.com/revolter.png?size=140'>
|
78
72
|
</a>
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
80
74
|
</td>
|
81
75
|
<td id='jimmy-dee'>
|
82
76
|
<a href='https://github.com/jdee'>
|
@@ -84,31 +78,63 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
84
78
|
</a>
|
85
79
|
<h4 align='center'>Jimmy Dee</h4>
|
86
80
|
</td>
|
81
|
+
<td id='jérôme-lacoste'>
|
82
|
+
<a href='https://github.com/lacostej'>
|
83
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
84
|
+
</a>
|
85
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
86
|
+
</td>
|
87
87
|
<td id='matthew-ellis'>
|
88
88
|
<a href='https://github.com/matthewellis'>
|
89
89
|
<img src='https://github.com/matthewellis.png?size=140'>
|
90
90
|
</a>
|
91
91
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
92
92
|
</td>
|
93
|
-
<td id='josh-holtz'>
|
94
|
-
<a href='https://github.com/joshdholtz'>
|
95
|
-
<img src='https://github.com/joshdholtz.png?size=140'>
|
96
|
-
</a>
|
97
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
98
|
-
</td>
|
99
|
-
</tr>
|
100
|
-
<tr>
|
101
93
|
<td id='joshua-liebowitz'>
|
102
94
|
<a href='https://github.com/taquitos'>
|
103
95
|
<img src='https://github.com/taquitos.png?size=140'>
|
104
96
|
</a>
|
105
97
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
106
98
|
</td>
|
107
|
-
|
108
|
-
<
|
109
|
-
<
|
99
|
+
</tr>
|
100
|
+
<tr>
|
101
|
+
<td id='maksym-grebenets'>
|
102
|
+
<a href='https://github.com/mgrebenets'>
|
103
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
110
104
|
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/
|
105
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
106
|
+
</td>
|
107
|
+
<td id='felix-krause'>
|
108
|
+
<a href='https://github.com/KrauseFx'>
|
109
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
110
|
+
</a>
|
111
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
112
|
+
</td>
|
113
|
+
<td id='jan-piotrowski'>
|
114
|
+
<a href='https://github.com/janpio'>
|
115
|
+
<img src='https://github.com/janpio.png?size=140'>
|
116
|
+
</a>
|
117
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
118
|
+
</td>
|
119
|
+
<td id='kohki-miki'>
|
120
|
+
<a href='https://github.com/giginet'>
|
121
|
+
<img src='https://github.com/giginet.png?size=140'>
|
122
|
+
</a>
|
123
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
124
|
+
</td>
|
125
|
+
<td id='stefan-natchev'>
|
126
|
+
<a href='https://github.com/snatchev'>
|
127
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
128
|
+
</a>
|
129
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
130
|
+
</td>
|
131
|
+
</tr>
|
132
|
+
<tr>
|
133
|
+
<td id='fumiya-nakamura'>
|
134
|
+
<a href='https://github.com/nafu'>
|
135
|
+
<img src='https://github.com/nafu.png?size=140'>
|
136
|
+
</a>
|
137
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
112
138
|
</td>
|
113
139
|
<td id='danielle-tomlinson'>
|
114
140
|
<a href='https://github.com/endocrimes'>
|
@@ -116,49 +142,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
116
142
|
</a>
|
117
143
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
118
144
|
</td>
|
119
|
-
<td id='manu-wallner'>
|
120
|
-
<a href='https://github.com/milch'>
|
121
|
-
<img src='https://github.com/milch.png?size=140'>
|
122
|
-
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
124
|
-
</td>
|
125
145
|
<td id='aaron-brager'>
|
126
146
|
<a href='https://github.com/getaaron'>
|
127
147
|
<img src='https://github.com/getaaron.png?size=140'>
|
128
148
|
</a>
|
129
149
|
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
130
150
|
</td>
|
131
|
-
</tr>
|
132
|
-
<tr>
|
133
|
-
<td id='maksym-grebenets'>
|
134
|
-
<a href='https://github.com/mgrebenets'>
|
135
|
-
<img src='https://github.com/mgrebenets.png?size=140'>
|
136
|
-
</a>
|
137
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
138
|
-
</td>
|
139
151
|
<td id='luka-mirosevic'>
|
140
152
|
<a href='https://github.com/lmirosevic'>
|
141
153
|
<img src='https://github.com/lmirosevic.png?size=140'>
|
142
154
|
</a>
|
143
155
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
144
156
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
148
|
-
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
150
|
-
</td>
|
151
|
-
<td id='kohki-miki'>
|
152
|
-
<a href='https://github.com/giginet'>
|
153
|
-
<img src='https://github.com/giginet.png?size=140'>
|
154
|
-
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
156
|
-
</td>
|
157
|
-
<td id='felix-krause'>
|
158
|
-
<a href='https://github.com/KrauseFx'>
|
159
|
-
<img src='https://github.com/KrauseFx.png?size=140'>
|
157
|
+
<td id='andrew-mcburney'>
|
158
|
+
<a href='https://github.com/armcburney'>
|
159
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
160
160
|
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
161
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
162
162
|
</td>
|
163
163
|
</tr>
|
164
164
|
</table>
|
@@ -58,11 +58,17 @@ module Deliver
|
|
58
58
|
start = Time.now
|
59
59
|
build = nil
|
60
60
|
|
61
|
+
use_latest_version = app_version.nil?
|
62
|
+
|
61
63
|
loop do
|
62
64
|
# Sometimes candidate_builds don't appear immediately after submission
|
63
65
|
# Wait for candidate_builds to appear on App Store Connect
|
64
66
|
# Issue https://github.com/fastlane/fastlane/issues/10411
|
65
|
-
|
67
|
+
if use_latest_version
|
68
|
+
candidate_builds = app.latest_version.candidate_builds
|
69
|
+
else
|
70
|
+
candidate_builds = app.tunes_all_builds_for_train(train: app_version)
|
71
|
+
end
|
66
72
|
if (candidate_builds || []).count == 0
|
67
73
|
UI.message("Waiting for candidate builds to appear...")
|
68
74
|
if (Time.now - start) > (60 * 5)
|
@@ -121,7 +121,7 @@ module Fastlane
|
|
121
121
|
|
122
122
|
# instead of "AddGitAction", this will return "add_git" to print it to the user
|
123
123
|
def self.action_name
|
124
|
-
self.name.split('::').last.gsub(
|
124
|
+
self.name.split('::').last.gsub(/Action$/, '').fastlane_underscore
|
125
125
|
end
|
126
126
|
|
127
127
|
def self.lane_context
|
@@ -2,6 +2,7 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
module SharedValues
|
4
4
|
CREATE_PULL_REQUEST_HTML_URL = :CREATE_PULL_REQUEST_HTML_URL
|
5
|
+
CREATE_PULL_REQUEST_NUMBER = :CREATE_PULL_REQUEST_NUMBER
|
5
6
|
end
|
6
7
|
|
7
8
|
class CreatePullRequestAction < Action
|
@@ -39,7 +40,11 @@ module Fastlane
|
|
39
40
|
# Add assignees to pull request
|
40
41
|
add_assignees(params, number) if params[:assignees]
|
41
42
|
|
43
|
+
# Add reviewers to pull request
|
44
|
+
add_reviewers(params, number) if params[:reviewers] || params[:team_reviewers]
|
45
|
+
|
42
46
|
Actions.lane_context[SharedValues::CREATE_PULL_REQUEST_HTML_URL] = html_url
|
47
|
+
Actions.lane_context[SharedValues::CREATE_PULL_REQUEST_NUMBER] = number
|
43
48
|
return html_url
|
44
49
|
end
|
45
50
|
end
|
@@ -82,6 +87,30 @@ module Fastlane
|
|
82
87
|
)
|
83
88
|
end
|
84
89
|
|
90
|
+
def self.add_reviewers(params, number)
|
91
|
+
payload = {}
|
92
|
+
if params[:reviewers]
|
93
|
+
payload["reviewers"] = params[:reviewers]
|
94
|
+
end
|
95
|
+
|
96
|
+
if params[:team_reviewers]
|
97
|
+
payload["team_reviewers"] = params[:team_reviewers]
|
98
|
+
end
|
99
|
+
GithubApiAction.run(
|
100
|
+
server_url: params[:api_url],
|
101
|
+
api_token: params[:api_token],
|
102
|
+
http_method: 'POST',
|
103
|
+
path: "repos/#{params[:repo]}/pulls/#{number}/requested_reviewers",
|
104
|
+
body: payload,
|
105
|
+
error_handlers: {
|
106
|
+
'*' => proc do |result|
|
107
|
+
UI.error("GitHub responded with #{result[:status]}: #{result[:body]}")
|
108
|
+
return nil
|
109
|
+
end
|
110
|
+
}
|
111
|
+
)
|
112
|
+
end
|
113
|
+
|
85
114
|
#####################################################
|
86
115
|
# @!group Documentation
|
87
116
|
#####################################################
|
@@ -92,7 +121,8 @@ module Fastlane
|
|
92
121
|
|
93
122
|
def self.output
|
94
123
|
[
|
95
|
-
['CREATE_PULL_REQUEST_HTML_URL', 'The HTML URL to the created pull request']
|
124
|
+
['CREATE_PULL_REQUEST_HTML_URL', 'The HTML URL to the created pull request'],
|
125
|
+
['CREATE_PULL_REQUEST_NUMBER', 'The identifier number of the created pull request']
|
96
126
|
]
|
97
127
|
end
|
98
128
|
|
@@ -152,12 +182,22 @@ module Fastlane
|
|
152
182
|
env_name: "GITHUB_PULL_REQUEST_ASSIGNEES",
|
153
183
|
description: "The assignees for the pull request",
|
154
184
|
type: Array,
|
185
|
+
optional: true),
|
186
|
+
FastlaneCore::ConfigItem.new(key: :reviewers,
|
187
|
+
env_name: "GITHUB_PULL_REQUEST_REVIEWERS",
|
188
|
+
description: "The reviewers (slug) for the pull request",
|
189
|
+
type: Array,
|
190
|
+
optional: true),
|
191
|
+
FastlaneCore::ConfigItem.new(key: :team_reviewers,
|
192
|
+
env_name: "GITHUB_PULL_REQUEST_TEAM_REVIEWERS",
|
193
|
+
description: "The team reviewers (slug) for the pull request",
|
194
|
+
type: Array,
|
155
195
|
optional: true)
|
156
196
|
]
|
157
197
|
end
|
158
198
|
|
159
199
|
def self.author
|
160
|
-
["seei", "tommeier", "marumemomo"]
|
200
|
+
["seei", "tommeier", "marumemomo", "elneruda"]
|
161
201
|
end
|
162
202
|
|
163
203
|
def self.is_supported?(platform)
|
@@ -706,6 +706,16 @@ DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" fastlane deliver
|
|
706
706
|
## HTTP Proxy
|
707
707
|
iTunes Transporter is a Java application bundled with Xcode. In addition to utilizing the `DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV"`, you need to configure the transporter application to use the proxy independently from the system proxy or any environment proxy settings. You can find the configuration file within Xcode:
|
708
708
|
|
709
|
+
**for Xcode11 and later**
|
710
|
+
|
711
|
+
```no-highlight
|
712
|
+
TOOLS_PATH=$( xcode-select -p )
|
713
|
+
REL_PATH='../SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/java/lib/net.properties'
|
714
|
+
echo "$TOOLS_PATH/$REL_PATH"
|
715
|
+
```
|
716
|
+
|
717
|
+
**for Xcode10 or earlier**
|
718
|
+
|
709
719
|
```no-highlight
|
710
720
|
TOOLS_PATH=$( xcode-select -p )
|
711
721
|
REL_PATH='../Applications/Application Loader.app/Contents/itms/java/lib/net.properties'
|
@@ -2,7 +2,7 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class LastGitTagAction < Action
|
4
4
|
def self.run(params)
|
5
|
-
Actions.last_git_tag_name
|
5
|
+
Actions.last_git_tag_name(true, params[:pattern])
|
6
6
|
end
|
7
7
|
|
8
8
|
#####################################################
|
@@ -14,7 +14,12 @@ module Fastlane
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.available_options
|
17
|
-
[
|
17
|
+
[
|
18
|
+
FastlaneCore::ConfigItem.new(key: :pattern,
|
19
|
+
description: "Pattern to filter tags when looking for last one. Limit tags to ones matching given shell glob. If pattern lacks ?, *, or [, * at the end is implied",
|
20
|
+
default_value: nil,
|
21
|
+
optional: true)
|
22
|
+
]
|
18
23
|
end
|
19
24
|
|
20
25
|
def self.output
|
@@ -26,7 +31,7 @@ module Fastlane
|
|
26
31
|
end
|
27
32
|
|
28
33
|
def self.authors
|
29
|
-
["KrauseFx"]
|
34
|
+
["KrauseFx", "wedkarz"]
|
30
35
|
end
|
31
36
|
|
32
37
|
def self.is_supported?(platform)
|
@@ -34,12 +39,16 @@ module Fastlane
|
|
34
39
|
end
|
35
40
|
|
36
41
|
def self.details
|
37
|
-
|
42
|
+
[
|
43
|
+
"If you are using this action on a **shallow clone**, *the default with some CI systems like Bamboo*, you need to ensure that you have also pulled all the git tags appropriately. Assuming your git repo has the correct remote set you can issue `sh('git fetch --tags')`.",
|
44
|
+
"Pattern parameter allows you to filter to a subset of tags."
|
45
|
+
].join("\n")
|
38
46
|
end
|
39
47
|
|
40
48
|
def self.example_code
|
41
49
|
[
|
42
|
-
'last_git_tag'
|
50
|
+
'last_git_tag',
|
51
|
+
'last_git_tag(pattern: "release/v1.0/")'
|
43
52
|
]
|
44
53
|
end
|
45
54
|
|
@@ -7,19 +7,22 @@ module Fastlane
|
|
7
7
|
return
|
8
8
|
end
|
9
9
|
|
10
|
-
case params
|
11
|
-
when 'travis'
|
12
|
-
setup_keychain
|
10
|
+
case detect_provider(params)
|
13
11
|
when 'circleci'
|
14
|
-
setup_keychain
|
15
12
|
setup_output_paths
|
16
13
|
end
|
14
|
+
|
15
|
+
setup_keychain
|
17
16
|
end
|
18
17
|
|
19
18
|
def self.should_run?(params)
|
20
19
|
Helper.ci? || params[:force]
|
21
20
|
end
|
22
21
|
|
22
|
+
def self.detect_provider(params)
|
23
|
+
params[:provider] || (Helper.is_circle_ci? ? 'circleci' : nil)
|
24
|
+
end
|
25
|
+
|
23
26
|
def self.setup_keychain
|
24
27
|
unless ENV["MATCH_KEYCHAIN_NAME"].nil?
|
25
28
|
UI.message("Skipping Keychain setup as a keychain was already specified")
|
@@ -37,7 +40,8 @@ module Fastlane
|
|
37
40
|
unlock: true,
|
38
41
|
timeout: 3600,
|
39
42
|
lock_when_sleeps: true,
|
40
|
-
password: ""
|
43
|
+
password: "",
|
44
|
+
add_to_search_list: true
|
41
45
|
)
|
42
46
|
|
43
47
|
UI.message("Enabling match readonly mode.")
|
@@ -87,18 +91,20 @@ module Fastlane
|
|
87
91
|
default_value: false),
|
88
92
|
FastlaneCore::ConfigItem.new(key: :provider,
|
89
93
|
env_name: "FL_SETUP_CI_PROVIDER",
|
90
|
-
description: "CI provider",
|
94
|
+
description: "CI provider. If none is set, the provider is detected automatically",
|
91
95
|
is_string: true,
|
92
96
|
default_value: false,
|
93
97
|
verify_block: proc do |value|
|
94
98
|
value = value.to_s
|
99
|
+
# Validate both 'travis' and 'circleci' for backwards compatibility, even
|
100
|
+
# though only the latter receives special treatment by this action
|
95
101
|
UI.user_error!("A given CI provider '#{value}' is not supported. Available CI providers: 'travis', 'circleci'") unless ["travis", "circleci"].include?(value)
|
96
102
|
end)
|
97
103
|
]
|
98
104
|
end
|
99
105
|
|
100
106
|
def self.authors
|
101
|
-
["mollyIV"]
|
107
|
+
["mollyIV", "svenmuennich"]
|
102
108
|
end
|
103
109
|
|
104
110
|
def self.is_supported?(platform)
|
@@ -108,7 +114,7 @@ module Fastlane
|
|
108
114
|
def self.example_code
|
109
115
|
[
|
110
116
|
'setup_ci(
|
111
|
-
provider: "
|
117
|
+
provider: "circleci"
|
112
118
|
)'
|
113
119
|
]
|
114
120
|
end
|