Skip to content

Validate live OpenAPI contracts and generated clients - #452

Closed
tillrohrmann wants to merge 2 commits into
restatedev:mainfrom
tillrohrmann:issues/451
Closed

tillrohrmann wants to merge 2 commits into
restatedev:mainfrom
tillrohrmann:issues/451

Conversation

@tillrohrmann

@tillrohrmann tillrohrmann commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Fetch Admin, Service, Virtual Object, and Workflow specifications from the candidate Restate instance. Generate and compile Java clients, then exercise HTTP deployment responses, resume/restart selectors, and ingress operations against the live cluster instead of asserting on schema JSON layout.

Refresh the existing Admin specification and use it as the baseline for a pinned oasdiff compatibility check. Align OpenAPI Generator versions, remove stale generated sources, and retain specifications and compiler diagnostics in the existing test reports. Document local execution and baseline updates.

The checks run through the existing default E2E suite. Keep the setup-java v4 update without adding separate CI steps or negative-control tests.

This fixes #451

Fetch Admin, Service, Virtual Object, and Workflow specifications from the
candidate Restate instance. Generate and compile Java clients, then exercise
HTTP deployment responses, resume/restart selectors, and ingress operations
against the live cluster instead of asserting on schema JSON layout.

Refresh the existing Admin specification and use it as the baseline for a
pinned oasdiff compatibility check. Align OpenAPI Generator versions, remove
stale generated sources, and retain specifications and compiler diagnostics
in the existing test reports. Document local execution and baseline updates.

The checks run through the existing default E2E suite. Keep the setup-java
v4 update without adding separate CI steps or negative-control tests.

This fixes restatedev#451.
Use raw HTTP requests when listing and updating deployments in the old-server phase. The current generated Admin client cannot deserialize v1.7 deployment responses without the type discriminator, even when an update's return value is ignored.

Replace the legacy v2 PUT with PATCH, which v1.7.3 already supports. Document why raw requests are necessary and when they can be replaced with the generated Admin API.
@slinkydeveloper

Copy link
Copy Markdown
Collaborator

Took some bits in #454 then gonna close as discussed offline

@github-actions github-actions Bot locked and limited conversation to collaborators Oct 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automate OpenAPI validation for v1.8.0

2 participants