Skip to content

Strengthen release-plan.yaml validation with cross-field consistency checks #232

@hdamker

Description

@hdamker

Problem description

Current release-plan.yaml validation (P-009, P-022, P-023) covers regex-level checks on individual fields. Combinations of fields can still pass these checks while being internally inconsistent — and the same content drives the release at pre-snapshot, so an inconsistency that slips through is no longer just a documentation issue.

Possible evolution

Add a class of cross-field consistency rules running both at PR-time on release-plan.yaml changes and at pre-snapshot on the active release plan.

Example case — target_api_status: public is valid only if either:

  • target_release_type is public, or
  • the target_api_version was previously published in a public release (e.g. an unchanged stable base API in a cycle that only ships subscription changes).

A merged real-world instance of this inconsistency: WebRTC#140 sets target_api_status: public for a target_api_version that has not previously been published as public.

Further validation requirements welcome as comments on this issue before scoping. Please include the field combination, the failure mode it would catch, and — if known — a published release plan where it would have flagged a real issue.

Alternative solution

Renaming fields (e.g. target_api_versiontarget_api_base_version, target_api_statusnext_api_release_status) so the "next release" semantics are self-evident. Out of scope here: that is a breaking schema change and would need to be handled as a major schema revision.

Additional context

Once the rule list stabilises in comments, scoping moves into the validation framework and a dedicated regression/r4.2-release-plan-validation branch with bogus-tag and exclusivity-violation fixtures.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestrelease automationRelated to the implementation or introduction of new release automationvalidation frameworkRelated to implementation and introduction of new validation workflow

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions