Skip to content

Commit 4c4ae37

Browse files
authored
Merge pull request #5553 from lornajane/docs/update-release-info
Improve the instructions for specification releases
2 parents c9f8f04 + 4d492ea commit 4c4ae37

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,12 @@ Reviews requesting changes should have their changes addressed regardless of how
234234
The specification versions are published to the [spec site](https://spec.openapis.org/oas) by creating an `vX.Y.Z-rel` branch where `src/oas.md` is renamed to the appropriate `versions/X.Y.Z.md` file and then merged to `main`.
235235
This renaming on the `vX.Y.Z-rel` branch preserves the commit history for the published file on `main` when using `git log --follow` (as is the case for all older published files).
236236

237-
The steps for creating a `vX.Y.Z-rel` branch are:
237+
Before you start check that you have:
238+
239+
- release notes
240+
- approval by TSC vote for the content you are releasing
241+
242+
The steps for publishing a new specification version are:
238243

239244
1. Update `EDITORS.md` on `main`
240245
2. Merge `main` into `dev` and `dev` into `vX.Y-dev` via PRs
@@ -245,18 +250,24 @@ The steps for creating a `vX.Y.Z-rel` branch are:
245250
- open `deploy-preview/oas.html` in browser and verify correct formatting
246251
- adjust and repeat until done
247252
- merge changes to `src/oas.md` back into `vX.Y-dev` via PR
248-
4. Create `vX.Y.Z-rel` from `vX.Y-dev` and adjust it
249-
- `yarn adjust-release-branch` does this:
253+
4. Create a branch `vX.Y.Z-rel` from `vX.Y-dev` and use `yarn adjust-release-branch` to adjust it.
254+
- `yarn adjust-release-branch` does the following:
250255
- copy file `src/oas.md` to `versions/X.Y.Z.md` and replace the release date placeholder `| TBD |` in the history table of Appendix A with the current date
251256
- copy file `EDITORS.md` to `versions/X.Y.Z-editors.md`
252257
- delete folder `src`
253258
- delete version-specific files and folders from `tests/schema`
254259
- file `schema.test.mjs`
255260
- folders `pass` and `fail`
261+
- the changes are now staged; use `git diff --cached` to review them (it is expected that a lot of files show as deleted)
262+
- commit the changes
256263
5. Merge `vX.Y.Z-rel` into `main` via PR
257264
- this PR should only add files `versions/X.Y.Z.md` and `versions/X.Y.Z-editors.md`
265+
6. Tag a release using GitHub's Releases feature; add the release notes as the description (don't autogenerate release notes).
266+
7. Manually trigger the [`respec` workflow](https://github.com/OAI/OpenAPI-Specification/blob/main/.github/workflows/respec.yaml). This workflow:
267+
- generates HTML renderings of the files in the `versions/` directory of the main branch on this repository
268+
- opens a pull request on the [repository for the spec site](https://github.com/OAI/spec.openapis.org)
258269

259-
The HTML renderings of the specification versions are generated from the `versions` directory on `main` by manually triggering the [`respec` workflow](https://github.com/OAI/OpenAPI-Specification/blob/main/.github/workflows/respec.yaml), which generates a pull request for publishing the HTML renderings to the [spec site](https://spec.openapis.org).
270+
When that pull request is merged, the specification is included on the [spec site](https://spec.openapis.org)
260271

261272
The release commands are implemented in
262273
[`OAI/build-infra`](https://github.com/OAI/build-infra). If a command behaves

0 commit comments

Comments
 (0)