Skip to content

Implement Automated Release Workflow for Arc Repository Suite #114

@kaikreuzer

Description

@kaikreuzer

Overview
Establish an automated release workflow for the Arc repository suite that handles coordinated releases across all Arc-related repositories.

Affected Repositories

Release Requirements

  1. Coordinated Release Process

    • All repositories must be released simultaneously
    • Consistent version numbers across all repositories
    • Automated GitHub release creation for each repository
  2. Release Types and Versioning

    a) Milestone Releases (e.g., 0.1.0.M1, 0.1.0.M2):

    • Triggered by pushing a specific tag to the repositories
    • No version bump in main branch after milestone releases
    • Format: X.Y.Z.MN (where MN is the milestone number)

    b) GA Releases (e.g., 0.1.0, 0.2.0):

    • After successful release:
      • Main branch versions should be bumped to next minor SNAPSHOT version
      • Example: After 0.1.0 release → bump to 0.2.0-SNAPSHOT
  3. Release Automation Requirements

    • Create GitHub release tags across all repositories
    • Automatically generate release notes using GitHub's features
      • Aggregate changes from all 4 repositories into the arc-repo release notes description
      • Include merged PRs, resolved issues, and other relevant changes
    • Implement version management
      • Handle milestone versioning
      • Handle GA versioning
      • Manage SNAPSHOT versions

Technical Implementation

  1. Release Trigger Mechanism

    # Example trigger
    git tag -a release-0.1.0.M1 -m "0.1.0 Milestone 1 Release"
    git push origin release-0.1.0.M1
    
  2. Workflow Steps

    • Verify all repositories are in a releasable state (latest head commit)
    • Create release tags simultaneously across all repositories
    • Generate consolidated release notes into the arc repo release description
    • Create GitHub releases with artifacts
    • For GA releases only: bump versions in main branches
  3. Version Management

    • Milestone releases: X.Y.Z.MN
    • GA releases: X.Y.Z
    • Development versions: X.Y.Z-SNAPSHOT

Success Criteria

  • Single trigger creates releases across all repositories
  • Release notes automatically aggregated from all repositories
  • Proper version management for both milestone and GA releases
  • All artifacts properly tagged and released in GitHub
  • Main branch versions correctly managed post-GA releases

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions