Skip to content

Extend release-plan validation with version progression checks #50

@hdamker

Description

@hdamker

Problem description

The release-plan.yaml validation (PR #48) covers schema validation and basic semantic checks. However, it cannot validate version progression rules that require comparing against previous releases.

Possible evolution

Add the following validation checks:

  1. Release Tag Progression

    • Within release cycle: r4.1 → r4.2 → r4.3
    • New cycle: r4.3 → r5.1 (not r5.2)
    • Implementation: Use GitHub API to list existing releases
  2. API Semantic Version Progression

    • Draft → Alpha: version can change freely
    • Alpha → RC: minor version bump expected
    • RC → Public: no version change expected
    • Public → Public: proper increment based on changes
  3. Maintenance Release Constraints

    • Only patch version bumps allowed (X.Y.Z → X.Y.Z+1)
    • No new APIs can be added
    • All APIs must remain 'public' status
  4. Unchanged API Version Lock

    • Version must match the previous public release
    • Status must be 'public'

Implementation approach

Use GitHub API to:

  1. List existing releases in the repository
  2. Fetch release-metadata.json or release-metadata.yaml from release assets for previous release details (including API versions)

The release-metadata files are uploaded by the release collector for legacy releases and follow the format defined in the release-metadata schema.

Alternative solution

None identified - GitHub API access is required for cross-release validation.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    BacklogImplementation not considered short-term, long-term evolution issueenhancementNew feature or requestrepository managementIssues and PRs related to the management of the repository

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions