@@ -13,15 +13,11 @@ Thanks! We look forward to your contribution.
13
13
# General Contributing Guidelines
14
14
15
15
All ongoing development for an upcoming release gets committed to the
16
- ** ` master ` ** branch. The ` master ` branch technically serves as the "development"
17
- branch as well, but all code that is committed to the ` master ` branch should be
16
+ ** ` main ` ** branch. The ` main ` branch technically serves as the "development"
17
+ branch as well, but all code that is committed to the ` main ` branch should be
18
18
considered _ stable_ , even if it is part of an ongoing release cycle.
19
19
20
- All fixes for a supported release should be committed to the supported release
21
- branch. For example, the 4.3 release is maintained on the ` REL_4_3 ` branch.
22
- Please see the section on _ Supported Releases_ for more information.
23
-
24
- Ensure any changes are clear and well-documented. When we say "well-documented":
20
+ Ensure any changes are clear and well-documented:
25
21
26
22
- If the changes include code, ensure all additional code has corresponding
27
23
documentation in and around it. This includes documenting the definition of
@@ -32,10 +28,7 @@ summarize how. Avoid simply repeating details from declarations,. When in doubt,
32
28
favor overexplaining to underexplaining.
33
29
34
30
- Code comments should be consistent with their language conventions. For
35
- example, please use GoDoc conventions for Go source code.
36
-
37
- - Any new features must have corresponding user documentation. Any removed
38
- features must have their user documentation removed from the documents.
31
+ example, please use ` gofmt ` [ conventions] ( https://go.dev/doc/comment ) for Go source code.
39
32
40
33
- Do not submit commented-out code. If the code does not need to be used
41
34
anymore, please remove it.
@@ -62,12 +55,7 @@ All commits must either be rebased in atomic order or squashed (if the squashed
62
55
commit is considered atomic). Merge commits are not accepted. All conflicts must
63
56
be resolved prior to pushing changes.
64
57
65
- ** All pull requests should be made from the ` master ` branch** unless it is a fix
66
- for a specific supported release.
67
-
68
- Once a major or minor release is made, no new features are added into the
69
- release branch, only bug fixes. Any new features are added to the ` master `
70
- branch until the time that said new features are released.
58
+ ** All pull requests should be made from the ` main ` branch.**
71
59
72
60
# Commit Messages
73
61
@@ -90,8 +78,7 @@ If you wish to tag a GitHub issue or another project management tracker, please
90
78
do so at the bottom of the commit message, and make it clearly labeled like so:
91
79
92
80
```
93
- Issue: #123
94
- Issue: [sc-1234]
81
+ Issue: CrunchyData/postgres-operator#123
95
82
```
96
83
97
84
# Submitting Pull Requests
@@ -100,102 +87,23 @@ All work should be made in your own repository fork. When you believe your work
100
87
is ready to be committed, please follow the guidance below for creating a pull
101
88
request.
102
89
103
- ## Upcoming Releases / Features
104
-
105
- Ongoing work for new features should occur in branches off of the ` master `
106
- branch. It is suggested, but not required, that the branch name should reflect
107
- that this is for an upcoming release, i.e. ` upstream/branch-name ` where the
108
- ` branch-name ` is something descriptive for what you're working on.
109
-
110
- ## Supported Releases / Fixes
111
-
112
- While not required, it is recommended to make your branch name along the lines
113
- of: ` REL_X_Y/branch-name ` where the ` branch-name ` is something descriptive
114
- for what you're working on.
115
-
116
- # Releases & Versioning
117
-
118
- Overall, release tags attempt to follow the
119
- [ semantic versioning] ( https://semver.org ) scheme.
120
-
121
- "Supported releases" (described in the next section) occur on "minor" release
122
- branches (e.g. the ` x.y ` portion of the ` x.y.z ` ).
123
-
124
- One or more "patch" releases can occur after a minor release. A patch release is
125
- used to fix bugs and other issues that may be found after a supported release.
126
-
127
- Fixes found on the ` master ` branch can be backported to a support release
128
- branch. Any fixes for a supported release must have a pull request off of the
129
- supported release branch, which is detailed below.
130
-
131
- ## Supported Releases
90
+ ## Upcoming Features
132
91
133
- When a "minor" release is made, the release is stamped using the ` vx.y.0 ` format
134
- as denoted above, and a branch is created with the name ` REL_X_Y ` . Once a
135
- minor release occurs, no new features are added to the ` REL_X_Y ` branch.
136
- However, bug fixes can (and if found, should) be added to this branch.
92
+ Ongoing work for new features should occur in branches off of the ` main `
93
+ branch.
137
94
138
- To contribute a bug fix to a supported release, please make a pull request off
139
- of the supported release branch. For instance, if you find a bug in the 4.3
140
- release, then you would make a pull request off of the ` REL_4_3 ` branch.
95
+ ## Unsupported Branches
141
96
142
- ## Unsupported Releases
143
-
144
- When a release is no longer supported, the branch will be renamed following the
97
+ When a release branch is no longer supported, it will be renamed following the
145
98
pattern ` REL_X_Y_FINAL ` with the key suffix being _ FINAL_ . For example,
146
99
` REL_3_2_FINAL ` indicates that the 3.2 release is no longer supported.
147
100
148
101
Nothing should ever be pushed to a ` REL_X_Y_FINAL ` branch once ` FINAL ` is on
149
102
the branch name.
150
103
151
- ## Alpha, Beta, Release Candidate Releases
152
-
153
- At any point in the release cycle for a new release, there could exist one or
154
- more alpha, beta, or release candidate (RC) release. Alpha, beta, and release
155
- candidates ** should not be used in production environments** .
156
-
157
- Alpha is the early stage of a release cycle and is typically made to test the
158
- mechanics of an upcoming release. These should be considered relatively
159
- unstable. The format for an alpha release tag is ` v4.3.0-alpha.1 ` , which in this
160
- case indicates it is the first alpha release for 4.3.
161
-
162
- Beta occurs during the later stage of a release cycle. At this point, the
163
- release should be considered feature complete and the beta is used to
164
- distribute, test, and collect feedback on the upcoming release. The betas should
165
- be considered unstable, but as mentioned feature complete. The format for an
166
- beta release tag is ` v4.3.0-beta.1 ` , which in this case indicates it is the
167
- first beta release for 4.3.
168
-
169
- Release candidates (RCs) occur just before a release. A release candidate should
170
- be considered stable, and is typically used for a final round of bug checking
171
- and testing. Multiple release candidates can occur in the event of serious bugs.
172
- The format for a release candidate tag is ` v4.3.0-rc.1 ` , which in this
173
- case indicates it is the first release candidate for 4.3.
174
-
175
- ** After a major or minor release, no alpha, beta, or release candidate releases
176
- are supported** . In fact, any newer release of an alpha, beta, or RC immediately
177
- deprecates any older alpha, beta or RC. (Naturally, a beta deprecates an alpha,
178
- and a RC deprecates a beta).
179
-
180
- If you are testing on an older alpha, beta or RC, bug reports will not be
181
- accepted. Please ensure you are testing on the latest version.
182
-
183
104
# Testing
184
105
185
- We greatly appreciate any and all testing for the project. When testing, please
186
- be sure you do the following:
187
-
188
- - If testing against a release, ensure your tests are performed against the
189
- latest minor version (the last number in the release denotes the minor version,
190
- e.g. the "3" in the 4.3.3)
191
- - If testing against a pre-release (alpha, beta, RC), ensure your tests are
192
- performed against latest version
193
- - If testing against a development (` master ` ) or release (` REL_X_Y ` ) branch,
194
- ensure your tests are performed against the latest commit
195
-
196
- Please do not test against unsupported versions (e.g. any release that is marked
197
- final).
198
-
106
+ We greatly appreciate any and all testing for the project.
199
107
There are several ways to help with the testing effort:
200
108
201
109
- Manual testing: testing particular features with a series of manual commands
0 commit comments