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

No one assigned

    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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions