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
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+49-2Lines changed: 49 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,55 @@ pull request to merge release/2.2 into release/2.3. Finally, once the changes ha
66
66
release branches, the updates in release/2.3 are prepared to be merged into the master branch, ensuring all the bug
67
67
fixes are incorporated into the latest codebase.
68
68
69
+
If a regression is identified in an older branch, the fix should be applied directly to the latest
70
+
release branch. Once the pull request with the fix is merged into latest, the "Merge up" GitHub Action will
71
+
automatically create a pull request to merge these changes into the master branch. This ensures that all bug fixes are
72
+
incorporated into the latest codebase and actively supported versions.
73
+
74
+
For example, suppose we have four minor release branches: release/2.0, release/2.1, release/2.2, and release/2.3. If a
75
+
regression is found in the release/2.1 branch, you would create a pull request to fix the issue in the latest supported
76
+
branch, release/2.3. Once this pull request is merged, the "Merge up" GitHub Action will automatically create a pull
77
+
request to merge the changes from release/2.3 into the master branch.
78
+
79
+
```
80
+
gitGraph
81
+
commit tag: "Initial main setup"
82
+
83
+
branch release/2.0
84
+
checkout release/2.0
85
+
commit tag: "Initial release/2.0"
86
+
87
+
checkout main
88
+
branch release/2.1
89
+
checkout release/2.1
90
+
commit tag: "Bug introduced"
91
+
92
+
checkout main
93
+
branch release/2.2
94
+
checkout release/2.2
95
+
commit tag: "Initial release/2.2"
96
+
97
+
checkout main
98
+
branch release/2.3
99
+
checkout release/2.3
100
+
commit tag: "Initial release/2.3"
101
+
102
+
checkout release/2.1
103
+
commit tag: "Bug found in release/2.1"
104
+
105
+
checkout release/2.3
106
+
commit tag: "Bug fix applied in release/2.3 (Manual PR)"
107
+
108
+
checkout main
109
+
merge release/2.3 tag: "Merge fix from release/2.3 into master (GitHub Actions)"
110
+
commit
111
+
```
112
+
113
+
However, it is also possible to apply the fix to the older branch where the bug was originally found. In our example,
114
+
once the pull request is merged into release/2.1, the "Merge up" GitHub Action will initiate a series of pull requests
115
+
to roll the fix forward: first into release/2.2, then into release/2.3, and finally into master. This process makes sure
116
+
that the change cascades through every intermediate supported version.
117
+
69
118
```mermaid
70
119
gitGraph
71
120
commit tag: "Initial main setup"
@@ -105,8 +154,6 @@ gitGraph
105
154
commit
106
155
```
107
156
108
-
**Note**: In general, bug fixes should only target the latest release branch, since we only support patching the latest version. However, this is just a rule of thumb—exceptions can be made when necessary.
109
-
110
157
#### Pull Request Management
111
158
112
159
When the "Merge up" GitHub Action is enabled, multiple merge-up pull requests (such as PR1, PR2, and PR3) can be
0 commit comments