Skip to content

Create Repository Archival Workflow #160

@adriandarian

Description

@adriandarian

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

  1. Detection Phase

    • Identify inactive repos (no commits in X months)
    • Flag deprecated repositories
    • Check for open issues/PRs
    • Review dependency usage
  2. Notification Phase

    • Notify maintainers
    • Post issue warning of archival
    • Update README with deprecation notice
    • Announce on discussions/channels
  3. 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
  4. Archival Phase

    • Set repository to archived
    • Update organization profile
    • Remove from active project boards
    • Update documentation references
    • Redirect traffic (if applicable)
  5. 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/repo

Criteria 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

Relationships

None yet

Development

No branches or pull requests

Issue actions