-
Notifications
You must be signed in to change notification settings - Fork 446
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
Vendor tinyjson sources to make process_wrapper deterministic #1729
base: main
Are you sure you want to change the base?
Conversation
I was also working on fixing this today over at #1728. I believe it's the more desireable approach as it will allow us to to add further dependencies of the process wrapper (should we need them) without vendoring them. |
I saw that! Either approach seems viable to me. I'm happy with whatever the maintainers decide. |
I too would lean away from vendoring code if possible 😄 |
In main...jfirebaugh:rules_rust:jfirebaugh/integration_tests, I wrote an integration test for the issue using rules_bazel_integration_test. It fails prior to this fix and passes afterward. Let me know what you think of that approach. It could be useful no matter which of the two PRs gets merged, and a good basis for writing integration tests in general. |
I'm generally not a fan of vendoring code to projects like this but tinyjson is indeed tiny. I'm curious how exactly this solves determinism issues though. Is it deterministic based on where you checkout the repo or otherwise? Additionally, does it make a difference if tinyjson is it's own target vs a part of the process_wrapper itself? I would prefer it if tinyjson could remain it's own package. Finally, could a tool (small script) be added to re-vendor the project? I would like make bringing in new changes as painless as possible. |
Fixes #1530