[FEAT]: Make the version update of node automatic
Clear and concise description of the problem
knowing node has a version utility library, it's possible to make the node version upgrade completely hands-free or human-labor-free,
Suggested solution
Same method as official docs method using @nodevu/core.
Make sure to check available "node alpine" tags in Docker Hub, preferably using Docker CLI. Especially the Alpine Docker image version, otherwise, it is possible to break the build when the Alpine version is not available.
It's simple, we delete EoL versions and we create a new version by copying existing files and folders, but updating the folder name and replacing some strings.
Reference:
- https://nodejs.org/en/about/previous-releases
- https://github.com/nodejs/nodejs.org/blob/main/apps/site/pages/en/about/previous-releases.mdx?plain=1
- https://github.com/nodejs/nodejs.org/blob/0a6bec296abbc82c82559b0d4c99123bfadfd8e0/apps/site/components/Releases/PreviousReleasesTable/index.tsx#L8
- https://github.com/nodejs/nodejs.org/blob/0a6bec296abbc82c82559b0d4c99123bfadfd8e0/apps/site/next-data/generators/releaseData.mjs#L6
Alternative
Alternatively, we can use our own solution by reading docker-node repo page.
Use curl and jq to fetch the repo page and determine which major version exists; we will then auto-update our repo docs accordingly. Using this method, make sure to check that the available "node alpine", especially the alpine version number, exists in the Docker Hub. So, we need to use the Docker CLI to get that information or read it directly from Docker Hub's web interface.
It's simple, we delete EoL versions and we create a new version by copying existing files and folders, but updating the folder name and replacing some strings.
Reference: -
Additional context
We prefer to use the newest Alpine version available, since we want our Docker image future proof and we build it daily.
But other opinions are welcome. We love feedback.
Validations
- [x] Follow our Code of Conduct
- [x] Read the Contributing Guide.
- [x] Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.
Hi @ImBIOS,
I would love to work on this feature for Hacktoberfest. This looks like a great automation task.
My plan is to create a Bash script that uses curl and jq to fetch the latest Node.js LTS version and then create a GitHub Actions workflow to run this on a schedule and create a PR with the update.
Could you please assign this issue to me?
Assigned @SanjeevHegde14, please attempt the main solution as I wrote in the updated issue details.
Feel free to use LLM to assist you.
Please avoid using our own solution by using jq, since it's not the most reliable option.
I'm so sorry cannot pay you yet. May God pay you with something better than what you have done for this community.
I will get this done next weekend since I'm busy right now, I hope it's not a big trouble.