Skip to content

Implement Automated Release Workflow for Arc Repository Suite #114

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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