Launch go server within runtests.jl#73
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #73 +/- ##
==========================================
+ Coverage 85.62% 85.65% +0.02%
==========================================
Files 7 7
Lines 508 509 +1
==========================================
+ Hits 435 436 +1
Misses 73 73 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Thank you for the pull request! Looks like an improvement all around, I will take a look at the deadline test later but lets get this merged. |
|
Very happy to help! I hope I can get this running on some real stuff now. |
|
Managed to send a request to one of our tools and get a response now. This is looking good! |
|
@johroj I have been running a much older version lacking many current bugfixes in a test deployment for some time now. At least for Unary RPC (which is all we currently use), it has been rock solid. Since moving the project to JuliaIO this week I have done a ton of work auditing and hardening all aspects of the low level FFI code, expanding test coverage and making sure things work correctly around the edges. Hopefully this means there shouldn't be many rough edges left... except for me having no idea how to test things running on Windows apparently 😅 |
|
I have been peeking at the old version from time to time, but even if it worked as you say, it seemed pretty much abandoned. It's nice to see that is now getting some improvements with industrial use in mind. I still do not see a future where I can escape windows, so I might be able to assist if some other issue appears. It also looks like protobuf needs some attention, so I will look at that next. |
Oh no, I meant an older version of the rewrite when it was still called gRPCClient2.jl. I couldn't get the old version of gRPCClient.jl to work reliably or fast enough to use in a production codebase. That's the entire point of why I rewrote it from scratch, it was blocking my company from adopting Julia to replace a good chunk of our Python codebase. |
|
Ah, makes sense. I'm mostly interested in this for making prototypes in Julia that can integrate nicely into the rest of our software platform. So the reliability and ease of use is more important than performance to me (at this time at least). I currently rely on PythonCall which comes with long load times, concurrency issues etc. so a pure Julia solution will make a big difference. We have previously discussed how the lack of gRPC and small binaries are probably the biggest showstoppers for industrial use and now it looks like both are about to be solved. |
This PR runs the test server from within Julia. This solves the issue that background tasks cannot be started in other CI steps on windows. Using the environment variable that tells runtests.jl to start the server also works well for local development.
Solves #69
As a bonus, the tight deadline test is marked as broken for windows. It sometimes passes, but I also saw cases where it would not pass even if the deadline was set to a full second.