Skip to content
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

🌱 Update project to use nodejs 20, npm >=10.5.2 (#2062) #2064

Merged
merged 1 commit into from
Aug 28, 2024

Conversation

sjd78
Copy link
Member

@sjd78 sjd78 commented Aug 27, 2024

Upgrade the project to use nodejs-20 in the Dockerfile, and package.json engine block. More specific entries for .dockerignore will help keep the COPY step quick (especially for local dev image builds).

Reasoning:

  • nodejs-18 is in LTS until May 2025, but nodejs-20 will be in LTS until May 2026. 1

  • node and npm are distributed together, and the ubi9/nodejs-20 container has a newer version of npm included (10.7.0) than the current ubi9/nodejs-18 container (10.5.0)

  • Given github issues 2 and 3, we can assume that the only versions of npm that will be stable in CI during the npm install phase are npm@9 and npm@>=10.5.2. Any npm version <10.5.2 is at severe risk of encountering network errors when installing packages, especially when running in a qemu environment for non-native architecture builds.

  • Being very specific in the package.json engines block will help keep everyone on working versions of npm.

Backport-of: #2062

Footnotes

  1. https://nodejs.org/en/about/previous-releases

  2. https://github.com/npm/cli/issues/7231

  3. https://github.com/npm/cli/issues/7072

Upgrade the project to use nodejs-20 in the `Dockerfile`, and
package.json engine block. More specific entries for `.dockerignore`
will help keep the `COPY` step quick (especially for local dev image
builds).

Reasoning:
  - nodejs-18 is in LTS until May 2025, but nodejs-20 will be in LTS until
    May 2026. [^1]

  - node and npm are distributed together, and the `ubi9/nodejs-20`
    container has a newer version of npm included (10.7.0) than the current
    `ubi9/nodejs-18` container (10.5.0)

  - Given github issues [^2] and [^3], we can assume that the only
    versions of npm that will be stable in CI during the `npm install` phase
    are `npm@9` and `npm@>=10.5.2`. Any npm version <10.5.2 is at severe
    risk of encountering network errors when installing packages, especially
    when running in a qemu environment for non-native architecture builds.

  - Being very specific in the `package.json` `engines` block will help
    keep everyone on working versions of npm.

[^1]: https://nodejs.org/en/about/previous-releases
[^2]: npm/cli#7231
[^3]: npm/cli#7072

Backport-of: konveyor#2062
Signed-off-by: Scott J Dickerson <sdickers@redhat.com>
Copy link

codecov bot commented Aug 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (release-0.5@2b0ef6c). Learn more about missing BASE report.

Additional details and impacted files
@@              Coverage Diff               @@
##             release-0.5    #2064   +/-   ##
==============================================
  Coverage               ?   42.53%           
==============================================
  Files                  ?      171           
  Lines                  ?     5504           
  Branches               ?     1375           
==============================================
  Hits                   ?     2341           
  Misses                 ?     3046           
  Partials               ?      117           
Flag Coverage Δ
client 42.53% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@sjd78 sjd78 merged commit 74daaf2 into konveyor:release-0.5 Aug 28, 2024
10 checks passed
@sjd78 sjd78 deleted the backport_pr2062_0.5 branch August 28, 2024 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants