Skip to content

Commit 3a1aacb

Browse files
committed
more edits
Signed-off-by: Doug Davis <duglin@gmail.com>
1 parent 177d4fe commit 3a1aacb

File tree

1 file changed

+33
-29
lines changed

1 file changed

+33
-29
lines changed

docs/GOVERNANCE.md

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ be followed:
5555
There are three categories of project membership:
5656

5757
1. **Member.** This is anyone who participates in the group's activities in any
58-
of our communication channels (email, github issues/PRs, meetings, etc.). No
58+
of our communication channels (email, GitHub issues/PRs, meetings, etc.). No
5959
formal registration process is needed.
6060

6161
2. **Voting Member.** See the [Voting](#voting) section below for more
@@ -66,7 +66,7 @@ There are three categories of project membership:
6666

6767
3. **Admin.** Admins are Members of the group but have the ability to perform
6868
administrative actions on behalf of the group. For example, manage the
69-
website, github repos and moderate the meetings. Their actions should be done
69+
website, GitHub repos and moderate the meetings. Their actions should be done
7070
with the knowledge and consent of the group. They also have the ability to
7171
merge/close PRs, but only per the group's approval. See the
7272
[OWNERS](../OWNERS) file for the current list of Admins.
@@ -165,6 +165,12 @@ The specifications produced will adhere to the following:
165165
that the "minor" version number will always be zero and the `specversion`
166166
string will always be of the form `X.0`.
167167

168+
- Each release will have both a tag and a branch. The tag will be kept
169+
up-to-date with the tip of the branch. The purpose of having a branch is to
170+
support very minor fixes (typos, clarifications) which amend a release in
171+
place. The purpose of having a tag is to support GitHub releases, which can
172+
act as a notification channel for interested users.
173+
168174
Note that these rules do not apply to unversioned documents, such as the
169175
[documented extensions](../cloudevents/extensions/README.md).
170176

@@ -175,13 +181,6 @@ To create a new release:
175181
creation of a new release will be the reminder to do this check. If any
176182
changes are needed then PRs will be created and reviewed by the group.
177183

178-
- For the most part we try to only use a single branch ("main") for our work.
179-
Git branches will be used as a way to snapshot/tag releases. While we hope
180-
to not push new commits to these branches, in practice, it is possible that
181-
changes to a release might be needed without "picking up" other changes that
182-
might have been commited to "main". Creating the branch during the release
183-
process will makes this easier to manage should the need should arise.
184-
185184
- Determine the new release version string. It should be of the form:
186185
`<subject>/vX.Y.Z`, e.g. `cloudevents/v1.0.4` or `subscriptions/v1.0.0`.
187186

@@ -191,34 +190,35 @@ To create a new release:
191190
- Merge the PR.
192191
- Initiate a final review/test of the release.
193192

194-
- A "release candidate" tag will be created with the new release version
195-
string but with a suffix of `-rc#` (release candidate). This will indicate
196-
that the authors believe it is ready for final review/testing. This will be
197-
true for updates to existing specifications and for new specifications.
193+
- Create A "release candidate" with the new release version string but with a
194+
suffix of `-rc#` (release candidate). This will indicate that the authors
195+
believe it is ready for final review/testing. This will be true for updates
196+
to existing specifications and for new specifications.
198197

199198
- When review/testing is completed, create a PR (for the "main" branch") that:
200-
- Modifies the repo's files to use the new version string (w/o `-rc#`) as
201-
appropriate.
199+
- Modifies the repo's files to use the new version string (without `-rc#`)
200+
as appropriate..
202201
- Update [RELEASES.md](RELEASES.md) to mention the new release, and
203202
reference the yet-to-be-created release tag.
204203
- Update the appropriate `*/RELEASE_NOTES.md` file with the changes
205204
for the release. The list can be generated via:
206-
`git log --pretty=format:%s main...v0.1 | grep -v "Merge pull"`
207-
by replacing "v0.1" with the name of the previous release. Or, use github's
205+
`git log --pretty=format:%s main...cloudevents/v1.0.3 | grep -v "Merge pull"`
206+
by replacing "cloudevents/v1.0.3" with the name of the previous release.
207+
Or, use GitHub's
208208
[new release](https://github.com/cloudevents/spec/releases/new) process
209-
to generate the list w/o actually creating the release yet.
209+
to generate the list without actually creating the release yet.
210210

211211
- Merge the PR.
212212
- Note that the link checker should fail since any references to the new
213213
release tag will not be valid yet. This is expected.
214214

215215
- Create a new branch with the same name as the new release version string
216216
appended with `-branch` (e.g. `<subject>/vX.Y.Z-branch`).
217-
- Use Github to create a
217+
- Use GitHub to create a
218218
[new release](https://github.com/cloudevents/spec/releases/new).
219219
During that process, create a new tag with the new release version
220-
string (e.g. `<subject>/vX.Y.Z`) w/o any suffix.
221-
- Rerun the github CI actions from the previous PR and the "main" branch as
220+
string (e.g. `<subject>/vX.Y.Z`) without any suffix.
221+
- Rerun the GitHub CI actions from the previous PR and the "main" branch as
222222
they should all pass now; as a sanity check.
223223

224224
- Create an "announcement" highlighting the key features of the new release
@@ -230,16 +230,20 @@ To create a new release:
230230

231231
- If an update to a release is needed, create a PR for the appropriate
232232
branches (including "main"), and merge when ready. For any release that's
233-
updated, you'll need to move the tag for that release to point to the HEAD
234-
of that branch. We'll eventually setup a Github action to automatically do
233+
updated, you'll need to move the tag for that release to point to the head
234+
of that branch. We'll eventually setup a GitHub action to automatically do
235235
it but for now you can do it via the CLI:
236-
- `git pull` to make sure you have all latest branches and tags
237-
- `git tag -d vX.Y.Z` to delete the old tag for the release
238-
- `git tag vX.Y.Z vX.Y.Z-branch` to create a new tag for the HEAD of the
239-
release branch
240-
- `git push REMOTE vX.Y.Z -f` to force the tag to updated in the github repo
236+
- `git pull --tags` to make sure you have all latest branches and tags
237+
- `git tag -d <subject>/vX.Y.Z` to delete the old tag for the release
238+
- `git tag <subject>/vX.Y.Z <subject>/vX.Y.Z-branch` to create a new tag for
239+
the head of the release branch
240+
- `git push REMOTE <subject>/vX.Y.Z -f` to force the tag to updated in the
241+
GitHub repo, where `REMOTE` is replaced with the git "remote" name that
242+
you have defined that references the GitHub repo
241243

242244
## Additional Information
243245

244246
- We adhere to the CNCF's
245-
[Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) guidelines
247+
[Code of
248+
Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)
249+
guidelines

0 commit comments

Comments
 (0)