-
Notifications
You must be signed in to change notification settings - Fork 33
[RFC] Repository Archive Check-list #51
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
Open
gsteel
wants to merge
1
commit into
laminas:main
Choose a base branch
from
gsteel:archive-steps
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| # Archiving & Abandoning Repositories | ||
|
|
||
| This is a checklist of tasks to complete for abandoning and archiving repositories. | ||
|
|
||
| ## Open a Pull Request with the following changes | ||
|
|
||
| ### Update the README | ||
|
|
||
| - Remove any CI badges | ||
| - Prepend a notice to the top of the README similar to the following passage: | ||
| ```markdown | ||
| > [!CAUTION] | ||
| > This package is **abandoned** and will receive no further development. | ||
| > | ||
| > See the Technical Steering Committee [meeting minutes](url to the minutes). | ||
| > | ||
| > Optionally a sentence about an actively maintained alternative library. | ||
| ``` | ||
| - Check for and remove any content from the README that is now irrelevant. | ||
|
|
||
| ### Update `composer.json` | ||
|
|
||
| Add the `"abandoned":true` to `composer.json` at the top-level of the file and run `composer update nothing` to refresh the lockfile. | ||
|
|
||
| ### Remove `renovate.json` | ||
|
|
||
| Remove the renovate configuration file - this is possibly unnecessary, as once archived, renovate is unlikely to open new PRs. | ||
|
|
||
| ### Update `mkdocs.yml` | ||
|
|
||
| In `mkdocs` configuration, alter the `site_name` variable, for example: | ||
|
|
||
| ```diff | ||
| - site_name: Some Name | ||
| + site_name: Some Name (Abandoned) | ||
| ``` | ||
|
|
||
| ## Close all existing PRs and Issues | ||
|
|
||
| Once the pull request has been merged, close all open issues and PRs, and ideally, leave a comment with a reason for the closure such as: "This library/project has been abandoned". | ||
|
|
||
| Waiting for the PR to be merged will prevent renovate opening new PRs automatically before you've managed to hit the archive button. | ||
|
|
||
| ## Update Repository Custom Properties | ||
|
|
||
| There are several custom properties that will require updating so that the website is updated with the status of the repository. These are: | ||
|
|
||
| - `maintenance-mode` which should be set to "discontinued" | ||
| - `maintenance-mode-date` which should be the date the decision was made to abandon the project (i.e. TSC meeting date) in ISO format _YYYY-MM-DD_ | ||
| - `maintenance-mode-minutes` this should be set to the file name of the meeting minutes, i.e. `2024-08-14-TSC-minutes.md` | ||
| - `eol-date` if unset, should be set to the same value as `maintenance-mode-date` | ||
|
|
||
| ## Manually Re-Build Documentation | ||
|
|
||
| If necessary, rebuild and deploy the project docs by manually triggering the `docs build` action. | ||
|
|
||
| ## Archive the Repository | ||
|
|
||
| In the repository settings, go to the "Danger Zone" and press the archive button. | ||
|
|
||
| ## Update Documentation Elsewhere | ||
|
|
||
| Depending on the project, it may not have its own documentation, so you may need to open PRs in other repositories to add notices, or remove content to ensure that users are sufficiently aware of the project status. | ||
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this necessary? Archiving the repo already prohibits new replies 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My opinion is that it's decent to let whomever opened the PR/Issue know that it's not getting fixed/merged. I don't think it's necessary per se