Skip to content

Warn when deploying with End-of-Life Node.js versions#1621

Merged
colincasey merged 10 commits intomainfrom
eol-warnings-v2
Apr 27, 2026
Merged

Warn when deploying with End-of-Life Node.js versions#1621
colincasey merged 10 commits intomainfrom
eol-warnings-v2

Conversation

@colincasey
Copy link
Copy Markdown
Contributor

@colincasey colincasey commented Apr 17, 2026

Summary

  • Add eol boolean field to resolve-version JSON output, checking if the resolved version's major is in SUPPORTED_NODEJS_VERSIONS
  • Display EOL warning via output::warning when deploying with an unsupported Node.js version
  • Track node_version_eol metric via build_data::set_raw
  • Add EOL warning assertions to hatchet specs for all EOL versions (10, 12, 14, 15, 16, 17, 18, 19, 21, 23) and absence assertions for supported versions (20, 22, 24, 25)

Matches the CNB buildpack behavior from heroku/buildpacks-nodejs#1353.

@colincasey colincasey self-assigned this Apr 17, 2026
@colincasey colincasey force-pushed the simplified-resolve-version branch 3 times, most recently from 2b9a2df to da584cf Compare April 21, 2026 13:23
Base automatically changed from simplified-resolve-version to main April 21, 2026 13:33
@colincasey colincasey force-pushed the eol-warnings-v2 branch 5 times, most recently from a22f587 to 5d51e81 Compare April 22, 2026 19:46
@colincasey colincasey changed the base branch from main to cc/install-bins-output-helpers April 22, 2026 19:46
@colincasey colincasey force-pushed the eol-warnings-v2 branch 2 times, most recently from 394a7c0 to 0672376 Compare April 22, 2026 20:03
Base automatically changed from cc/install-bins-output-helpers to main April 23, 2026 13:28
Move the EOL boolean from inline JSON serialization into the Resolution
struct so tests verify actual production logic instead of re-deriving it.
…ersions

Functional tests using EOL Node fixtures now produce stderr output from
the EOL warning. Switch from assertCapturedSuccess (which requires empty
stderr) to assertCapturedSuccessWithWarnings (which only checks exit code).
@colincasey colincasey marked this pull request as ready for review April 23, 2026 15:44
@colincasey colincasey requested a review from a team as a code owner April 23, 2026 15:44
Copy link
Copy Markdown
Contributor

@schneems schneems left a comment

Choose a reason for hiding this comment

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

No blockers, left some comments

Comment thread test/run-general
Comment thread test/run-general Outdated
Comment thread lib/binaries.sh
Comment thread lib/binaries.sh
Co-authored-by: Richard Schneeman <richard.schneeman+foo@gmail.com>
Signed-off-by: Colin Casey <casey.colin@gmail.com>
@colincasey colincasey merged commit bf39851 into main Apr 27, 2026
22 checks passed
@colincasey colincasey deleted the eol-warnings-v2 branch April 27, 2026 13:07
@heroku-linguist heroku-linguist Bot mentioned this pull request Apr 27, 2026
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