fastlane 2.212.2 → 2.213.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 698222da63360e54a4d41e791a7ab1b2ac9331b348ef8626831d61a7261872de
4
- data.tar.gz: c89309b1a27610bd6f51dfad0b471ac908bbec30e981edf7b56485e5f83738f4
3
+ metadata.gz: 4ac7eee0c8810536692c5ffca62c0f0924595f223d889affb732cb72f98e64be
4
+ data.tar.gz: 6d91512766cfd352f98cfa4fc905f366bd4c6eefe8ddf680ddddb1e222827120
5
5
  SHA512:
6
- metadata.gz: fc46b26354a94f87f630a434fcb0f8387f9d84661da4b01aa9ea72f565a97f864d6fb6f2124a7a9342ae91c3f3c59657452f99c255bf0c418ae5da33d821af32
7
- data.tar.gz: 7198cdb4e60bf1c3c5b495307306a2888be696dd924a0e63aae7d787bdbfa5b4468d8a7f661f8fc741b79740801efcc603b32f912d9940a35373ec7230da5bd3
6
+ metadata.gz: e7ebfc7fcd8d9883e053fe32e277a31aa70b98082532efdd310d7bd4b6e44976e4445e345c980f41b19baaa31ba6dcff626af80299393d97f83e45ff8f2c4558
7
+ data.tar.gz: eec9c6e744bced6eacc16bd85c2cf86cc2e5cb920e2c031add3a0d5690b9e6b675b68d5bcb89db5cef48ec1367b2d6e610ac83eb9271c98e08f6ad0ba80225d8
data/README.md CHANGED
@@ -35,17 +35,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='maksym-grebenets'>
39
- <a href='https://github.com/mgrebenets'>
40
- <img src='https://github.com/mgrebenets.png' width='140px;'>
38
+ <td id='daniel-jankowski'>
39
+ <a href='https://github.com/mollyIV'>
40
+ <img src='https://github.com/mollyIV.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
43
43
  </td>
44
- <td id='iulian-onofrei'>
45
- <a href='https://github.com/revolter'>
46
- <img src='https://github.com/revolter.png' width='140px;'>
44
+ <td id='jan-piotrowski'>
45
+ <a href='https://github.com/janpio'>
46
+ <img src='https://github.com/janpio.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
49
49
  </td>
50
50
  <td id='josh-holtz'>
51
51
  <a href='https://github.com/joshdholtz'>
@@ -53,37 +53,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
53
53
  </a>
54
54
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
55
55
  </td>
56
- <td id='max-ott'>
57
- <a href='https://github.com/max-ott'>
58
- <img src='https://github.com/max-ott.png' width='140px;'>
56
+ <td id='manu-wallner'>
57
+ <a href='https://github.com/milch'>
58
+ <img src='https://github.com/milch.png' width='140px;'>
59
59
  </a>
60
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
61
61
  </td>
62
- <td id='olivier-halligon'>
63
- <a href='https://github.com/AliSoftware'>
64
- <img src='https://github.com/AliSoftware.png' width='140px;'>
62
+ <td id='kohki-miki'>
63
+ <a href='https://github.com/giginet'>
64
+ <img src='https://github.com/giginet.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
70
- <td id='matthew-ellis'>
71
- <a href='https://github.com/matthewellis'>
72
- <img src='https://github.com/matthewellis.png' width='140px;'>
70
+ <td id='jérôme-lacoste'>
71
+ <a href='https://github.com/lacostej'>
72
+ <img src='https://github.com/lacostej.png' width='140px;'>
73
73
  </a>
74
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
75
75
  </td>
76
- <td id='helmut-januschka'>
77
- <a href='https://github.com/hjanuschka'>
78
- <img src='https://github.com/hjanuschka.png' width='140px;'>
76
+ <td id='olivier-halligon'>
77
+ <a href='https://github.com/AliSoftware'>
78
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
79
79
  </a>
80
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
81
81
  </td>
82
- <td id='luka-mirosevic'>
83
- <a href='https://github.com/lmirosevic'>
84
- <img src='https://github.com/lmirosevic.png' width='140px;'>
82
+ <td id='danielle-tomlinson'>
83
+ <a href='https://github.com/endocrimes'>
84
+ <img src='https://github.com/endocrimes.png' width='140px;'>
85
85
  </a>
86
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
86
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
87
87
  </td>
88
88
  <td id='roger-oba'>
89
89
  <a href='https://github.com/rogerluan'>
@@ -91,63 +91,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
91
91
  </a>
92
92
  <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
93
93
  </td>
94
- <td id='łukasz-grabowski'>
95
- <a href='https://github.com/lucgrabowski'>
96
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
94
+ <td id='luka-mirosevic'>
95
+ <a href='https://github.com/lmirosevic'>
96
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
97
97
  </a>
98
- <h4 align='center'>Łukasz Grabowski</h4>
98
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
99
99
  </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='jan-piotrowski'>
103
- <a href='https://github.com/janpio'>
104
- <img src='https://github.com/janpio.png' width='140px;'>
102
+ <td id='łukasz-grabowski'>
103
+ <a href='https://github.com/lucgrabowski'>
104
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
105
105
  </a>
106
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
106
+ <h4 align='center'>Łukasz Grabowski</h4>
107
107
  </td>
108
- <td id='kohki-miki'>
109
- <a href='https://github.com/giginet'>
110
- <img src='https://github.com/giginet.png' width='140px;'>
108
+ <td id='matthew-ellis'>
109
+ <a href='https://github.com/matthewellis'>
110
+ <img src='https://github.com/matthewellis.png' width='140px;'>
111
111
  </a>
112
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
113
113
  </td>
114
- <td id='aaron-brager'>
115
- <a href='https://github.com/getaaron'>
116
- <img src='https://github.com/getaaron.png' width='140px;'>
114
+ <td id='jimmy-dee'>
115
+ <a href='https://github.com/jdee'>
116
+ <img src='https://github.com/jdee.png' width='140px;'>
117
117
  </a>
118
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
118
+ <h4 align='center'>Jimmy Dee</h4>
119
119
  </td>
120
- <td id='daniel-jankowski'>
121
- <a href='https://github.com/mollyIV'>
122
- <img src='https://github.com/mollyIV.png' width='140px;'>
120
+ <td id='max-ott'>
121
+ <a href='https://github.com/max-ott'>
122
+ <img src='https://github.com/max-ott.png' width='140px;'>
123
123
  </a>
124
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
125
125
  </td>
126
- <td id='jorge-revuelta-h'>
127
- <a href='https://github.com/minuscorp'>
128
- <img src='https://github.com/minuscorp.png' width='140px;'>
126
+ <td id='iulian-onofrei'>
127
+ <a href='https://github.com/revolter'>
128
+ <img src='https://github.com/revolter.png' width='140px;'>
129
129
  </a>
130
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='danielle-tomlinson'>
135
- <a href='https://github.com/endocrimes'>
136
- <img src='https://github.com/endocrimes.png' width='140px;'>
134
+ <td id='joshua-liebowitz'>
135
+ <a href='https://github.com/taquitos'>
136
+ <img src='https://github.com/taquitos.png' width='140px;'>
137
137
  </a>
138
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
139
139
  </td>
140
- <td id='fumiya-nakamura'>
141
- <a href='https://github.com/nafu'>
142
- <img src='https://github.com/nafu.png' width='140px;'>
140
+ <td id='andrew-mcburney'>
141
+ <a href='https://github.com/armcburney'>
142
+ <img src='https://github.com/armcburney.png' width='140px;'>
143
143
  </a>
144
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
145
145
  </td>
146
- <td id='felix-krause'>
147
- <a href='https://github.com/KrauseFx'>
148
- <img src='https://github.com/KrauseFx.png' width='140px;'>
146
+ <td id='manish-rathi'>
147
+ <a href='https://github.com/crazymanish'>
148
+ <img src='https://github.com/crazymanish.png' width='140px;'>
149
149
  </a>
150
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
151
+ </td>
152
+ <td id='aaron-brager'>
153
+ <a href='https://github.com/getaaron'>
154
+ <img src='https://github.com/getaaron.png' width='140px;'>
155
+ </a>
156
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
151
157
  </td>
152
158
  <td id='satoshi-namai'>
153
159
  <a href='https://github.com/ainame'>
@@ -155,51 +161,45 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
155
161
  </a>
156
162
  <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
157
163
  </td>
158
- <td id='stefan-natchev'>
159
- <a href='https://github.com/snatchev'>
160
- <img src='https://github.com/snatchev.png' width='140px;'>
161
- </a>
162
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
163
- </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='jimmy-dee'>
167
- <a href='https://github.com/jdee'>
168
- <img src='https://github.com/jdee.png' width='140px;'>
166
+ <td id='fumiya-nakamura'>
167
+ <a href='https://github.com/nafu'>
168
+ <img src='https://github.com/nafu.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'>Jimmy Dee</h4>
170
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
171
171
  </td>
172
- <td id='manu-wallner'>
173
- <a href='https://github.com/milch'>
174
- <img src='https://github.com/milch.png' width='140px;'>
172
+ <td id='helmut-januschka'>
173
+ <a href='https://github.com/hjanuschka'>
174
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
177
177
  </td>
178
- <td id='jérôme-lacoste'>
179
- <a href='https://github.com/lacostej'>
180
- <img src='https://github.com/lacostej.png' width='140px;'>
178
+ <td id='jorge-revuelta-h'>
179
+ <a href='https://github.com/minuscorp'>
180
+ <img src='https://github.com/minuscorp.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
183
183
  </td>
184
- <td id='manish-rathi'>
185
- <a href='https://github.com/crazymanish'>
186
- <img src='https://github.com/crazymanish.png' width='140px;'>
184
+ <td id='stefan-natchev'>
185
+ <a href='https://github.com/snatchev'>
186
+ <img src='https://github.com/snatchev.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
189
189
  </td>
190
- <td id='joshua-liebowitz'>
191
- <a href='https://github.com/taquitos'>
192
- <img src='https://github.com/taquitos.png' width='140px;'>
190
+ <td id='felix-krause'>
191
+ <a href='https://github.com/KrauseFx'>
192
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='andrew-mcburney'>
199
- <a href='https://github.com/armcburney'>
200
- <img src='https://github.com/armcburney.png' width='140px;'>
198
+ <td id='maksym-grebenets'>
199
+ <a href='https://github.com/mgrebenets'>
200
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -7,12 +7,35 @@ module Fastlane
7
7
  # Raises an exception and stop the lane execution if the repo is not in a clean state
8
8
  class EnsureGitStatusCleanAction < Action
9
9
  def self.run(params)
10
+ # Build command
10
11
  if params[:ignored]
11
12
  ignored_mode = params[:ignored]
12
13
  ignored_mode = 'no' if ignored_mode == 'none'
13
- repo_status = Actions.sh("git status --porcelain --ignored='#{ignored_mode}'")
14
+ command = "git status --porcelain --ignored='#{ignored_mode}'"
14
15
  else
15
- repo_status = Actions.sh("git status --porcelain")
16
+ command = "git status --porcelain"
17
+ end
18
+
19
+ # Don't log if manually ignoring files as it will emulate output later
20
+ print_output = params[:ignore_files].nil?
21
+ repo_status = Actions.sh(command, log: print_output)
22
+
23
+ # Manual post processing trying to ignore certain file paths
24
+ if (ignore_files = params[:ignore_files])
25
+ repo_status = repo_status.lines.reject do |line|
26
+ path = line.split(' ').last
27
+ was_found = ignore_files.include?(path)
28
+
29
+ UI.message("Ignoring '#{path}'") if was_found
30
+
31
+ was_found
32
+ end.join("")
33
+
34
+ # Emulate the output format of `git status --porcelain`
35
+ UI.command(command)
36
+ repo_status.lines.each do |line|
37
+ UI.message("▸ " + line.chomp.magenta)
38
+ end
16
39
  end
17
40
 
18
41
  repo_clean = repo_status.empty?
@@ -86,7 +109,12 @@ module Fastlane
86
109
  modes = %w(traditional none matching)
87
110
 
88
111
  UI.user_error!("Unsupported mode, must be: #{modes}") unless modes.include?(mode)
89
- end)
112
+ end),
113
+ FastlaneCore::ConfigItem.new(key: :ignore_files,
114
+ env_name: "FL_ENSURE_GIT_STATUS_CLEAN_IGNORE_FILES",
115
+ description: "Array of files to ignore",
116
+ optional: true,
117
+ type: Array)
90
118
  ]
91
119
  end
92
120
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.212.2'.freeze
2
+ VERSION = '2.213.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '1.12.1'.freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -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.115]
267
+ // FastlaneRunnerAPIVersion [0.9.116]
@@ -4300,6 +4300,7 @@ public func ensureGitBranch(branch: String = "master") {
4300
4300
  - showUncommittedChanges: The flag whether to show uncommitted changes if the repo is dirty
4301
4301
  - showDiff: The flag whether to show the git diff if the repo is dirty
4302
4302
  - ignored: The handling mode of the ignored files. The available options are: `'traditional'`, `'none'` (default) and `'matching'`. Specifying `'none'` to this parameter is the same as not specifying the parameter at all, which means that no ignored file will be used to check if the repo is dirty or not. Specifying `'traditional'` or `'matching'` causes some ignored files to be used to check if the repo is dirty or not (more info in the official docs: https://git-scm.com/docs/git-status#Documentation/git-status.txt---ignoredltmodegt)
4303
+ - ignoreFiles: Array of files to ignore
4303
4304
 
4304
4305
  A sanity check to make sure you are working in a repo that is clean.
4305
4306
  Especially useful to put at the beginning of your Fastfile in the `before_all` block, if some of your other actions will touch your filesystem, do things to your git repo, or just as a general reminder to save your work.
@@ -4307,14 +4308,17 @@ public func ensureGitBranch(branch: String = "master") {
4307
4308
  */
4308
4309
  public func ensureGitStatusClean(showUncommittedChanges: OptionalConfigValue<Bool> = .fastlaneDefault(false),
4309
4310
  showDiff: OptionalConfigValue<Bool> = .fastlaneDefault(false),
4310
- ignored: OptionalConfigValue<String?> = .fastlaneDefault(nil))
4311
+ ignored: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4312
+ ignoreFiles: OptionalConfigValue<[String]?> = .fastlaneDefault(nil))
4311
4313
  {
4312
4314
  let showUncommittedChangesArg = showUncommittedChanges.asRubyArgument(name: "show_uncommitted_changes", type: nil)
4313
4315
  let showDiffArg = showDiff.asRubyArgument(name: "show_diff", type: nil)
4314
4316
  let ignoredArg = ignored.asRubyArgument(name: "ignored", type: nil)
4317
+ let ignoreFilesArg = ignoreFiles.asRubyArgument(name: "ignore_files", type: nil)
4315
4318
  let array: [RubyCommand.Argument?] = [showUncommittedChangesArg,
4316
4319
  showDiffArg,
4317
- ignoredArg]
4320
+ ignoredArg,
4321
+ ignoreFilesArg]
4318
4322
  let args: [RubyCommand.Argument] = array
4319
4323
  .filter { $0?.value != nil }
4320
4324
  .compactMap { $0 }
@@ -6676,6 +6680,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6676
6680
  - s3Bucket: Name of the S3 bucket
6677
6681
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
6678
6682
  - gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
6683
+ - gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
6679
6684
  - keychainName: Keychain the items should be imported to
6680
6685
  - 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
6681
6686
  - force: Renew the provisioning profiles every time you run match
@@ -6729,6 +6734,7 @@ public func match(type: String = matchfile.type,
6729
6734
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Bucket),
6730
6735
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3ObjectPrefix),
6731
6736
  gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.gitlabProject),
6737
+ gitlabHost: String = matchfile.gitlabHost,
6732
6738
  keychainName: String = matchfile.keychainName,
6733
6739
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.keychainPassword),
6734
6740
  force: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.force),
@@ -6780,6 +6786,7 @@ public func match(type: String = matchfile.type,
6780
6786
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
6781
6787
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
6782
6788
  let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
6789
+ let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
6783
6790
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
6784
6791
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
6785
6792
  let forceArg = force.asRubyArgument(name: "force", type: nil)
@@ -6830,6 +6837,7 @@ public func match(type: String = matchfile.type,
6830
6837
  s3BucketArg,
6831
6838
  s3ObjectPrefixArg,
6832
6839
  gitlabProjectArg,
6840
+ gitlabHostArg,
6833
6841
  keychainNameArg,
6834
6842
  keychainPasswordArg,
6835
6843
  forceArg,
@@ -6891,6 +6899,7 @@ public func match(type: String = matchfile.type,
6891
6899
  - s3Bucket: Name of the S3 bucket
6892
6900
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
6893
6901
  - gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
6902
+ - gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
6894
6903
  - keychainName: Keychain the items should be imported to
6895
6904
  - 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
6896
6905
  - force: Renew the provisioning profiles every time you run match
@@ -6948,6 +6957,7 @@ public func matchNuke(type: String = "development",
6948
6957
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6949
6958
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6950
6959
  gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6960
+ gitlabHost: String = "https://gitlab.com",
6951
6961
  keychainName: String = "login.keychain",
6952
6962
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6953
6963
  force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -6999,6 +7009,7 @@ public func matchNuke(type: String = "development",
6999
7009
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
7000
7010
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
7001
7011
  let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
7012
+ let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
7002
7013
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
7003
7014
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
7004
7015
  let forceArg = force.asRubyArgument(name: "force", type: nil)
@@ -7049,6 +7060,7 @@ public func matchNuke(type: String = "development",
7049
7060
  s3BucketArg,
7050
7061
  s3ObjectPrefixArg,
7051
7062
  gitlabProjectArg,
7063
+ gitlabHostArg,
7052
7064
  keychainNameArg,
7053
7065
  keychainPasswordArg,
7054
7066
  forceArg,
@@ -8704,6 +8716,7 @@ public func rubyVersion() {
8704
8716
  - slackOnlyOnFailure: Only post on Slack if the tests fail
8705
8717
  - slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
8706
8718
  - destination: Use only if you're a pro, use the other options instead
8719
+ - runRosettaSimulator: Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
8707
8720
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
8708
8721
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
8709
8722
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
@@ -8786,6 +8799,7 @@ public func rubyVersion() {
8786
8799
  slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8787
8800
  slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8788
8801
  destination: Any? = nil,
8802
+ runRosettaSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8789
8803
  catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8790
8804
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8791
8805
  xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
@@ -8864,6 +8878,7 @@ public func rubyVersion() {
8864
8878
  let slackOnlyOnFailureArg = slackOnlyOnFailure.asRubyArgument(name: "slack_only_on_failure", type: nil)
8865
8879
  let slackDefaultPayloadsArg = slackDefaultPayloads.asRubyArgument(name: "slack_default_payloads", type: nil)
8866
8880
  let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
8881
+ let runRosettaSimulatorArg = runRosettaSimulator.asRubyArgument(name: "run_rosetta_simulator", type: nil)
8867
8882
  let catalystPlatformArg = catalystPlatform.asRubyArgument(name: "catalyst_platform", type: nil)
8868
8883
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
8869
8884
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
@@ -8941,6 +8956,7 @@ public func rubyVersion() {
8941
8956
  slackOnlyOnFailureArg,
8942
8957
  slackDefaultPayloadsArg,
8943
8958
  destinationArg,
8959
+ runRosettaSimulatorArg,
8944
8960
  catalystPlatformArg,
8945
8961
  customReportFileNameArg,
8946
8962
  xcodebuildCommandArg,
@@ -9131,6 +9147,7 @@ public func say(text: [String],
9131
9147
  - slackOnlyOnFailure: Only post on Slack if the tests fail
9132
9148
  - slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
9133
9149
  - destination: Use only if you're a pro, use the other options instead
9150
+ - runRosettaSimulator: Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
9134
9151
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
9135
9152
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
9136
9153
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
@@ -9213,6 +9230,7 @@ public func say(text: [String],
9213
9230
  slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
9214
9231
  slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
9215
9232
  destination: Any? = scanfile.destination,
9233
+ runRosettaSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.runRosettaSimulator),
9216
9234
  catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
9217
9235
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9218
9236
  xcodebuildCommand: String = scanfile.xcodebuildCommand,
@@ -9291,6 +9309,7 @@ public func say(text: [String],
9291
9309
  let slackOnlyOnFailureArg = slackOnlyOnFailure.asRubyArgument(name: "slack_only_on_failure", type: nil)
9292
9310
  let slackDefaultPayloadsArg = slackDefaultPayloads.asRubyArgument(name: "slack_default_payloads", type: nil)
9293
9311
  let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
9312
+ let runRosettaSimulatorArg = runRosettaSimulator.asRubyArgument(name: "run_rosetta_simulator", type: nil)
9294
9313
  let catalystPlatformArg = catalystPlatform.asRubyArgument(name: "catalyst_platform", type: nil)
9295
9314
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
9296
9315
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
@@ -9368,6 +9387,7 @@ public func say(text: [String],
9368
9387
  slackOnlyOnFailureArg,
9369
9388
  slackDefaultPayloadsArg,
9370
9389
  destinationArg,
9390
+ runRosettaSimulatorArg,
9371
9391
  catalystPlatformArg,
9372
9392
  customReportFileNameArg,
9373
9393
  xcodebuildCommandArg,
@@ -11117,6 +11137,7 @@ public func swiftlint(mode: String = "lint",
11117
11137
  - s3Bucket: Name of the S3 bucket
11118
11138
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
11119
11139
  - gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
11140
+ - gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
11120
11141
  - keychainName: Keychain the items should be imported to
11121
11142
  - 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
11122
11143
  - force: Renew the provisioning profiles every time you run match
@@ -11170,6 +11191,7 @@ public func syncCodeSigning(type: String = "development",
11170
11191
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11171
11192
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11172
11193
  gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11194
+ gitlabHost: String = "https://gitlab.com",
11173
11195
  keychainName: String = "login.keychain",
11174
11196
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11175
11197
  force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -11221,6 +11243,7 @@ public func syncCodeSigning(type: String = "development",
11221
11243
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
11222
11244
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
11223
11245
  let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
11246
+ let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
11224
11247
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
11225
11248
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
11226
11249
  let forceArg = force.asRubyArgument(name: "force", type: nil)
@@ -11271,6 +11294,7 @@ public func syncCodeSigning(type: String = "development",
11271
11294
  s3BucketArg,
11272
11295
  s3ObjectPrefixArg,
11273
11296
  gitlabProjectArg,
11297
+ gitlabHostArg,
11274
11298
  keychainNameArg,
11275
11299
  keychainPasswordArg,
11276
11300
  forceArg,
@@ -13573,4 +13597,4 @@ public let snapshotfile: Snapshotfile = .init()
13573
13597
 
13574
13598
  // Please don't remove the lines below
13575
13599
  // They are used to detect outdated files
13576
- // FastlaneRunnerAPIVersion [0.9.168]
13600
+ // FastlaneRunnerAPIVersion [0.9.169]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -208,4 +208,4 @@ public extension GymfileProtocol {
208
208
 
209
209
  // Please don't remove the lines below
210
210
  // They are used to detect outdated files
211
- // FastlaneRunnerAPIVersion [0.9.118]
211
+ // FastlaneRunnerAPIVersion [0.9.119]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -95,6 +95,9 @@ public protocol MatchfileProtocol: AnyObject {
95
95
  /// GitLab Project Path (i.e. 'gitlab-org/gitlab')
96
96
  var gitlabProject: String? { get }
97
97
 
98
+ /// GitLab Host (i.e. 'https://gitlab.com')
99
+ var gitlabHost: String { get }
100
+
98
101
  /// Keychain the items should be imported to
99
102
  var keychainName: String { get }
100
103
 
@@ -185,6 +188,7 @@ public extension MatchfileProtocol {
185
188
  var s3Bucket: String? { return nil }
186
189
  var s3ObjectPrefix: String? { return nil }
187
190
  var gitlabProject: String? { return nil }
191
+ var gitlabHost: String { return "https://gitlab.com" }
188
192
  var keychainName: String { return "login.keychain" }
189
193
  var keychainPassword: String? { return nil }
190
194
  var force: Bool { return false }
@@ -208,4 +212,4 @@ public extension MatchfileProtocol {
208
212
 
209
213
  // Please don't remove the lines below
210
214
  // They are used to detect outdated files
211
- // FastlaneRunnerAPIVersion [0.9.112]
215
+ // FastlaneRunnerAPIVersion [0.9.113]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.111]
55
+ // FastlaneRunnerAPIVersion [0.9.112]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -206,6 +206,9 @@ public protocol ScanfileProtocol: AnyObject {
206
206
  /// Use only if you're a pro, use the other options instead
207
207
  var destination: String? { get }
208
208
 
209
+ /// Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
210
+ var runRosettaSimulator: Bool { get }
211
+
209
212
  /// Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
210
213
  var catalystPlatform: String? { get }
211
214
 
@@ -303,6 +306,7 @@ public extension ScanfileProtocol {
303
306
  var slackOnlyOnFailure: Bool { return false }
304
307
  var slackDefaultPayloads: [String]? { return nil }
305
308
  var destination: String? { return nil }
309
+ var runRosettaSimulator: Bool { return false }
306
310
  var catalystPlatform: String? { return nil }
307
311
  var customReportFileName: String? { return nil }
308
312
  var xcodebuildCommand: String { return "env NSUnbufferedIO=YES xcodebuild" }
@@ -316,4 +320,4 @@ public extension ScanfileProtocol {
316
320
 
317
321
  // Please don't remove the lines below
318
322
  // They are used to detect outdated files
319
- // FastlaneRunnerAPIVersion [0.9.123]
323
+ // FastlaneRunnerAPIVersion [0.9.124]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.113]
99
+ // FastlaneRunnerAPIVersion [0.9.114]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.212.2
20
+ // Generated with fastlane 2.213.0
@@ -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.107]
207
+ // FastlaneRunnerAPIVersion [0.9.108]
@@ -2,45 +2,45 @@
2
2
  "entries": {
3
3
  "brew": {
4
4
  "swiftformat": {
5
- "version": "0.51.6",
5
+ "version": "0.51.9",
6
6
  "bottle": {
7
7
  "rebuild": 0,
8
8
  "root_url": "https://ghcr.io/v2/homebrew/core",
9
9
  "files": {
10
10
  "arm64_ventura": {
11
11
  "cellar": ":any_skip_relocation",
12
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:71a684a6ccb9892d1382a6682a67db9b6c4e0db50f3e401aeaa4bd9bd2c17870",
13
- "sha256": "71a684a6ccb9892d1382a6682a67db9b6c4e0db50f3e401aeaa4bd9bd2c17870"
12
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:bbb01c5c7fcde4f8b17945c2c8386b099848c9cd4fda8bcfd032c2420d5d1b65",
13
+ "sha256": "bbb01c5c7fcde4f8b17945c2c8386b099848c9cd4fda8bcfd032c2420d5d1b65"
14
14
  },
15
15
  "arm64_monterey": {
16
16
  "cellar": ":any_skip_relocation",
17
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:c7308dba4ff65f6c4b1516ec8ac3c207d38e8b88fedcb29baccdf606748b9b04",
18
- "sha256": "c7308dba4ff65f6c4b1516ec8ac3c207d38e8b88fedcb29baccdf606748b9b04"
17
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:f04596d4567e86f46e0740ea3e9d1e2e19fa1cdf137a70287342b6ce937ddf8d",
18
+ "sha256": "f04596d4567e86f46e0740ea3e9d1e2e19fa1cdf137a70287342b6ce937ddf8d"
19
19
  },
20
20
  "arm64_big_sur": {
21
21
  "cellar": ":any_skip_relocation",
22
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:b80beeea8dfcce222aa998aae8431455644c607dca36ce9deaa23ba862239dfd",
23
- "sha256": "b80beeea8dfcce222aa998aae8431455644c607dca36ce9deaa23ba862239dfd"
22
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:d8b6f0f30662dd4c2e1eb64d614fe2765ad664e2ac10a346004f94ed6ed6cdf2",
23
+ "sha256": "d8b6f0f30662dd4c2e1eb64d614fe2765ad664e2ac10a346004f94ed6ed6cdf2"
24
24
  },
25
25
  "ventura": {
26
26
  "cellar": ":any_skip_relocation",
27
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:922f21c82c873425d7bd6064fc7b01c29a6fb9cc327ec0ac2aff6d65944f007c",
28
- "sha256": "922f21c82c873425d7bd6064fc7b01c29a6fb9cc327ec0ac2aff6d65944f007c"
27
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:dc2be8c829dc26595577f8b5daa071324f341c4f144cc46bf0a47520d44fc76e",
28
+ "sha256": "dc2be8c829dc26595577f8b5daa071324f341c4f144cc46bf0a47520d44fc76e"
29
29
  },
30
30
  "monterey": {
31
31
  "cellar": ":any_skip_relocation",
32
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:b0fa51fd3bff14854aea1c7be41dbecf4b11b229e8133eda6a61cc5b8364c1f3",
33
- "sha256": "b0fa51fd3bff14854aea1c7be41dbecf4b11b229e8133eda6a61cc5b8364c1f3"
32
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:a88b992a2316fa06dd13944c6bb16d00522de0cc21aae17ede07e65d700c6800",
33
+ "sha256": "a88b992a2316fa06dd13944c6bb16d00522de0cc21aae17ede07e65d700c6800"
34
34
  },
35
35
  "big_sur": {
36
36
  "cellar": ":any_skip_relocation",
37
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:a27afde79eed546acaf429a8489f9195d6633e21259d9269bab919d32e9b4223",
38
- "sha256": "a27afde79eed546acaf429a8489f9195d6633e21259d9269bab919d32e9b4223"
37
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:ba2cf56b5845bb33265a3e32737c5defa6e310987f785e1dfe6e7dc114a12555",
38
+ "sha256": "ba2cf56b5845bb33265a3e32737c5defa6e310987f785e1dfe6e7dc114a12555"
39
39
  },
40
40
  "x86_64_linux": {
41
41
  "cellar": "/home/linuxbrew/.linuxbrew/Cellar",
42
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:306d7ebf95846c3bccc426ee62915b73566ff3ea7e0fc859624c11b0dec817f2",
43
- "sha256": "306d7ebf95846c3bccc426ee62915b73566ff3ea7e0fc859624c11b0dec817f2"
42
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:d1f82ed96ee9f8f239e9396bff00a0feac937fe12840d05fb6d5c01fe9161f03",
43
+ "sha256": "d1f82ed96ee9f8f239e9396bff00a0feac937fe12840d05fb6d5c01fe9161f03"
44
44
  }
45
45
  }
46
46
  }
@@ -74,7 +74,7 @@
74
74
  "macOS": "12.5"
75
75
  },
76
76
  "ventura": {
77
- "HOMEBREW_VERSION": "4.0.13-42-gac0663a",
77
+ "HOMEBREW_VERSION": "4.0.18-59-gf7b3225",
78
78
  "HOMEBREW_PREFIX": "/opt/homebrew",
79
79
  "Homebrew/homebrew-core": "api",
80
80
  "CLT": "",
@@ -6,11 +6,6 @@ require_relative 'helper'
6
6
 
7
7
  # WWDR Intermediate Certificates in https://www.apple.com/certificateauthority/
8
8
  WWDRCA_CERTIFICATES = [
9
- {
10
- alias: 'G1',
11
- sha256: 'ce057691d730f89ca25e916f7335f4c8a15713dcd273a658c024023f8eb809c2',
12
- url: 'https://developer.apple.com/certificationauthority/AppleWWDRCA.cer'
13
- },
14
9
  {
15
10
  alias: 'G2',
16
11
  sha256: '9ed4b3b88c6a339cf1387895bda9ca6ea31a6b5ce9edf7511845923b0c8ac94c',
@@ -38,6 +38,7 @@ module Match
38
38
  s3_secret_access_key: params[:s3_secret_access_key],
39
39
  s3_object_prefix: params[:s3_object_prefix],
40
40
  gitlab_project: params[:gitlab_project],
41
+ gitlab_host: params[:gitlab_host],
41
42
  readonly: params[:readonly],
42
43
  username: params[:username],
43
44
  team_id: params[:team_id],
@@ -56,6 +56,7 @@ module Match
56
56
  s3_bucket: params[:s3_bucket].to_s,
57
57
  s3_object_prefix: params[:s3_object_prefix].to_s,
58
58
  gitlab_project: params[:gitlab_project],
59
+ gitlab_host: params[:gitlab_host],
59
60
  team_id: params[:team_id] || Spaceship::ConnectAPI.client.portal_team_id
60
61
  })
61
62
  self.storage.download
@@ -228,6 +228,11 @@ module Match
228
228
  env_name: "MATCH_GITLAB_PROJECT",
229
229
  description: "GitLab Project Path (i.e. 'gitlab-org/gitlab')",
230
230
  optional: true),
231
+ FastlaneCore::ConfigItem.new(key: :gitlab_host,
232
+ env_name: "MATCH_GITLAB_HOST",
233
+ default_value: 'https://gitlab.com',
234
+ description: "GitLab Host (i.e. 'https://gitlab.com')",
235
+ optional: true),
231
236
 
232
237
  # Keychain
233
238
  FastlaneCore::ConfigItem.new(key: :keychain_name,
@@ -55,6 +55,7 @@ module Match
55
55
  s3_bucket: params[:s3_bucket],
56
56
  s3_object_prefix: params[:s3_object_prefix],
57
57
  gitlab_project: params[:gitlab_project],
58
+ gitlab_host: params[:gitlab_host],
58
59
  readonly: params[:readonly],
59
60
  username: params[:readonly] ? nil : params[:username], # only pass username if not readonly
60
61
  team_id: params[:team_id],
@@ -22,9 +22,10 @@ module Match
22
22
  attr_reader :team_name
23
23
  attr_reader :api_key_path
24
24
  attr_reader :api_key
25
+ attr_reader :api_v4_url
25
26
 
26
27
  def self.configure(params)
27
- api_v4_url = params[:api_v4_url] || ENV['CI_API_V4_URL'] || 'https://gitlab.com/api/v4'
28
+ api_v4_url = ENV['CI_API_V4_URL'] || "#{params[:gitlab_host]}/api/v4"
28
29
  project_id = params[:gitlab_project] || ENV['GITLAB_PROJECT'] || ENV['CI_PROJECT_ID']
29
30
  job_token = params[:job_token] || ENV['CI_JOB_TOKEN']
30
31
  private_token = params[:private_token] || ENV['PRIVATE_TOKEN']
@@ -72,9 +73,9 @@ module Match
72
73
  @private_token = private_token
73
74
  @api_v4_url = api_v4_url
74
75
  @project_id = project_id
75
- @gitlab_client = GitLab::Client.new(job_token: job_token, private_token: private_token, project_id: project_id, api_v4_url: api_v4_url)
76
+ @gitlab_client = GitLab::Client.new(job_token: @job_token, private_token: @private_token, project_id: @project_id, api_v4_url: @api_v4_url)
76
77
 
77
- UI.message("Initializing match for GitLab project #{@project_id}")
78
+ UI.message("Initializing match for GitLab project #{@project_id} on #{@gitlab_host}")
78
79
  end
79
80
 
80
81
  # To make debugging easier, we have a custom exception here
@@ -174,8 +175,13 @@ module Match
174
175
  # that should be generated
175
176
  def generate_matchfile_content(template: nil)
176
177
  project = UI.input("What is your GitLab Project (i.e. gitlab-org/gitlab): ")
178
+ host = UI.input("What is your GitLab Host (i.e. https://gitlab.example.com, skip to default to https://gitlab.com): ")
177
179
 
178
- return "gitlab_project(\"#{project}\")"
180
+ content = "gitlab_project(\"#{project}\")"
181
+
182
+ content += "\ngitlab_host(\"#{host}\")" if host
183
+
184
+ return content
179
185
  end
180
186
  end
181
187
  end
@@ -157,7 +157,7 @@ module Pilot
157
157
  end
158
158
  end
159
159
  platform = Spaceship::ConnectAPI::Platform.map(fetch_app_platform)
160
- build ||= Spaceship::ConnectAPI::Build.all(app_id: app.id, version: app_version, build_number: build_number, sort: "-uploadedDate", platform: platform, limit: Spaceship::ConnectAPI::Platform.size).first
160
+ build ||= Spaceship::ConnectAPI::Build.all(app_id: app.id, version: app_version, build_number: build_number, sort: "-uploadedDate", platform: platform, limit: Spaceship::ConnectAPI::Platform::ALL.size).first
161
161
  end
162
162
 
163
163
  # Verify the build has all the includes that we need
@@ -226,7 +226,14 @@ module Scan
226
226
  if Scan.building_mac_catalyst_for_mac?
227
227
  Scan.config[:destination] = ["platform=macOS,variant=Mac Catalyst"]
228
228
  elsif Scan.devices && Scan.devices.count > 0
229
- Scan.config[:destination] = Scan.devices.map { |d| "platform=#{d.os_type} Simulator,id=#{d.udid}" }
229
+ # Explicitly run simulator in Rosetta (needed for Xcode 14.3 and up)
230
+ # Fixes https://github.com/fastlane/fastlane/issues/21194
231
+ arch = ""
232
+ if Scan.config[:run_rosetta_simulator]
233
+ arch = ",arch=x86_64"
234
+ end
235
+
236
+ Scan.config[:destination] = Scan.devices.map { |d| "platform=#{d.os_type} Simulator,id=#{d.udid}" + arch }
230
237
  elsif Scan.project && Scan.project.mac_app?
231
238
  Scan.config[:destination] = min_xcode8? ? ["platform=macOS"] : ["platform=OS X"]
232
239
  end
@@ -480,6 +480,11 @@ module Scan
480
480
  description: "Use only if you're a pro, use the other options instead",
481
481
  is_string: false,
482
482
  optional: true),
483
+ FastlaneCore::ConfigItem.new(key: :run_rosetta_simulator,
484
+ env_name: "SCAN_RUN_ROSETTA_SIMULATOR",
485
+ description: "Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode",
486
+ type: Boolean,
487
+ default_value: false),
483
488
  FastlaneCore::ConfigItem.new(key: :catalyst_platform,
484
489
  env_name: "SCAN_CATALYST_PLATFORM",
485
490
  description: "Platform to build when using a Catalyst enabled app. Valid values are: ios, macos",
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.212.2
4
+ version: 2.213.0
5
5
  platform: ruby
6
6
  authors:
7
- - Maksym Grebenets
7
+ - Danielle Tomlinson
8
8
  - Josh Holtz
9
- - Helmut Januschka
10
- - Manu Wallner
11
- - Jimmy Dee
12
- - Jérôme Lacoste
13
- - Andrew McBurney
14
- - Jorge Revuelta H
15
- - Fumiya Nakamura
16
9
  - Olivier Halligon
17
- - Matthew Ellis
18
- - Aaron Brager
19
10
  - Satoshi Namai
20
- - Łukasz Grabowski
21
- - Joshua Liebowitz
22
- - Felix Krause
23
- - Jan Piotrowski
24
- - Manish Rathi
25
- - Kohki Miki
11
+ - Helmut Januschka
26
12
  - Max Ott
13
+ - Felix Krause
27
14
  - Daniel Jankowski
28
- - Stefan Natchev
15
+ - Joshua Liebowitz
16
+ - Fumiya Nakamura
17
+ - Aaron Brager
18
+ - Kohki Miki
29
19
  - Luka Mirosevic
30
- - Danielle Tomlinson
20
+ - Matthew Ellis
31
21
  - Roger Oba
22
+ - Stefan Natchev
32
23
  - Iulian Onofrei
24
+ - Maksym Grebenets
25
+ - Jan Piotrowski
26
+ - Jérôme Lacoste
27
+ - Manish Rathi
28
+ - Łukasz Grabowski
29
+ - Manu Wallner
30
+ - Andrew McBurney
31
+ - Jimmy Dee
32
+ - Jorge Revuelta H
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2023-04-16 00:00:00.000000000 Z
36
+ date: 2023-05-24 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: xcodeproj
@@ -173,16 +173,22 @@ dependencies:
173
173
  name: multipart-post
174
174
  requirement: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - ">="
177
177
  - !ruby/object:Gem::Version
178
178
  version: 2.0.0
179
+ - - "<"
180
+ - !ruby/object:Gem::Version
181
+ version: 3.0.0
179
182
  type: :runtime
180
183
  prerelease: false
181
184
  version_requirements: !ruby/object:Gem::Requirement
182
185
  requirements:
183
- - - "~>"
186
+ - - ">="
184
187
  - !ruby/object:Gem::Version
185
188
  version: 2.0.0
189
+ - - "<"
190
+ - !ruby/object:Gem::Version
191
+ version: 3.0.0
186
192
  - !ruby/object:Gem::Dependency
187
193
  name: word_wrap
188
194
  requirement: !ruby/object:Gem::Requirement