You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
5. Back-merge to main (automatic, highest version only)
43
+
└─ [release.yml] creates PR: release/X.Y → main (only when X.Y is the highest release branch)
44
+
│
45
+
│ PR merged → main is updated to the latest stable source
44
46
```
45
47
46
48
## Rules Per Branch Type
47
49
48
50
### `main`
49
51
50
-
- Represents the current stable release.
52
+
- Represents the latest stable release — always in sync with the highest released version.
51
53
- Direct pushes are not allowed (protected).
52
-
- Updated by merging from `release/X.Y` after a stable release.
54
+
- Updated automatically via a PR created by `release.yml` whenever the highest `release/X.Y` branch publishes a stable release.
55
+
- Serves as the baseline for version bumps: new development versions are derived from the state of `main` at the point the previous release left off.
53
56
- The `build.yml` workflow does **not** trigger on `main` pushes (branch-ignore pattern excludes `preview/**` and `release/**`, and `main` does not match `src/**` changes by default in the context of the ignore rules — check the workflow for current specifics).
54
57
55
58
### `develop/X.Y`
@@ -92,6 +95,7 @@ This document describes the branch model, the purpose of each branch type, and h
92
95
- Locked immediately: requires at least one PR approval.
93
96
- On merge, `release.yml` publishes a **stable** NuGet package and a GitHub release.
94
97
- After the first stable release, a corresponding `support/X.Y` branch is auto-created.
98
+
- When `X.Y` is the highest release branch, `release.yml` automatically opens a PR to merge back into `main`, keeping `main` in sync with the latest stable state.
0 commit comments