Skip to content

Commit 11d4f1c

Browse files
committed
add: fastlane swiftlint
1 parent 7b2cc57 commit 11d4f1c

5 files changed

Lines changed: 91 additions & 48 deletions

File tree

.github/workflows/swift.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,21 @@ jobs:
2222
- name: Select Xcode
2323
uses: maxim-lobanov/setup-xcode@v1
2424
with:
25-
xcode-version: latest-stable
25+
xcode-version: 26.3
2626

2727
- name: Setup Ruby
2828
uses: ruby/setup-ruby@v1
2929
with:
3030
ruby-version: '3.2'
3131
bundler-cache: true
3232

33-
- name: Run Fastlane Test check
33+
- name: Ensure SwiftLint
34+
run: |
35+
if ! command -v swiftlint &> /dev/null; then
36+
brew install swiftlint
37+
fi
38+
39+
- name: Run Tests (Includes Lint)
3440
run: bundle exec fastlane run_tests
3541
env:
3642
LANG: en_US.UTF-8

.swiftlint.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
disabled_rules:
2+
- trailing_whitespace
3+
- line_length
4+
- force_cast
5+
- force_try
6+
- type_body_length
7+
opt_in_rules:
8+
- empty_count
9+
- vertical_whitespace
10+
included:
11+
- VideoEditor
12+
- VideoEditorTests
13+
excluded:
14+
- Pods
15+
- Carthage
16+
- fastlane/
17+
- vendor/
18+
- .build/
19+
- DerivedData/

Gemfile.lock

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,29 @@ GEM
77
public_suffix (>= 2.0.2, < 8.0)
88
artifactory (3.0.17)
99
atomos (0.1.3)
10-
aws-eventstream (1.3.2)
11-
aws-partitions (1.1109.0)
12-
aws-sdk-core (3.224.1)
10+
aws-eventstream (1.4.0)
11+
aws-partitions (1.1240.0)
12+
aws-sdk-core (3.245.0)
1313
aws-eventstream (~> 1, >= 1.3.0)
1414
aws-partitions (~> 1, >= 1.992.0)
1515
aws-sigv4 (~> 1.9)
1616
base64
17+
bigdecimal
1718
jmespath (~> 1, >= 1.6.1)
1819
logger
19-
aws-sdk-kms (1.101.0)
20-
aws-sdk-core (~> 3, >= 3.216.0)
20+
aws-sdk-kms (1.123.0)
21+
aws-sdk-core (~> 3, >= 3.244.0)
2122
aws-sigv4 (~> 1.5)
22-
aws-sdk-s3 (1.188.0)
23-
aws-sdk-core (~> 3, >= 3.224.1)
23+
aws-sdk-s3 (1.219.0)
24+
aws-sdk-core (~> 3, >= 3.244.0)
2425
aws-sdk-kms (~> 1)
2526
aws-sigv4 (~> 1.5)
26-
aws-sigv4 (1.11.0)
27+
aws-sigv4 (1.12.1)
2728
aws-eventstream (~> 1, >= 1.0.2)
2829
babosa (1.0.4)
2930
base64 (0.2.0)
31+
benchmark (0.5.0)
32+
bigdecimal (4.1.2)
3033
claide (1.1.0)
3134
colored (1.2)
3235
colored2 (3.1.2)
@@ -36,11 +39,10 @@ GEM
3639
declarative (0.0.20)
3740
digest-crc (0.7.0)
3841
rake (>= 12.0.0, < 14.0.0)
39-
domain_name (0.5.20190701)
40-
unf (>= 0.0.5, < 1.0.0)
42+
domain_name (0.6.20240107)
4143
dotenv (2.8.1)
4244
emoji_regex (3.2.3)
43-
excon (0.109.0)
45+
excon (0.112.0)
4446
faraday (1.10.5)
4547
faraday-em_http (~> 1.0)
4648
faraday-em_synchrony (~> 1.0)
@@ -70,15 +72,16 @@ GEM
7072
faraday_middleware (1.2.1)
7173
faraday (~> 1.0)
7274
fastimage (2.4.1)
73-
fastlane (2.230.0)
75+
fastlane (2.233.0)
7476
CFPropertyList (>= 2.3, < 4.0.0)
7577
abbrev (~> 0.1.2)
7678
addressable (>= 2.8, < 3.0.0)
7779
artifactory (~> 3.0)
78-
aws-sdk-s3 (~> 1.0)
80+
aws-sdk-s3 (~> 1.197)
7981
babosa (>= 1.0.3, < 2.0.0)
8082
base64 (~> 0.2.0)
81-
bundler (>= 1.12.0, < 3.0.0)
83+
benchmark (>= 0.1.0)
84+
bundler (>= 1.17.3, < 5.0.0)
8285
colored (~> 1.2)
8386
commander (~> 4.6)
8487
csv (~> 3.3)
@@ -89,11 +92,11 @@ GEM
8992
faraday-cookie_jar (~> 0.0.6)
9093
faraday_middleware (~> 1.0)
9194
fastimage (>= 2.1.0, < 3.0.0)
92-
fastlane-sirp (>= 1.0.0)
95+
fastlane-sirp (>= 1.1.0)
9396
gh_inspector (>= 1.1.2, < 2.0.0)
9497
google-apis-androidpublisher_v3 (~> 0.3)
9598
google-apis-playcustomapp_v1 (~> 0.1)
96-
google-cloud-env (>= 1.6.0, < 2.0.0)
99+
google-cloud-env (>= 1.6.0, <= 2.1.1)
97100
google-cloud-storage (~> 1.31)
98101
highline (~> 2.0)
99102
http-cookie (~> 1.0.5)
@@ -106,6 +109,7 @@ GEM
106109
naturally (~> 2.2)
107110
nkf (~> 0.2.0)
108111
optparse (>= 0.1.1, < 1.0.0)
112+
ostruct (>= 0.1.0)
109113
plist (>= 3.1.0, < 4.0.0)
110114
rubyzip (>= 2.0.0, < 3.0.0)
111115
security (= 0.1.5)
@@ -120,38 +124,40 @@ GEM
120124
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
121125
fastlane-sirp (1.1.0)
122126
gh_inspector (1.1.3)
123-
google-apis-androidpublisher_v3 (0.54.0)
124-
google-apis-core (>= 0.11.0, < 2.a)
125-
google-apis-core (0.11.3)
127+
google-apis-androidpublisher_v3 (0.99.0)
128+
google-apis-core (>= 0.15.0, < 2.a)
129+
google-apis-core (0.18.0)
126130
addressable (~> 2.5, >= 2.5.1)
127-
googleauth (>= 0.16.2, < 2.a)
128-
httpclient (>= 2.8.1, < 3.a)
131+
googleauth (~> 1.9)
132+
httpclient (>= 2.8.3, < 3.a)
129133
mini_mime (~> 1.0)
134+
mutex_m
130135
representable (~> 3.0)
131136
retriable (>= 2.0, < 4.a)
132-
rexml
133-
google-apis-iamcredentials_v1 (0.17.0)
134-
google-apis-core (>= 0.11.0, < 2.a)
135-
google-apis-playcustomapp_v1 (0.13.0)
136-
google-apis-core (>= 0.11.0, < 2.a)
137-
google-apis-storage_v1 (0.29.0)
138-
google-apis-core (>= 0.11.0, < 2.a)
139-
google-cloud-core (1.6.1)
137+
google-apis-iamcredentials_v1 (0.26.0)
138+
google-apis-core (>= 0.15.0, < 2.a)
139+
google-apis-playcustomapp_v1 (0.17.0)
140+
google-apis-core (>= 0.15.0, < 2.a)
141+
google-apis-storage_v1 (0.61.0)
142+
google-apis-core (>= 0.15.0, < 2.a)
143+
google-cloud-core (1.8.0)
140144
google-cloud-env (>= 1.0, < 3.a)
141145
google-cloud-errors (~> 1.0)
142-
google-cloud-env (1.6.0)
143-
faraday (>= 0.17.3, < 3.0)
144-
google-cloud-errors (1.3.1)
145-
google-cloud-storage (1.45.0)
146+
google-cloud-env (2.1.1)
147+
faraday (>= 1.0, < 3.a)
148+
google-cloud-errors (1.6.0)
149+
google-cloud-storage (1.59.0)
146150
addressable (~> 2.8)
147151
digest-crc (~> 0.4)
148-
google-apis-iamcredentials_v1 (~> 0.1)
149-
google-apis-storage_v1 (~> 0.29.0)
152+
google-apis-core (>= 0.18, < 2)
153+
google-apis-iamcredentials_v1 (~> 0.18)
154+
google-apis-storage_v1 (>= 0.42)
150155
google-cloud-core (~> 1.6)
151-
googleauth (>= 0.16.2, < 2.a)
156+
googleauth (~> 1.9)
152157
mini_mime (~> 1.0)
153-
googleauth (1.8.1)
154-
faraday (>= 0.17.3, < 3.a)
158+
googleauth (1.11.2)
159+
faraday (>= 1.0, < 3.a)
160+
google-cloud-env (~> 2.1)
155161
jwt (>= 1.4, < 3.0)
156162
multi_json (~> 1.11)
157163
os (>= 0.9, < 2.0)
@@ -162,22 +168,23 @@ GEM
162168
httpclient (2.9.0)
163169
mutex_m
164170
jmespath (1.6.2)
165-
json (2.7.6)
171+
json (2.19.4)
166172
jwt (2.10.2)
167173
base64
168174
logger (1.7.0)
169175
mini_magick (4.13.2)
170176
mini_mime (1.1.5)
171-
multi_json (1.15.0)
177+
multi_json (1.20.1)
172178
multipart-post (2.4.1)
173179
mutex_m (0.3.0)
174180
nanaimo (0.4.0)
175181
naturally (2.3.0)
176182
nkf (0.2.0)
177183
optparse (0.8.1)
178184
os (1.1.4)
185+
ostruct (0.6.3)
179186
plist (3.7.2)
180-
public_suffix (5.1.1)
187+
public_suffix (7.0.5)
181188
rake (13.4.2)
182189
representable (3.2.0)
183190
declarative (< 0.1.0)
@@ -189,10 +196,10 @@ GEM
189196
ruby2_keywords (0.0.5)
190197
rubyzip (2.4.1)
191198
security (0.1.5)
192-
signet (0.18.0)
199+
signet (0.21.0)
193200
addressable (~> 2.8)
194201
faraday (>= 0.17.5, < 3.a)
195-
jwt (>= 1.5, < 3.0)
202+
jwt (>= 1.5, < 4.0)
196203
multi_json (~> 1.10)
197204
simctl (1.6.10)
198205
CFPropertyList
@@ -206,7 +213,6 @@ GEM
206213
tty-spinner (0.9.3)
207214
tty-cursor (~> 0.7)
208215
uber (0.1.0)
209-
unf (0.2.0)
210216
unicode-display_width (2.6.0)
211217
word_wrap (1.0.0)
212218
xcodeproj (1.27.0)
@@ -228,4 +234,4 @@ DEPENDENCIES
228234
fastlane
229235

230236
BUNDLED WITH
231-
2.7.2
237+
2.7.2

fastlane/Fastfile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,21 @@
44
default_platform(:ios)
55

66
platform :ios do
7+
desc "Check code style"
8+
lane :lint do
9+
swiftlint(
10+
executable: "swiftlint",
11+
config_file: ".swiftlint.yaml",
12+
strict: false,
13+
output_file: "fastlane/swiftlint-report.html",
14+
reporter: "html",
15+
ignore_exit_status: true
16+
)
17+
end
718

819
desc "Run all tests ve report the results"
9-
lane :run_tests do
20+
lane :tests do
21+
lint
1022
scan(
1123
scheme: "VideoEditor",
1224
destination: "platform=iOS Simulator,name=iPhone 17 Pro Max,OS=latest",

0 commit comments

Comments
 (0)