Skip to content

Include post-release updates to CHANGELOG.md in release process #1109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 34 commits into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
68cc2ae
move instructions for updating `CHANGELOG.md` after instructions for …
kevinAlbs Mar 4, 2024
ab58f6a
remove `[Unreleased]` when releasing, add next `[Unreleased]` entry a…
kevinAlbs Mar 4, 2024
0ae08b5
ignore release ticket
kevinAlbs Mar 4, 2024
6cfe042
Merge branch 'master' into update-release-process
kevinAlbs Mar 4, 2024
210fd32
include `3.11.0 [Unreleased]`
kevinAlbs Mar 4, 2024
c364775
remove `3.10.1 [Unreleased]`
kevinAlbs Mar 4, 2024
9eeb258
include both 3.11.0 and 3.10.1 unreleased version on master branch
kevinAlbs Mar 4, 2024
3dbc761
update release examples to include patch and minor on master
kevinAlbs Mar 4, 2024
d411cf7
note expectation of changelog on master and release branches
kevinAlbs Mar 4, 2024
bd5cf5b
use HTML comment
kevinAlbs Mar 4, 2024
2269a1e
Revert changes to CHANGELOG.md
kevinAlbs Mar 5, 2024
5e3f5f3
Move pre-release CHANGELOG update instructions before tagging
kevinAlbs Mar 5, 2024
3d7f7bc
expand pre-release changelog updates
kevinAlbs Mar 5, 2024
21944aa
clarify versions tracked by changelog on release branch
kevinAlbs Mar 5, 2024
fba3264
create release branch before doing post-release-updates
kevinAlbs Mar 5, 2024
abbc2c3
revise post-release steps
kevinAlbs Mar 5, 2024
23cf8bb
add missing formula name
kevinAlbs Mar 5, 2024
49f6931
use `1.2` for consistent example versions
kevinAlbs Mar 5, 2024
c785405
remove no-longer-applicable step
kevinAlbs Mar 6, 2024
500f7c2
note to ensure contents match in post-release branch changes
kevinAlbs Mar 6, 2024
79a0866
Simplify checkout step
kevinAlbs Mar 6, 2024
bf75543
fix step for updating Evergreen testing branch
kevinAlbs Mar 6, 2024
d340265
use consistent capitalization of `X.Y`
kevinAlbs Mar 6, 2024
bfc00b7
add `git checkout` step with start-point
kevinAlbs Mar 6, 2024
a73191c
note deleting `pre-release-changes` branch
kevinAlbs Mar 6, 2024
09660e2
use more starting points for `git checkout`
kevinAlbs Mar 6, 2024
6270163
Reword explanation of no-longer-needed patch release sections
kevinAlbs Mar 7, 2024
9c89151
Add whitespacing to changelog examples
kevinAlbs Mar 7, 2024
20554dd
Emphasize PR is created from `pre-release-changes` branch.
kevinAlbs Mar 7, 2024
1eca85f
Emphasize release branch should exist on patch release steps
kevinAlbs Mar 7, 2024
7645132
Add "and checkout" to step for `post-release-changes` branch
kevinAlbs Mar 7, 2024
e713f1e
Clarify when the `post-release-changes` branch was created
kevinAlbs Mar 7, 2024
3da4641
move `... on the release` branch steps above
kevinAlbs Mar 7, 2024
9e45438
add more spacing in examples
kevinAlbs Mar 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion etc/make_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -496,9 +496,10 @@ def get_jira_project_versions(auth_jira):
def get_all_issues_for_version(auth_jira, release_version):
"""
Return a list of all issues in the project assigned to the given release.
Excludes the ticket created to track the release itself.
"""

jql_query = 'project={} and fixVersion={} ORDER BY issueKey ASC'\
jql_query = 'project={} and fixVersion={} and (labels IS EMPTY OR labels != release) ORDER BY issueKey ASC'\
.format(str(CXX_PROJ_ID), release_version)
return auth_jira.search_issues(jql_query, maxResults=0)

Expand Down
35 changes: 30 additions & 5 deletions etc/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,6 @@ Update Jira ticket types and titles as appropriate.
User-facing issues should generally be either "Bug" or "New Feature".
Non-user facing issues should generally be "Task" tickets.

## Update CHANGELOG.md

Check Jira for tickets closed in this fix version. Consider updating CHANGELOG.md
with notable changes not already mentioned.

## Clone and set up environment

Do a fresh clone, to avoid local git branches or IDE files from interfering.
Expand All @@ -68,6 +63,10 @@ the instructions. If doing a patch release (e.g. releasing rX.Y.Z with non-zero
`Z`), check out the corresponding release branch, which should be an existing
`releases/vX.Y` branch.

Check Jira for tickets closed in this fix version. Update CHANGELOG.md
with notable changes not already mentioned. Update CHANGELOG.md to remove
the text `[Unreleased]` for the title of this release. Commit this change.

Create a tag for the commit to serve as the release (or release candidate):

```
Expand Down Expand Up @@ -209,6 +208,32 @@ pushed.
`docs/`. This may require pushing the commit to a fork of the C++ Driver
repository and creating a pull request.

## Update CHANGELOG.md for next release

### For a minor release (e.g. r1.2.0):

Open a PR to the master branch to add a new empty `[Unreleased]` section to the CHANGELOG.md for the next minor release. Example:

```md
## 1.3.0 [Unreleased]
```

Open a PR to the release branch (e.g. `releases/v1.2`) to add a new empty `[Unreleased]` section to the CHANGELOG.md for the next patch release. Example:

```md
## 1.2.1 [Unreleased]
```

### For a patch release (e.g. r1.2.3):

Open a PR to the `master` branch to add the notes of the recent release (`r1.2.3`) to the `master` branch. This is intended to keep release notes for all releases in master for easier searching.

Open a PR to the release branch (e.g. `releases/v1.2`) branch to add a new empty `[Unreleased]` section to the CHANGELOG.md for the next patch release. Example:

```md
## 1.2.4 [Unreleased]
```

## Homebrew
This requires a macOS machine.
If this is a stable release, update the [mongo-cxx-driver](https://github.com/Homebrew/homebrew-core/blob/master/Formula/mongo-cxx-driver.rb) homebrew formula, using: `brew bump-formula-pr --url <tarball url>`
Expand Down