-
Notifications
You must be signed in to change notification settings - Fork 283
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
enhance cargo easyblock for sources from git repositories #3483
Conversation
Crates referenced by their git revision have a version but might have different revisions. The source filename ignored the revision such that sources from different revisions were considered the same file which either fails the checksum verification or the build. Append the revision if specified to disambiguate them.
Crates downloaded from crates.io can just be put into the vendored-sources directory. However a referenced git repository might contain multiple crates in a so-called "workspace". If we put such a workspace into the vendor folder, cargo fails with > found a virtual manifest at [...]Cargo.toml instead of a package manifest This solution uses a separate folder for sources downloaded from git repositories and checks them for workspaces. If they are "regular", i.e. don't have a workspace, they are put to the vendored sources from crates.io. Otherwise they are left in the git-vendor directory. Additionally refine the config.toml entry for sources vendored from git. This allows to override a specific git URL and revision with the path to the extracted repository. Otherwise we would need entries for each crate in workspaces but then cargo tries to verify the revision and fails with > Unable to update https://github.com/[...]?rev=[...] > Caused by: can't checkout from 'https://github.com/[...]': you are in the offline mode (--offline)
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
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.
it seems you thought this through, so looks fine to me. I will run some tests.
Hm, i'm having trouble with the uv package you link
Not sure what to make of that |
Looks to me that maybe this is just the developers over at astral-sh/reqwest-middleware.git just forced pushed new stuff, abandoning the commit 21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe maybe?
If so, then I don't want to let that block this PR, but I want to confirm with you @Flamefire |
Test report by @Micket Overview of tested easyconfigs (in order)
Build succeeded for 7 out of 7 (7 easyconfigs in total) |
I hadn't seen easybuilders/easybuild-framework#4680 OK, so it's not this PR's fault. I'm merging it as is, as the two failures are unrelated. |
This combines #3481 and #3482 to test that they work together for EasyConfigs that would fail without.
They can be merged individually which might be easier to review or just this one.
Closes #3481
Closes #3482