Skip to content

Commit ac2fde4

Browse files
authored
Merge pull request #4461 from OAI/dev
v3.2-dev: update from dev
2 parents c321b1e + fcc25e5 commit ac2fde4

File tree

1 file changed

+50
-14
lines changed

1 file changed

+50
-14
lines changed

CONTRIBUTING.md

+50-14
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ For information on the branch and release strategy for OAS 3.0.4 and 3.1.1 and e
336336
### Branch roles
337337

338338
* `main` is used to publish finished work and hold the authoritative versions of general documentation such as this document, which can be merged out to other branches as needed. The `src` tree is ***not*** present on `main`.
339-
* `dev` is the primary branch for working with the `src` tree, which is kept up-to-date with the most recent release on the most recent minor (X.Y) release line, and serves as the base for each new minor release line. Development infrastructure that is not needed on `main` is maintained here, and can be merged out to other non-`main` branches as needed.
339+
* `dev` is the primary branch for working with the `src` tree. Development infrastructure that is not needed on `main` is maintained here, and can be merged out to other non-`main` branches as needed.
340340
Changes on `main` are automatically included in a pull request to `dev` (see the (section on [branch sync](#branch-sync-automation)).
341341
* `vX.Y-dev` is the minor release line development branch for X.Y, including both the initial X.Y.0 minor version and all subsequent X.Y.Z patch versions. All PRs are made to oldest active `vX.Y-dev` branch to which the change is relevant, and then merged forward as shown in the diagram further down in this document.
342342
* `vX.Y.Z-rel` is the release branch for an X.Y.Z release (including when Z == 0). It exists primarily for `git mv`-ing `src/oas.md` to the appropriate `versions/X.Y.Z.md` location before merging back to `main`, and can also be used for any emergency post-release fixes that come up, such as when a 3rd party changes URLs in a way that breaks published links.
@@ -348,17 +348,15 @@ Upon release:
348348
* Pre-release steps:
349349
* The most recent _published_ patch release from the previous line is merged up to `vX.Y-dev`, if relevant
350350
* If doing simultaneous releases on multiple lines, do them from the oldest to newest line
351-
* If the release is the most recent on the current line, merge `vX.Y-dev` to `dev`
352351
* For example, if releasing 3.1.3 and 3.2.0:
353-
* release 3.1.3 first, including merging `v3.1-dev` to `dev` as 3.1 is current at that moment
354-
* release 3.2.0 second, also merging `v3.2-dev` to `dev` as 3.2 becomes current at that point
355-
* any subsequent 3.1.4 would **_not_** trigger a merge of `v3.1-dev` to `dev`, as 3.1 would no longer be current
352+
* release 3.1.3 first
353+
* release 3.2.0 second
356354
* Release branching and merging:
357355
* branch `vX.Y.Z-rel` from `vX.Y-dev` (same commit that was merged to `dev` if relevant)
358-
* After renaming `src/oas.md` to `versions/X.Y.Z.md`, merge `vX.Y.Z-rel` to `main`
356+
* After renaming `src/oas.md` to `versions/X.Y.Z.md` and [other adjustments](#specification-versions), merge `vX.Y.Z-rel` to `main`
359357
* Publishing to the [spec site](https://spec.openapis.org) is triggered by the merge to `main`
360358
* Post-release steps:
361-
* If this was a major or minor release (Z == 0), branch `vX.Y+1-dev` from `dev`, from the commit where `vX.Y-dev` was merged to `dev`
359+
* If this was a major or minor release (Z == 0), branch `vX.Y+1-dev` from `vX.Y-dev`
362360

363361
_Release lines are grouped by color, although the colors of `dev` and `main` are not significant as these diagrams are limited to only 8 colors._
364362

@@ -399,31 +397,50 @@ gitGraph TB:
399397
checkout v3.1-dev
400398
branch v3.1.2-rel order:3
401399
commit id:"rename src/oas.md to versions/3.1.2.md"
402-
checkout dev
403-
merge v3.1-dev id:"update dev with active line patch release"
400+
404401
checkout main
405402
merge v3.1.2-rel tag:"3.1.2"
403+
checkout dev
404+
merge main id:"auto-sync from main"
405+
checkout v3.1-dev
406+
merge dev id:"auto-sync from dev"
406407
checkout v3.2-dev
408+
merge dev id:"auto-sync from dev "
409+
407410
commit id:"more 3.2.0 work"
408411
checkout v3.1-dev
409412
commit id:"update version in src/oas.md to 3.1.3"
410413
commit id:"another 3.1.x fix"
411414
checkout v3.2-dev
412415
commit id:"still more 3.2.0 work"
413416
merge v3.1-dev id:"merge 3.1.3 fixes before releasing"
414-
checkout dev
415-
merge v3.1-dev id:"update dev with last pre-minor release patch release"
416-
merge v3.2-dev id:"update dev with minor release"
417+
417418
checkout v3.1-dev
418419
branch v3.1.3-rel order:4
419420
commit id:"rename src/oas.md to versions/3.1.3.md"
420421
checkout v3.2-dev
421422
branch v3.2.0-rel order:7
422423
commit id:"rename src/oas.md to versions/3.2.0.md"
424+
423425
checkout main
424426
merge v3.1.3-rel tag:"3.1.3"
427+
checkout dev
428+
merge main id:" auto-sync from main"
429+
checkout v3.1-dev
430+
merge dev id:" auto-sync from dev"
431+
checkout v3.2-dev
432+
merge dev id:" auto-sync from dev "
433+
434+
checkout main
425435
merge v3.2.0-rel tag:"3.2.0"
426436
checkout dev
437+
merge main id:" auto-sync from main"
438+
checkout v3.1-dev
439+
merge dev id:" auto-sync from dev"
440+
checkout v3.2-dev
441+
merge dev id:" auto-sync from dev "
442+
443+
checkout v3.2-dev
427444
branch v3.3-dev order:9
428445
checkout v3.1-dev
429446
commit id:"update version in src/oas.md to 3.1.4"
@@ -439,17 +456,36 @@ gitGraph TB:
439456
merge v3.1-dev id:"merge 3.1.4 fixes before releasing"
440457
checkout v3.3-dev
441458
merge v3.2-dev id:"merge 3.1.4 / 3.2.1 fixes"
442-
checkout dev
443-
merge v3.2-dev id:"merge patch from active release line"
459+
444460
checkout v3.1-dev
445461
branch v3.1.4-rel order:5
446462
commit id:"rename src/oas.md to versions/3.1.4.md"
447463
checkout v3.2-dev
448464
branch v3.2.1-rel order:8
449465
commit id:"rename src/oas.md to versions/3.2.1.md"
466+
450467
checkout main
451468
merge v3.1.4-rel tag:"3.1.4"
469+
checkout dev
470+
merge main id:" auto-sync from main"
471+
checkout v3.1-dev
472+
merge dev id:" auto-sync from dev"
473+
checkout v3.2-dev
474+
merge dev id:" auto-sync from dev "
475+
checkout v3.3-dev
476+
merge dev id:" auto-sync from dev "
477+
478+
checkout main
452479
merge v3.2.1-rel tag:"3.2.1"
480+
checkout dev
481+
merge main id:" auto-sync from main"
482+
checkout v3.1-dev
483+
merge dev id:" auto-sync from dev"
484+
checkout v3.2-dev
485+
merge dev id:" auto-sync from dev "
486+
checkout v3.3-dev
487+
merge dev id:" auto-sync from dev "
488+
453489
checkout v3.2-dev
454490
commit id:"update version in src/oas.md to 3.2.2"
455491
checkout v3.3-dev

0 commit comments

Comments
 (0)