-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Swift 5 support #2720
Swift 5 support #2720
Conversation
This one is fun: Running with Xcode 10.1 selected
With Xcode 10.2:
Filled SR-10486 to track this. |
3f6e87c
to
f0bb0c8
Compare
f8b71b9
to
b7127c5
Compare
Package.swift
Outdated
.package(url: "https://github.com/jpsim/Yams.git", from: "1.0.1"), | ||
.package(url: "https://github.com/scottrhoyt/SwiftyTextTable.git", from: "0.8.2"), | ||
] + (addCryptoSwift ? [.package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", from: "0.13.0")] : []), | ||
.package(url: "https://github.com/Carthage/Commandant.git", from: "0.16.0"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be better to use .upToNextMinor
instead of e5535ae:
.package(url: "https://github.com/Carthage/Commandant.git", from: "0.16.0"), | |
.package(url: "https://github.com/Carthage/Commandant.git", .upToNextMinor(from: "0.16.0")), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @norio-nomura! BTW, do you know why is testSimulateHomebrewTest
failing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Failing in Tsan job can be reproduced locally:
Test Case '-[SwiftLintFrameworkTests.IntegrationTests testSimulateHomebrewTest]' started.
/Users/vsts/agent/2.149.2/work/1/s/Tests/SwiftLintFrameworkTests/IntegrationTests.swift:65: error: -[SwiftLintFrameworkTests.IntegrationTests testSimulateHomebrewTest] : XCTAssertEqual failed: ("6") is not equal to ("11") - It is expected to crash.
/Users/vsts/agent/2.149.2/work/1/s/Tests/SwiftLintFrameworkTests/IntegrationTests.swift:67: error: -[SwiftLintFrameworkTests.IntegrationTests testSimulateHomebrewTest] : XCTAssertEqual failed: ("Linting Swift files at paths
Linting 'Test.swift' (1/1)
ThreadSanitizer:DEADLYSIGNAL
==3480==ERROR: ThreadSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fff6755d85c bp 0x7e80000fe830 sp 0x7e80000fe7e8 T19765)
==3480==The signal is caused by a READ memory access.
==3480==Hint: address points to the zero page.
#0 xpc_get_type <null>:1040528 (libxpc.dylib:x86_64+0x285b)
==3480==Register values:
rax = 0x0000000000000001 rbx = 0x00007b3000007380 rcx = 0x00007b3000007408 rdx = 0x0000000000000001
rdi = 0x0000000000000000 rsi = 0x00007b3000007380 rbp = 0x00007e80000fe830 rsp = 0x00007e80000fe7e8
r8 = 0x0000000000000000 r9 = 0x0000000000000000 r10 = 0x00007b240000ba30 r11 = 0x00007fff675656d1
r12 = 0x00007b0c00000600 r13 = 0x00007e80000fee48 r14 = 0x00007b3000007500 r15 = 0x0000000000000000
ThreadSanitizer can not provide additional info.
SUMMARY: ThreadSanitizer: SEGV (libxpc.dylib:x86_64+0x285b) in xpc_get_type
==3480==ABORTING
") is not equal to ("Linting Swift files at paths
Linting 'Test.swift' (1/1)
")
Test Case '-[SwiftLintFrameworkTests.IntegrationTests testSimulateHomebrewTest]' failed (1.408 seconds).
It seems to needs workaround for Tsan job.
Failing in SwiftPM xcode102
job can not be reproduced locally. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Failing in Tsan job has been addressed by 8c56724.
Let's check failing in SwiftPM xcode102
job again if it occurs next time.
…ewTest()` Because TSAN makes `swiflint` to produce additional output on crashing.
Workaround to failing `testSimulateHomebrewTest()` on macOS 10.14
private func validate(file: File, kind: SwiftDeclarationKind, | ||
dictionary: [String: SourceKitRepresentable], | ||
parentDictionary: [String: SourceKitRepresentable]?) -> [StyleViolation] { | ||
let aclAttributes: Set<SwiftDeclarationAttributeKind> = [.private, .fileprivate, .internal, .public, .open] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would love some 👀 on this change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if the changes to violations reported by OSSCheck are from this change or Swift 5 or both.
OSSCheck results analysis: All good! ✅
In my local testing of this branch, I noticed that Sourcery wasn't picking up some MarkRule declarations because of SR-10486, so I pushed 8ed47c0 that works around that by moving the private constants in Otherwise everything looks great, thanks @marcelofabri, @norio-nomura and anyone else who pitched in or helped review this. |
Cleared this with @marcelofabri offline. Will merge and release 🚀 |
For now, this only allows building with Xcode 10.2.
Some tests are failing: