Skip to content

Updating Node.js

Karl Tarvas edited this page Jan 22, 2025 · 8 revisions

Node.js is a build-time dependency for Uyuni's frontend. Node should be kept up-to-date with a stable version that's in long-term support (LTS).

Node follows a release cycle where even-numbered releases are stable and odd-numbered releases are unstable or experimental.

Shortly, DO update to Node 10.x, 12.x, 14.x etc. Do NOT update to 11.x, 13.x, 15.x etc.

To update Node, copy the below checklist to a new issue. When all the checklist items are done, the update is done.

If you update this checklist, please be sure to update [the checklist template](https://github.com/uyuni-project/uyuni/wiki/Updating-Node.js/_edit) too.

---

 - [ ] Test locally
   - [ ] Ensure you're running the version you want to upgrade to: `node --version`
   - [ ] Delete all frontend dependencies: `rm -rf web/html/src/node_modules/`
   - [ ] Confirm that all checks pass with fresh installs: `yarn all`
 - [ ] Confirm that `nodejs-default` ([available in `nodejs-common`](https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-common)) includes at least the version you want to update to (should be no-op since `nodejs-default` tracks the LTS lifecycle)
 - [ ] Update `engines.node` in [`susemanager-frontend/package.json`](https://github.com/uyuni-project/uyuni/blob/master/susemanager-frontend/package.json)
 - [ ] Update `node-version` in [all workflows in `.github/workflows` that require it](https://github.com/uyuni-project/uyuni/search?q=node-version)
 - [ ] Update Almalinux project config in [the project configuration in `systemsmanagement:Uyuni:Master`](https://build.opensuse.org/projects/systemsmanagement:Uyuni:Master/prjconf) to use the desired module stream for nodejs.
 - [ ] Check that the right nodejs package is in the [`systemsmanagement:Uyuni:Master:Docker/uyuni-push-to-obs container`](https://build.opensuse.org/package/show/systemsmanagement:Uyuni:Master:Docker/uyuni-push-to-obs). If not, change the Dockerfile to force the installation of the right package.
 - [ ] Same thing for [`Devel:Galaxy:Manager:4.2:Docker/suma-push-to-obs`](https://build.suse.de/package/show/Devel:Galaxy:Manager:4.2:Docker/suma-push-to-obs) and any newer versions if applicable.
 - [ ] Backport the changes where necessary
Clone this wiki locally