Skip to content

enhance Cargo easyblock to handle single-line members in workspaces #3705

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

Merged
merged 1 commit into from
May 23, 2025

Conversation

Flamefire
Copy link
Contributor

The current code failed to find members when all are on a single line. E.g.: members = ["a", "b"]

Fix by splitting the stop condition out of the start-or-append logic so it handles the former.
Also show a good error when no members were found instead of crashing due to the access of None.

The current code failed to find members when all are on a single line.
E.g.: `members = ["a", "b"]`

Fix by splitting the stop condition out of the start-or-append logic so
it handles the former.
Also show a good error when no members were found instead of crashing
due to the access of `None`.
@Flamefire
Copy link
Contributor Author

Test report by @Flamefire

Overview of tested easyconfigs (in order)

  • SUCCESS uv-0.2.30-GCCcore-13.3.0.eb
  • SUCCESS uv-0.4.20-GCCcore-13.3.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
login1.barnard.hpc.tu-dresden.de - Linux RHEL 8.9 (Ootpa), x86_64, Intel(R) Xeon(R) Platinum 8470 (icelake), Python 3.8.17
See https://gist.github.com/Flamefire/4dcea92dd74008d854ec750cb985eff2 for a full test report.

Copy link
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code looks fine (waiting to see if it helps building polars before merging)

@pavelToman
Copy link
Contributor

It helps with polars - it fix the error: failed to load source for dependency tikv-jemallocator !
I am hitting another errors now xD

@pavelToman
Copy link
Contributor

Now polars 1.28.1 can be built, many thanks!

@pavelToman
Copy link
Contributor

pavelToman commented Apr 30, 2025

There is another PR where I use this fix:

@Flamefire
Copy link
Contributor Author

@pavelToman Can you provide test reports for this PR with those? I.e. --include-easyblock-from-pr 3705 --upload-test-report
This way there is an easy way to show that this does indeed solve the issue and works for some ECs

@pavelToman
Copy link
Contributor

pavelToman commented Apr 30, 2025

I am trying, but --inject-checksums does not work for CargoPythonBundle and CI check wants checksums...
And ChatGPT is dumb and can not copy numbers properly...

@pavelToman
Copy link
Contributor

pavelToman commented May 1, 2025

SCENICplus PR is OK, scatac_fragment_tools can be built with this patch:

@boegel
Copy link
Member

boegel commented May 22, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS alevin-fry-0.9.0-GCCcore-13.2.0.eb
  • SUCCESS bamtofastq-1.4.1-GCCcore-12.3.0.eb
  • SUCCESS chopper-0.9.0-GCCcore-12.3.0.eb
  • SUCCESS cramino-0.14.5-GCC-12.3.0.eb
  • SUCCESS elfx86exts-0.6.2-GCC-12.3.0.eb
  • SUCCESS Evcxr-REPL-0.14.2-GCCcore-12.2.0-Rust-1.65.0.eb
  • SUCCESS juliaup-1.17.9-GCCcore-12.3.0.eb
  • SUCCESS kyber-0.4.0-GCC-12.3.0.eb
  • SUCCESS libavif-1.0.4-GCCcore-12.3.0.eb
  • SUCCESS Longshot-0.4.5-GCCcore-11.3.0.eb
  • SUCCESS Longshot-1.0.0-GCCcore-12.3.0.eb
  • SUCCESS Longshot-1.0.0-GCCcore-13.2.0.eb
  • SUCCESS mfqe-0.5.0-GCC-12.3.0.eb
  • SUCCESS modkit-0.3.3-GCCcore-12.3.0.eb
  • SUCCESS modkit-0.4.1-GCCcore-13.3.0.eb
  • SUCCESS phasius-0.2.0-GCC-12.3.0.eb
  • SUCCESS Python-3.10.4-GCCcore-11.3.0.eb
  • SUCCESS Python-3.10.8-GCCcore-12.2.0.eb
  • SUCCESS ripunzip-0.4.0.eb
  • SUCCESS rustworkx-0.12.1-foss-2022a.eb
  • SUCCESS setuptools-rust-1.11.0-GCCcore-14.2.0.eb
  • SUCCESS setuptools-rust-1.6.0-GCCcore-12.3.0.eb
  • SUCCESS setuptools-rust-1.8.0-GCCcore-13.2.0.eb
  • SUCCESS setuptools-rust-1.9.0-GCCcore-13.3.0.eb
  • SUCCESS SKA2-0.3.7-GCCcore-12.2.0.eb
  • SUCCESS skani-0.2.2-GCCcore-12.3.0.eb
  • SUCCESS smafa-0.8.0-GCC-12.3.0.eb
  • SUCCESS tokenizers-0.13.3-GCCcore-11.3.0.eb
  • SUCCESS tree-sitter-0.25.3-GCCcore-14.2.0.eb
  • SUCCESS yacrd-1.0.0-foss-2023a.eb
  • SUCCESS bcrypt-4.0.1-GCCcore-12.3.0.eb
  • SUCCESS bcrypt-4.1.3-GCCcore-13.2.0.eb
  • SUCCESS cryptography-41.0.1-GCCcore-12.3.0.eb
  • SUCCESS cryptography-41.0.5-GCCcore-13.2.0.eb
  • SUCCESS cryptography-42.0.8-GCCcore-13.3.0.eb
  • SUCCESS maturin-1.1.0-GCCcore-12.2.0.eb
  • SUCCESS maturin-1.1.0-GCCcore-12.3.0.eb
  • SUCCESS maturin-1.3.1-GCCcore-13.2.0.eb
  • SUCCESS maturin-1.3.2-GCCcore-11.3.0-Rust-1.65.0.eb
  • SUCCESS maturin-1.4.0-GCCcore-12.3.0-Rust-1.75.0.eb
  • SUCCESS maturin-1.5.0-GCCcore-13.2.0-Rust-1.76.0.eb
  • SUCCESS maturin-1.6.0-GCCcore-13.3.0.eb
  • SUCCESS maturin-1.7.8-GCCcore-12.3.0-Rust-1.81.0.eb
  • SUCCESS maturin-1.8.3-GCCcore-14.2.0.eb
  • SUCCESS poetry-1.7.1-GCCcore-12.3.0.eb
  • SUCCESS poetry-1.8.3-GCCcore-13.3.0.eb
  • SUCCESS pydantic-2.5.3-GCCcore-12.3.0.eb
  • SUCCESS pydantic-2.6.4-GCCcore-13.2.0.eb
  • SUCCESS pydantic-2.7.4-GCCcore-13.2.0.eb
  • SUCCESS pydantic-2.9.1-GCCcore-13.3.0.eb
  • SUCCESS rustworkx-0.12.1-foss-2023a.eb
  • SUCCESS rustworkx-0.15.1-gfbf-2023a.eb
  • SUCCESS Safetensors-0.3.1-foss-2022a.eb
  • SUCCESS Safetensors-0.4.3-gfbf-2023a.eb
  • SUCCESS Safetensors-0.4.4-gfbf-2023b.eb
  • SUCCESS tiktoken-0.6.0-GCCcore-12.3.0.eb
  • SUCCESS tiktoken-0.7.0-GCCcore-12.3.0.eb
  • SUCCESS tiktoken-0.7.0-GCCcore-13.2.0.eb
  • SUCCESS tiktoken-0.9.0-GCCcore-13.3.0.eb
  • SUCCESS tlparse-0.3.5-GCCcore-13.2.0.eb
  • SUCCESS tokenizers-0.15.2-GCCcore-12.3.0.eb
  • SUCCESS tokenizers-0.19.1-GCCcore-13.2.0.eb
  • SUCCESS uv-0.2.30-GCCcore-13.3.0.eb
  • SUCCESS Clarabel.rs-0.7.1-gfbf-2023a.eb
  • SUCCESS cryptography-44.0.2-GCCcore-14.2.0.eb
  • SUCCESS DeltaLake-0.15.1-gfbf-2023a.eb
  • SUCCESS jiter-0.4.1-GCCcore-12.3.0.eb
  • SUCCESS poetry-2.1.2-GCCcore-14.2.0.eb
  • SUCCESS polars-0.19.19-gfbf-2023a.eb
  • SUCCESS polars-0.20.2-gfbf-2023a.eb
  • SUCCESS cramjam-2.9.0-GCCcore-12.3.0.eb
  • SUCCESS fastparquet-2024.11.0-gfbf-2023a.eb

Build succeeded for 72 out of 72 (71 easyconfigs in total)
node3505.doduo.os - Linux RHEL 9.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.18
See https://gist.github.com/boegel/f2fedcf60915ba926e8a8968dd50d4f6 for a full test report.

@boegel boegel merged commit c218eb6 into easybuilders:develop May 23, 2025
17 checks passed
@Flamefire Flamefire deleted the cargo-workspace-improvement branch May 23, 2025 07:05
@boegel boegel changed the title Handle single-line members in Cargo workspaces enhance Cargo easyblock to handle single-line members in workspaces May 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants