mxcube / mxcubeweb

MXCuBE-Web
http://mxcube.github.io/mxcubeweb/
GNU Lesser General Public License v3.0
21 stars 38 forks source link

Do we have an issue with the `pnpm` version? #1227

Closed fabcor-maxiv closed 5 months ago

fabcor-maxiv commented 5 months ago

Seems like pnpm version 9 got released not too long ago (about 2 weeks ago, 2024-04-16).

In our package.json we have "pnpm": "8.x":

https://github.com/mxcube/mxcubeweb/blob/628b1a94a46101955dcaeb0e98c7898338742995/ui/package.json#L7

CI/CD pipelines started breaking on our end at MAXIV, because pnpm 9+ ends up being installed. Apparently we do not use conda-environment.yml in this pipeline, not sure why.

But what confuses me the most is that here on GitHub: things do not break. It is a pnpm v8 that gets installed, even though we have no restriction in conda-environment.yml:

https://github.com/mxcube/mxcubeweb/blob/628b1a94a46101955dcaeb0e98c7898338742995/conda-environment.yml#L11

Anyway, it seems to me like we need to add/modify/remove the version constraints either in package.json or in conda-environment.yml, if we do not want things to start breaking soon-ish, and if we want to be consistent.

fabcor-maxiv commented 5 months ago

Thoughts, @axelboc ? In particular, have you tried pnpm v9 ? Should we allow pnpm v9 or rather stay on v8 ?

axelboc commented 5 months ago

I recommend keeping up with the latest major version of pnpm and the latest LTS of Node, so bumping to 9.x in package.json. The Conda environment should match the requirements of the engines field to avoid breaking the CI when new majors are published.

axelboc commented 5 months ago

But what confuses me the most is that here on GitHub: things do not break. It is a pnpm v8 that gets installed, even though we have no restriction in conda-environment.yml:

The environment seems to be cached: https://github.com/mxcube/mxcubeweb/blob/628b1a94a46101955dcaeb0e98c7898338742995/.github/workflows/ui.yml#L22