-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Investigate options for registry cleanup #3017
Comments
@danielbate I think the second point here is super valuable, as it'd enable us to run the UI integration tests by default, and not only on merge to master. |
@danielbate The reference script/workflow I mentioned: |
Also, here's the NPM policy: |
I have contacted support to remove the following versions, let's see how it goes. Worst case scenario we can alter the script and deprecate these versions. |
Easy, just 21k+ versions. 😅 |
Okay so unfortunately support cannot remove our versions... Our weekly download count is too high and we have too many dependents. I'm going to make an adjustment to the script so that it deprecates these versions rather than attempting to un-publish. I'd also favour having it run on a cron whilst we go through this process. I'll also look to move future published PR versions to a seperate registry. |
@arboleya I've investigated using a private registry and it certainly is possible. However one reason we use PR versions is for testing with consumers. Using a private/separate registry will require the consumer to configure the I think this problem could be mitigated if we just correctly and regularly deprecate versions. Once #3465 is through I'll make a change so we can pass singular versions, and maybe even a cron that cleans up versions every few days (but I'm not sold on the latter as consumers take time to respond). Do you think this would suffice, or still prefer a separate registry? |
@danielbate Could we deprecate a specific tag when the related PR goes to Can custom registries be specified as a CLI option or just as a npm install abc --registry=xyz Either way, it's perfectly fine to move in small increments here. We can start with deprecation and still consider possible future improvements. |
Yes exactly my thoughts. So on a feature PR merge, we could deprecate any associated AFAIK it's only via the |
@danielbate We will stop publishing non-tag versions to NPM, effective immediately. For temporary and non-tagged releases ( |
Makes sense. Given the increase in priority I've unassigned my self for now. Hopefully it can be picked up sooner by either @petertonysmith94 or @nedsalk? |
@arboleya I've been exploring using GitHub packages as a registry option (#3639). To enable publishing, we must make many changes to our package names in package.json, changesets, etc., to include the organisation scope ( A better option might be using AWS CodeArtifact, which should reduce this complexity and be more in-sync with the actual release process to NPM. Note It does appear now I have managed to publish to GitHub Packages |
Great job, man! Record time. 👏 I don't see anything wrong with Github - do you? I think the flow would look something like this: ---
title: Release Flow
---
flowchart
PR([PR #4876]) --> Master(master)
PR --> | pr-4876 | GH
Master --> IsRelease[[is this a release?]]
IsRelease --> Yes(yes)
IsRelease --> No(no)
Yes --> Wait[/manual approval/]
Wait --> | latest | Npm{NPM}
No --> | next | GH(((GitHub)))
|
I'm happy with GitHub for now. I've implemented a workflow based on your diagram in #3639. The manual approval will still be required at the moment - we will need to separate the workflow into two jobs:
|
We have managed to deprecate all our We deprecated all our dist-tags on the following action: Using the following PR: We've have a PR to integration GitHub packages: I've created an issue to enhance this workflow further: |
When someone runs
npm info fuels,
the output is far from ideal:Click for screenshot
The solution to this would include two steps:
The ability to publish temporary PRs is helpful, but it'd be great if we could do that separately from the NPM registry.
Could we use GitHub packages to resolve the second point?
Ideally, we'd still be able to publish temp tags while keeping our packages clean and tidy.
The text was updated successfully, but these errors were encountered: