Skip to content
This repository has been archived by the owner on Mar 19, 2023. It is now read-only.

Linux support #9

Closed
wants to merge 40 commits into from
Closed

Linux support #9

wants to merge 40 commits into from

Conversation

matthijs2704
Copy link

For some reason the tests are sometimes working and sometimes they aren't, but I can't figure out why. Please respond with any changes, so we can finally fix #5 😄

@matthijs2704
Copy link
Author

But I see the master branch is suffering from the exact same issue with the tests, so it probably doesn't have to do with the socket switch

@matthijs2704
Copy link
Author

Travis failed because it doesn't update the dependencies from SPM

@pixelspark
Copy link
Owner

pixelspark commented Jun 20, 2017

@matthijs2704 thanks for this!

Is the testing issue related to Travis or do you see failed tests on your own builds as well? All I see in Travis is errors like the following, which I don't quite understand (but seem to be related to files in a vapor dependency):

<unknown>:0: error: no such file or directory: '/Users/travis/build/pixelspark/rethink-swift/.build/checkouts/debugging.git-4365319567167379684/Sources/Debugging/Debuggable.swift'

Perhaps we should change the Travis config to use the Swift Package manager build (i.e. swift build instead of swift generate-xcodeproj followed by xcodebuild). Did you try that already?

I would also be in favor of removing the XCode project and all Info plists altogether - users of the library can simply swift package generate-xcodeproj if they need an XCode project to build.

@matthijs2704
Copy link
Author

I see the failed tests on both Travis and local, but not consistently. Maybe it has to do with the installed Swift version on Travis? I know for sure this works, as I am using this in my project.

But I have yet to test on Linux.

@pixelspark
Copy link
Owner

Hm, so are those actual errors in the Rethink-Swift tests or build-related errors? (Not currently near my Mac so can't check - will try tonight). Travis has XCode 8.3 with Swift 3.2 if I remember correctly, so this shouldn't really be an issue.

I have seen intermittent failures in testing before by the way, those were related to threading issues in Rethink-Swift. Perhaps you should run the tests with ThreadSanitizer enabled to see what's going wrong.

@pixelspark
Copy link
Owner

pixelspark commented Jun 20, 2017

@matthijs2704 this tests and builds just fine on my Mac (Swift 3.1). Building with Xcode (9 beta) gives me an error related to an umbrella file, which is apparently located in "/Users/matthijs"... After generating a completely new Xcode project using swift package generate-xcodeproj however it works just fine.

So: please remove the Rethink.xcodeproj from your tree, edit the README to say people should use SPM or generate-xcodeproj, and we're good to merge!

(En nogmaals dank voor je bijdrage!)

@matthijs2704
Copy link
Author

Yep yep! Geen probleem ;)

It should be ready to go now!

@matthijs2704
Copy link
Author

Oh wait we need to fix the tests now, one sec

@matthijs2704
Copy link
Author

Okay tests failed because a dependency from Vapor fails to compile for some reason.

So we're good :)

@matthijs2704
Copy link
Author

There we go! 🎉

@matthijs2704
Copy link
Author

We can also add linux tests now, I'll take a look at that in a sec. Travis can build both on osx and linux simultaneously, but need to lookup the syntax for that. (Can also be a separate PR)

@matthijs2704 matthijs2704 changed the title Switched to Sockets instead of GCDAsyncSocket Linux support Jun 23, 2017
@matthijs2704
Copy link
Author

Current status is that the tests are running successfully on macOS, but are failing on Linux as it seems that there is no working communication (yet). But the good news is that the code is building on Linux now!

@pixelspark
Copy link
Owner

@matthijs2704 how are things progressing?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Swift on Linux support
2 participants