Skip to content

Commit 7c7a1fe

Browse files
authored
Merge pull request #139 from getsentry/feature/swiftlint-danger
Feature/swiftlint danger
2 parents e085e83 + ecc0ca7 commit 7c7a1fe

File tree

7 files changed

+63
-9
lines changed

7 files changed

+63
-9
lines changed

.swiftlint.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ excluded:
55
- Carthage
66
- Pods
77
- Utils
8+
- vendor
89
whitelist_rules:
910
#- attributes
1011
- class_delegate_protocol
@@ -76,7 +77,7 @@ whitelist_rules:
7677
- unused_optional_binding
7778
- valid_docs
7879
- valid_ibinspectable
79-
- variable_name
80+
#- identifier_name
8081
- vertical_parameter_alignment
8182
- vertical_whitespace
8283
- void_return

.travis.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@ cache:
55
rvm:
66
- 2.2
77
before_install:
8-
- gem install fastlane
9-
- gem install slather
8+
- bundle install
109
- brew update
1110
- brew outdated swiftlint || brew upgrade swiftlint
12-
script:
13-
- travis_retry fastlane $LANE
11+
script:
12+
- if [ "$LANE" = "lint" ]; then fastlane $LANE; else travis_retry fastlane $LANE; fi
1413
after_success:
15-
- if [ "$LANE" = "test_swift_3_ios" ]; then bash <(curl -s https://codecov.io/bash) -f cobertura.xml; fi
14+
- if [ "$LANE" = "test_swift_3_ios" ]; then bash <(curl -s https://codecov.io/bash) -f cobertura.xml; fi
1615
env:
1716
matrix:
1817
- LANE=lint
@@ -21,4 +20,4 @@ env:
2120
- LANE=test_swift_2_macos
2221
- LANE=test_swift_3_tvos
2322
- LANE=test_swift_3_macos
24-
- LANE=test_swift_3_ios
23+
- LANE=test_swift_3_ios

Dangerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
message("Hello, I'm working :)")
2+
3+
declared_trivial = github.pr_title.include? "#trivial"
4+
5+
warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]"
6+
warn("Big PR") if git.lines_of_code > 500
7+
8+
swiftlint.lint_files inline_mode: true

Gemfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@ source "https://rubygems.org"
22

33
gem "cocoapods"
44
gem "fastlane"
5-
gem "slather"
5+
gem "slather"
6+
gem "danger"
7+
gem "danger-swiftlint"

Gemfile.lock

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ GEM
1212
public_suffix (~> 2.0, >= 2.0.2)
1313
babosa (1.0.2)
1414
claide (1.0.1)
15+
claide-plugins (0.9.2)
16+
cork
17+
nap
18+
open4 (~> 1.3)
1519
clamp (0.6.5)
1620
cocoapods (1.1.1)
1721
activesupport (>= 4.0.2, < 5)
@@ -46,8 +50,26 @@ GEM
4650
netrc (= 0.7.8)
4751
cocoapods-try (1.1.0)
4852
colored (1.2)
53+
colored2 (3.1.2)
4954
commander (4.4.2)
5055
highline (~> 1.7.2)
56+
cork (0.2.0)
57+
colored (~> 1.2)
58+
danger (4.3.1)
59+
claide (~> 1.0)
60+
claide-plugins (>= 0.9.2)
61+
colored2 (~> 3.1)
62+
cork (~> 0.1)
63+
faraday (~> 0.9)
64+
faraday-http-cache (~> 1.0)
65+
git (~> 1)
66+
kramdown (~> 1.5)
67+
octokit (~> 4.2)
68+
terminal-table (~> 1)
69+
danger-swiftlint (0.4.0)
70+
danger
71+
rake (~> 10.0)
72+
thor (~> 0.19)
5173
domain_name (0.5.20161129)
5274
unf (>= 0.0.5, < 1.0.0)
5375
dotenv (2.1.1)
@@ -58,6 +80,8 @@ GEM
5880
faraday-cookie_jar (0.0.6)
5981
faraday (>= 0.7.4)
6082
http-cookie (~> 1.0.0)
83+
faraday-http-cache (1.3.1)
84+
faraday (~> 0.8)
6185
faraday_middleware (0.10.1)
6286
faraday (>= 0.7.4, < 1.0)
6387
fastimage (2.0.1)
@@ -96,6 +120,7 @@ GEM
96120
fourflusher (2.0.1)
97121
fuzzy_match (2.0.4)
98122
gh_inspector (1.0.2)
123+
git (1.3.0)
99124
google-api-client (0.9.20)
100125
addressable (~> 2.3)
101126
googleauth (~> 0.5)
@@ -121,6 +146,7 @@ GEM
121146
i18n (0.7.0)
122147
json (1.8.3)
123148
jwt (1.5.6)
149+
kramdown (1.13.2)
124150
little-plugger (1.1.4)
125151
logging (2.1.0)
126152
little-plugger (~> 1.1)
@@ -141,14 +167,21 @@ GEM
141167
netrc (0.7.8)
142168
nokogiri (1.6.8.1)
143169
mini_portile2 (~> 2.1.0)
170+
octokit (4.6.2)
171+
sawyer (~> 0.8.0, >= 0.5.3)
172+
open4 (1.3.4)
144173
os (0.9.6)
145174
plist (3.2.0)
146175
public_suffix (2.0.4)
176+
rake (10.5.0)
147177
representable (2.3.0)
148178
uber (~> 0.0.7)
149179
retriable (2.1.0)
150180
rouge (1.11.1)
151181
rubyzip (1.2.0)
182+
sawyer (0.8.1)
183+
addressable (>= 2.3.5, < 2.6)
184+
faraday (~> 0.8, < 1.0)
152185
security (0.1.3)
153186
signet (0.7.3)
154187
addressable (~> 2.3)
@@ -164,6 +197,7 @@ GEM
164197
terminal-notifier (1.7.1)
165198
terminal-table (1.7.3)
166199
unicode-display_width (~> 1.1.1)
200+
thor (0.19.4)
167201
thread_safe (0.3.5)
168202
tzinfo (1.2.2)
169203
thread_safe (~> 0.1)
@@ -189,6 +223,8 @@ PLATFORMS
189223

190224
DEPENDENCIES
191225
cocoapods
226+
danger
227+
danger-swiftlint
192228
fastlane
193229
slather
194230

Sentry.xcodeproj/project.pbxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1266,7 +1266,7 @@
12661266
);
12671267
runOnlyForDeploymentPostprocessing = 0;
12681268
shellPath = /bin/sh;
1269-
shellScript = "if [ \"$CI\" = \"\" ]\nthen\nif which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\nelse\necho \"warning: Skip linting\"\nfi";
1269+
shellScript = "if [ \"$CI\" = \"\" ] && [ \"$CARTHAGE\" = \"\" ]\nthen\nif which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\nelse\necho \"warning: Skip linting\"\nfi";
12701270
};
12711271
/* End PBXShellScriptBuildPhase section */
12721272

fastlane/Fastfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ lane :localcoverage do
2222
end
2323

2424
lane :lint do
25+
if ENV["DANGER_GITHUB_API_TOKEN"]
26+
danger(
27+
github_api_token: ENV["DANGER_GITHUB_API_TOKEN"],
28+
danger_id: "github",
29+
dangerfile: "./Dangerfile",
30+
verbose: true
31+
)
32+
end
2533
sh('cd .. && swiftlint')
2634
end
2735

0 commit comments

Comments
 (0)