-
Notifications
You must be signed in to change notification settings - Fork 31
[DRAFT] CI: Enable testing on Windows #388
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
base: main
Are you sure you want to change the base?
Conversation
CrateDB nightlies are not available for macOS and Windows, see [1], bummer. Let's mitigate that by only adjusting the CrateDB version to "nightly" on Linux through c99d01d. [1] https://github.com/crate/crate-python/pull/388/checks?check_run_id=1347098559#step:4:124 |
9459866
to
8f84461
Compare
We are seeing
[1] https://github.com/crate/crate-python/pull/388/checks?check_run_id=1347231174#step:4:115 |
d55e17a
to
716fa14
Compare
While making some progress on this, the last command
or
or
See also [1], [2] and [3]. This is somehow related to
[1] https://github.com/crate/crate-python/pull/388/checks?check_run_id=1347349770#step:5:16 |
The reason that
[1] https://github.com/crate/crate-python/pull/388/checks?check_run_id=1347537748#step:5:17 |
8069579
to
6430cd7
Compare
After some more adjustments, the test suite also starts on Windows. Now, it croaks with
[1] https://github.com/crate/crate-python/pull/388/checks?check_run_id=1347946253#step:5:42 According to sqlalchemy/sqlalchemy#5305, sqlalchemy/sqlalchemy#4731 and sqlalchemy/sqlalchemy#5444, it looks like this is deprecated. At sqlalchemy/sqlalchemy#5305 (comment), @zzzeek recommends to
|
f002837
to
a3eb152
Compare
IntroductionThere's a problem spinning up CrateDB on Windows. ProblemNow, there's an error when trying to bootstrap CrateDB on Windows [1]. It goes like
java.lang.IllegalStateException: failed to create a child event loopIt might be related to the same thing happening to ES [2] or Netty in general [3]. Comments within both threads seem to suggest to turn off the firewall. See also netty/netty#7243. Maybe [4] is related to this?
[1] https://github.com/crate/crate-python/pull/388/checks?check_run_id=1348166824#step:5:212 java.io.IOException: Unable to establish loopback connectionThat seems to be related to IPv6 somehow. People suggest to prefer the IPv4 stack using
java.net.SocketException: Unrecognized Windows Sockets error: 10106: socketThis issue seems to be well known to the community and has been around for quite some time, dating back to Java 1.4. Most probably, it is a socket port conflict. While SO #37643301 says
GSE #163543 says
|
4a70d0b
to
74f8281
Compare
d003d2e
to
407925e
Compare
java.net.SocketException: Unrecognized Windows Sockets error: 10106: socketAll of these didn't bring any improvements:
|
java.net.SocketException: Unrecognized Windows Sockets error: 10106: socketSome resources suggest to set the
Indeed: With 4c05db6, CrateDB seems to be able to spin up successfully. |
Now, we are seeing this:
Regarding this, we are lucky @seut already suggested at crate/crate#7781 to
The place to adjust that is: crate-python/src/crate/client/tests.py Lines 146 to 148 in 0ad90b0
|
7b6c394
to
3967274
Compare
f7c17b8
to
5fa93e7
Compare
This skips some tests currently not working on macOS.
"COPY X FROM Y" must use paths in URI format on Windows, see https://docs.microsoft.com/en-us/archive/blogs/ie/file-uris-in-windows
5fa93e7
to
cb54ce8
Compare
In this manner, the outcome can be better inspected regarding deviances and flaky behavior; specifically when so many things on the CI environment setup is being changed. It can be reverted again later.
This is just a WIP based on #386. Let's see how it goes.