-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Milestone
Description
Create automated workflow for properly archiving inactive or deprecated repositories.
Details
Standardized process for archiving repositories with proper documentation and notification.
Workflow Location
.github/workflows/archive-repository.yml
Archival Process
-
Detection Phase
- Identify inactive repos (no commits in X months)
- Flag deprecated repositories
- Check for open issues/PRs
- Review dependency usage
-
Notification Phase
- Notify maintainers
- Post issue warning of archival
- Update README with deprecation notice
- Announce on discussions/channels
-
Preparation Phase
- Document reason for archival
- Add archive notice to README
- Update topics/tags
- Link to replacement (if any)
- Export issues to archive
- Backup repository data
-
Archival Phase
- Set repository to archived
- Update organization profile
- Remove from active project boards
- Update documentation references
- Redirect traffic (if applicable)
-
Cleanup Phase
- Remove webhooks
- Delete unused branches
- Archive artifacts
- Update dependencies elsewhere
Archival Checklist
- README updated with archive notice
- Deprecation reason documented
- Open issues addressed or transferred
- Open PRs closed or merged
- Alternative recommended (if exists)
- Dependencies updated in other repos
- Documentation references updated
- Repository topics updated
- Stakeholders notified
- Data backed up
Archive Notice Template
# ⚠️ ARCHIVED
This repository has been archived and is no longer maintained.
## Reason
[Explain why the repository is being archived]
## Alternative
[Link to replacement or alternative solution]
## History
- Created: [date]
- Last updated: [date]
- Archived: [date]
- Total contributors: [count]
- Total releases: [count]
## Archive Contents
All code and history remain available for reference but will not receive updates.Automation Features
- Auto-detect stale repositories
- Generate archival proposal
- Create archival checklist issue
- Send notifications
- Update references automatically
- Generate archival report
Command Interface
# Check for archival candidates
python scripts/check-archival-candidates.py
# Prepare repository for archival
python scripts/prepare-archive.py --repo owner/repo
# Archive repository
python scripts/archive-repo.py --repo owner/repo --reason "deprecated"
# Restore archived repository
python scripts/restore-archive.py --repo owner/repoCriteria for Archival
- No commits in 12+ months
- No releases in 18+ months
- Explicitly deprecated
- Superseded by another repo
- No longer aligned with org goals
- Unmaintained with no interested maintainers
Acceptance Criteria
- Detection workflow working
- Notification process clear
- Archive checklist comprehensive
- Documentation templates ready
- Automation scripts functional
- Backup process reliable
- Reference updates automated
- Stakeholder communication good
- Process documented
- Tested with test repository
Metadata
Metadata
Assignees
Type
Projects
Status
No status