Skip to content

ci: surface breaking-change drift on spec/api.json #4097

Description

@infracore

Found this in your own spec history

I ran a structural diff on spec/api.json between v2.3.0 and v26.2.0 and it surfaced 5 breaking changes:

  • pagination and paginationHeaders schemas removed from components
  • MaxItems and DefaultItems parameters removed from GET /admin/trust/grants/jwt-bearer/issuers
  • device_authorization_endpoint became a required field in oidcConfiguration

The major bump from v2 to v25 covered all of them, so nothing is broken today. The reason I'm flagging it: the required_field_added on oidcConfiguration is the kind of change that a reviewer can't easily eyeball from a PR diff. If a future change like that one slipped into a non-major release, older OIDC discovery consumers that don't supply the field would silently break, and the spec change in the PR wouldn't make the impact obvious.

Proposal

Add a CI step that runs the same kind of diff on every PR and posts a comment when it sees a breaking change. Advisory-only at first; you can decide later whether to fail the build or to require a release-note/breaking label.

This pattern was merged into goharbor/harbor's CI in goharbor/harbor#23089 last week, if a reference is useful.

Would an advisory-only PR along these lines be welcome? Happy to keep it limited to the diff + comment, with no other scope.

Metadata

Metadata

Assignees

No one assigned

    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