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:
-
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
-
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
-
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
-
Unchanged API Version Lock
- Version must match the previous public release
- Status must be 'public'
Implementation approach
Use GitHub API to:
- List existing releases in the repository
- 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
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:
Release Tag Progression
API Semantic Version Progression
Maintenance Release Constraints
Unchanged API Version Lock
Implementation approach
Use GitHub API to:
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