Skip to content

Create Cross-Repository Change Management #158

@adriandarian

Description

@adriandarian

Create system for coordinating changes that affect multiple repositories simultaneously.

Details

Tool and workflow for planning, executing, and verifying changes across multiple repos.

System Components

  • Change planning tool
  • Execution orchestrator
  • Verification system
  • Rollback capability
  • Audit logging

Use Cases

  • Update shared dependencies
  • Migrate to new CI/CD workflows
  • Update GitHub Actions versions
  • Change coding standards
  • Rename default branches
  • Update license files
  • Migrate configuration formats
  • Update documentation templates

Change Process

  1. Planning Phase

    • Define scope (which repos)
    • Specify changes (files, patterns)
    • Test on sample repos
    • Review and approve plan
  2. Execution Phase

    • Create branches in all repos
    • Apply changes automatically
    • Run validation tests
    • Create PRs for review
  3. Verification Phase

    • Check CI passes on all PRs
    • Verify changes applied correctly
    • Review diff for accuracy
    • Collect approval status
  4. Completion Phase

    • Merge approved PRs
    • Monitor for issues
    • Generate completion report
    • Archive change documentation

Configuration File

change-plans/plan-name.yml:

name: "Update CI workflow to v2"
description: "Migrate all repos to new test workflow"
target_repos:
  - all
  exclude:
    - archived-repos
    - template-repos

changes:
  - file: ".github/workflows/test.yml"
    action: replace
    source: "templates/workflows/test-v2.yml"
  
  - file: "package.json"
    action: update_json
    path: "scripts.test"
    value: "jest --coverage"

validation:
  - run: "npm test"
    required: true
  - check: "ci-passes"
    required: true

rollback_plan:
  - restore_from: "backup"

Command Interface

# Plan a change
python scripts/cross-repo-change.py plan --config change.yml

# Preview (dry-run)
python scripts/cross-repo-change.py execute --config change.yml --dry-run

# Execute
python scripts/cross-repo-change.py execute --config change.yml

# Verify
python scripts/cross-repo-change.py verify --config change.yml

# Rollback
python scripts/cross-repo-change.py rollback --config change.yml

Safety Features

  • Mandatory dry-run before execution
  • Automatic backup before changes
  • Per-repo validation before merge
  • Easy rollback mechanism
  • Change impact analysis
  • Approval workflow for sensitive changes

Reporting

  • Pre-change impact report
  • Execution progress tracking
  • Post-change verification report
  • Success/failure summary
  • Issues encountered log

Acceptance Criteria

  • Planning tool generates valid plans
  • Execution orchestrator reliable
  • Changes applied correctly
  • Validation catches errors
  • PRs created properly
  • Rollback works correctly
  • Audit logging complete
  • Documentation comprehensive
  • Tested with complex changes
  • No repos left in inconsistent state

Metadata

Metadata

Assignees

Type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions