Document default OS policy and set default variant per node version #1288
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The default operating system release used by
node
images has not been properly documented, and the policy of updating the operating system release underlying a specificnode
release has been causing unexpected behavior when the operating system release had been updated. The clearest description of the issue was in #1068, which was closed without properly documenting the maintenance policy.Changes here in
README.md
I'm trying to write down sensible policy of the operating system release. There are arguably also other ways to define the OS release policy than that one.The policy written and implemented causes different default operating system release to be used per nodejs version. In my opinion this makes sense, because the operating system support period and nodejs maintenance period should be in sync as much as possible.
The policy here defines default operating system release of both Debian and Alpine per nodejs version compared to earlier solution of defining the default release shared for all nodejs versions. This allows the operating system support period and nodejs maintenance period to be more in sync. The policy allows changing the underlying default operating system release when specific nodejs version enters LTS maintenance period. IMHO it would make sense to switch default Debian release used with Nodejs v14 to be Debian 10 (buster) instead of Debian 9 (stretch), which it is now, so it does not need to be changed during the Nodejs v14 LTS maintenance period. On the other hand Nodejs v10 LTS maintenance period ends at 2021-04-30, which is earlier than Debian 9 (stretch) extended support, which ends at June 30, 2022, and therefore Nodejs v10 default Debian release should not be changed, just my 0.02 cents. Nodejs v12 LTS maintenance ends at 2022-04-30, which is also before Debian 9 (stretch) extended support ends, which also should not be changed.
I did not analyze Alpine release timeline, but the configuration change here allows also Alpine default tag to be configured per node version.
This also cleans up some chakracore configuration support as it was removed and supporting that complex logic was in conflict of having
config
file per nodejs version.