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

Determine policy for build retention #3836

Open
ryanaslett opened this issue Jul 17, 2024 · 3 comments
Open

Determine policy for build retention #3836

ryanaslett opened this issue Jul 17, 2024 · 3 comments

Comments

@ryanaslett
Copy link
Contributor

In building the new backup server, I ran into an issue where we had several terabytes of old nightly and v8-nightly builds going back 8 years.

Preserving this data has a cost, and I'd like to discuss whether it needs to be preserved moving forward.

Im struggling to come up with a use case for needing to keep nightlies that far back in time. Perhaps this is something that can be addressed at the TSC level?

@mhdawson
Copy link
Member

My proposal is that we only keep the data which is retained on the main server as per the current cleanup scripts on the www server. We have more than that on the backup servers I think mostly because we never removed it there, or never made a decision and it was just easier to not delete anything on the backup server.

We have never had a request for a build that was not retained on the www server.

@ryanaslett could you give a short overview of what that means in terms of the builds we keep and how long. After that I'd see the next steps as

  1. We reach consensus in the build team
  2. We share our recommendation with TSC. (tag for agenda and explain in at least one TSC meeting) to see if there are any concerns.
  3. We delete the build no longer needed.

@ryanaslett
Copy link
Contributor Author

The prune.sh script that runs on nodejs-www only touches the nightly and v8-canary releases. All other releases are preserved indefinitely.

For each node version,

it keeps the very first of the month for anything over 2 years old, and the latest nightly ever produced for a version.

It keeps everything from the last two months
It keeps every date number ending in 1 (So 01 11 21 31) for everything between 2 years and 2 months.

Additionally, It only performs this pruning on node version 20 and lower. Its unclear if that's deliberate, and we currently want to preserve all nightly builds for v21, 22, and 23, or if the script just hadn't been updated to prune the higher version numbers or not.

@mhdawson
Copy link
Member

Additionally, It only performs this pruning on node version 20 and lower. Its unclear if that's deliberate, and we currently want to preserve all nightly builds for v21, 22, and 23, or if the script just hadn't been updated to prune the higher version numbers or not.

I believe that was just an omission.

@ryanaslett thanks for the overview.

@nodejs/build thoughts on my proposal?

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

No branches or pull requests

2 participants