Skip to content

Launch go server within runtests.jl#73

Merged
csvance merged 1 commit into
JuliaIO:mainfrom
johroj:bugfix/windows_ci
Dec 5, 2025
Merged

Launch go server within runtests.jl#73
csvance merged 1 commit into
JuliaIO:mainfrom
johroj:bugfix/windows_ci

Conversation

@johroj

@johroj johroj commented Dec 5, 2025

Copy link
Copy Markdown
Contributor

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.

@codecov-commenter

codecov-commenter commented Dec 5, 2025

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.65%. Comparing base (9589da2) to head (bf7379f).
⚠️ Report is 6 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@csvance

csvance commented Dec 5, 2025

Copy link
Copy Markdown
Collaborator

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.

@csvance csvance merged commit 5a05cf8 into JuliaIO:main Dec 5, 2025
13 checks passed
@johroj

johroj commented Dec 5, 2025

Copy link
Copy Markdown
Contributor Author

Very happy to help! I hope I can get this running on some real stuff now.

@johroj

johroj commented Dec 5, 2025

Copy link
Copy Markdown
Contributor Author

Managed to send a request to one of our tools and get a response now. This is looking good!

@csvance

csvance commented Dec 5, 2025

Copy link
Copy Markdown
Collaborator

@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 😅

@johroj

johroj commented Dec 6, 2025

Copy link
Copy Markdown
Contributor Author

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.

@csvance

csvance commented Dec 6, 2025

Copy link
Copy Markdown
Collaborator

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.

@johroj

johroj commented Dec 6, 2025

Copy link
Copy Markdown
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants