ComputationalRadiationPhysics / picongpu

Performance-Portable Particle-in-Cell Simulations for the Exascale Era :sparkles:
https://picongpu.readthedocs.io
Other
709 stars 218 forks source link

Switch from mamba to uv #5082

Closed chillenzer closed 2 months ago

chillenzer commented 2 months ago

5077 seems to have been insufficient.

BrianMarre commented 2 months ago

PyPIConGPU test fails, might have something to do with this setting https://github.com/ComputationalRadiationPhysics/picongpu/blob/89b9640670127075f753c4bc63ec92aa99f5b1d6/.gitlab-ci.yml#L184

psychocoderHPC commented 2 months ago

PyPIConGPU test fails, might have something to do with this setting

https://github.com/ComputationalRadiationPhysics/picongpu/blob/89b9640670127075f753c4bc63ec92aa99f5b1d6/.gitlab-ci.yml#L184

@chillenzer I stopped the CI because this must be fixed

chillenzer commented 2 months ago

Thanks for pointing this out. As far as I can see it, the syntax .* is not supported by uv for selecting a Python version. Pushed an update. Btw, why aren't we on 3.12?

BrianMarre commented 2 months ago

Because when we built the PyPIConGPU CI Python 3.12 wasn't out yet

psychocoderHPC commented 2 months ago

I stopped the CI again because of errors https://gitlab.com/hzdr/crp/picongpu/-/jobs/7785698774

psychocoderHPC commented 2 months ago

https://github.com/ComputationalRadiationPhysics/picongpu/blob/817b9ebbfec871bf76e8f374a7a974153aeb0663/share/ci/pypicongpu_generator.py#L327

is adding .* to the version number

chillenzer commented 2 months ago

Nasty. I have now also run grep -ri "python" share and grep -r '\.\* share with no further results.

psychocoderHPC commented 2 months ago

It looks like it is not as simple as it sounds to switch the package manager for python. Let's evaluate if we go on with the switch or stay with micromambda. For now, it looks like IT solved the issues by updating their black list.

chillenzer commented 2 months ago

Apparently, IT has fixed the problem with mamba which makes this change unnecessary. Also, we have snakemake workflows which would make it particularly inconvenient to leave mamba completely. So, we'll close this PR for now.

PS: The failing CI probably just needs a renaming pip3 -> [uv ]pip (not sure if we'd need/want uv in front there).

BrianMarre commented 2 months ago

For future reference, Simeon recommended to switch to tox to simplify the PyPIConGPU generator, since tox apparently provides a native way to fix software versions for CI tests.