feat: add package registry and maintainability check (#1400)#1403
Open
RuchitAgrawal wants to merge 1 commit intooracle:mainfrom
Open
feat: add package registry and maintainability check (#1400)#1403RuchitAgrawal wants to merge 1 commit intooracle:mainfrom
RuchitAgrawal wants to merge 1 commit intooracle:mainfrom
Conversation
Signed-off-by: ruchitagrawal <rragrawal16@gmail.com>
Member
|
@RuchitAgrawal Thanks for the PR! Could you suggest a few packages that would fail this check? That would help us identify good candidates to include in integration tests. |
Member
|
@RuchitAgrawal Looks like the integration tests are failing. You can search for "case failed" in the log to see which test is failing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Adds a new check
mcn_registry_maintainability_1that validates whether a package exists on its public registry and is actively maintained.Description of changes
The check uses three signals when available:
find_publish_timestamp()to confirm the package exists and check how many days have passed since the last release. Exceeding the threshold fails the check.yankedflag for PyPI packages and thedeprecated fieldfor npm packages from existing registry JSON responses. A yanked or deprecated package always fails, regardless of release age.get_repo_data()to check if the repo is archived and how recently code was pushed. An archived repo always fails.Results include remediation guidance and links to the registry page and source repository. The inactivity threshold is configurable via
defaults.iniunderregistry_maintainability(default: 365 days).Related issues
Closes #1400
Checklist
verifiedlabel should appear next to all of your commits on GitHub.