enhance Cargo easyblock for sources from git repositories#3483
enhance Cargo easyblock for sources from git repositories#3483Micket merged 2 commits intoeasybuilders:developfrom
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) |
Micket
left a comment
There was a problem hiding this comment.
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