-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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 rust dependencies #62297
Vendor rust dependencies #62297
Conversation
This is an automated comment for commit e65dc63 with description of existing statuses. It's updated for the latest CI running ❌ Click here to open a full report in a separate page
Successful checks
|
Ok it seems it's finally building in all scenarios. I needed to vendor not only dependencies but also the crate repositories themselves. Without them you still need a connection. Some things need to be changed though:
After everything is ready, it would be best to clean up the history of the submodule before merging to remove all the big files from history and keep only the necessary ones. |
After way more hours that I'm ok accepting, trying I don't know how many things to solve the recompilation problem, I found out the problem with rebuilding comes from having multiple corrosion projects clashing. The solution is to do things properly and create, and use, a rust workspace. This fixes both the first and the third point. Only thing pending is to see if there is a way to remove the windows deps from the vendor submodule so it's not that big. |
This fixes recompilation and avoids duplication of dependencies
A couple of problems with the build:
|
Everything builds and tests pass, so I'm updating the submodules to their final status |
This is ready and has a green CI. Only missing review and merge with master to fix conflicts |
5849aeb
@@ -0,0 +1,51 @@ | |||
As we have multiple projects we use a workspace to manage them (it's way simpler and leads to less issues). In order |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A very cool thing is done here!
Does adding a script into https://github.com/ClickHouse/rust_vendor to update everything as a simple command make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe.
I generated the commands matching exactly how std
is organised and our current Cargo.lock
so they might not be universal. We can wait to execute them a few times in the future (understanding the commands) before making it automatic.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Documentation entry for user-facing changes
Rust dependencies are no longer retrieved from the internet and they live in a submodule.
Important
This PR also updates the internal rust toolchain to nightly-2024-04-01. As the vendor dependencies for the sanitizer builds are specific a rustc version, using other versions might not be supported (due to missing deps in the submodule).
Closes #61741
Modify your CI run:
NOTE: If your merge the PR with modified CI you MUST KNOW what you are doing
NOTE: Checked options will be applied if set before CI RunConfig/PrepareRunConfig step
Include tests (required builds will be added automatically):
Exclude tests:
Extra options:
Only specified batches in multi-batch jobs: