Skip to content

Reusable Schemathesis conformance workflow #119

Description

@ExtraToast

What to build

A reusable workflow that fuzzes a service against its own OpenAPI spec and fails when the running API does not behave the way the contract claims.

On a pull request it fuzzes read-only operations only, against the service booted in its existing integration-test tier. That keeps the gate fast, deterministic and free of write side-effects. The full suite including mutations runs on a schedule and files an issue rather than blocking a merge, because property-based fuzzing of write paths against a real database is where flakiness comes from — and a flaky gate gets ignored.

Run the tool from its container image so no Python toolchain enters the JVM repositories.

Acceptance criteria

  • The pull-request path fuzzes reads only and performs no writes
  • The scheduled path covers mutations and reports without blocking merges
  • No Python is added to a consuming repository's toolchain
  • The gate is demonstrated to fail against a deliberately non-conforming build

Blocked by

None — can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: toolingReusable workflows, Gradle, templates, Renovate, and API tooling.component: testsUnit, integration, system, or contract test concern.priority: P2Medium; normal planned work.type: testTest coverage, fixtures, or validation changes.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions