Enable the interpreter on Windows#14964
Enable the interpreter on Windows#14964straight-shoota merged 10 commits intocrystal-lang:masterfrom
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 |
| 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.
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_initializesupport (this won't be necessary after #14968)On the other hand,
Processindeed works, so interpreter support on Windows is not strictly inferior to Unix-like systems.