-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Enable the interpreter on Windows #14964
Enable the interpreter on Windows #14964
Conversation
It looks like CI fails because it is not linking the correct DLLs:
On my system
The same thing on my machine gave:
It appears
This suggests API sets should completely bypass path searching and use |
@@ -266,13 +267,47 @@ jobs: | |||
run: make -f Makefile.win samples | |||
|
|||
x86_64-windows-release: | |||
if: github.repository_owner == 'crystal-lang' && (startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/ci/')) |
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.
thought: This change means building a compiler in release mode on every workflow run. I'm wondering if it makes sense to keep the non-release build around then? We could build just a single compiler (in release mode) and use that for x86_64-windows-test
as well.
Maybe we should do this as a follow-up though.
For the record, using a non-release build of the interpreter takes almost 6 hours to finish the stdlib specs |
Since #14964 we're building the compiler in release mode on every workflow run. We can use that build instead of the non-release build for workflow jobs that need a compiler.
Closes #12396.
A good chunk of networking specs are disabled because they call
Crystal::System::Socket.accept_ex.call
, which is not yet supported in the interpreter; this is now tracked in #12495. There is also a workaround for the event loop issue mentioned in #14949 (comment),and another for the lack of.Reference.pre_initialize
support (this won't be necessary after #14968)On the other hand,
Process
indeed works, so interpreter support on Windows is not strictly inferior to Unix-like systems.