OAI / OpenAPI-Specification

The OpenAPI Specification Repository
https://openapis.org
Apache License 2.0
28.95k stars 9.07k forks source link

Schema development: main or branch, in parallel or at release time? #3716

Open handrews opened 6 months ago

handrews commented 6 months ago

I'm splitting out the schema-related concerns from #3677 as we decided in a recent TDC meeting that the schema, spec, and gh-pages parts have different priorities (and probably involve different people).

handrews commented 4 days ago

So... given the proposals for branching in PR #4154 (background in issue #3677), I can see a few options for schemas:

share the X.Y-dev branches, but release independently

This would consolidate the schemas, based on the 3.1.1 files, under src/ (alongside the spec which is src/oas.md) on the dev branch, and we'd do the release-line-specific schema work on the appropriate X.Y-dev branch.

Since schema releases are independent of patch releases, instead of making X.Y.Z-rel branches to rename to the published file location, we'd make branches like 2024-10-22-rel.

PROS:

CONS:

MITIGATION:

Keep the schemas/ layout but do the work on dev

PROS:

CONS:

MITIGATION:

Hybrid 1: Keep /schemas but work on X.Y-dev

In this approach, we don't rename any schema files into the src/ directory.

PROS:

CONS:

MITIGATIONS:

Hybrid 2: work on X.Y-dev under src/ and release directly from there

This approach more-or-less abandons schemas on dev or main, and just triggers publishing to the spec site directly from the X.Y-dev branch.

PROS:

CONS: