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: README.md
+1-25Lines changed: 1 addition & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,31 +108,7 @@ We decided against the "have libmongocrypt do everything" approach because it co
108
108
109
109
### Releasing ###
110
110
111
-
#### Version number scheme ####
112
-
Version numbers of libmongocrypt must follow the format 1.[0-9].[0-9] for releases and 1.[0-9].[0-9]-(alpha|beta|rc)[0-9] for pre-releases. This ensures that Linux distribution packages built from each commit are published to the correct location.
113
-
114
-
#### Steps to release ####
115
-
Do the following when releasing:
116
-
- Update CHANGELOG.md with the version being released.
117
-
- Check out the release branch. For a release `x.y.z`, the release branch is `rx.y`. If this is a new minor release (`x.y.0`), create the release branch.
118
-
- If this is a new minor release (e.g. `x.y.0`):
119
-
- Update the Linux distribution package installation instructions in the below sections to refer to the new version `x.y`.
120
-
- Update the [libmongocrypt-release](https://evergreen.mongodb.com/projects##libmongocrypt-release) Evergreen project (requires auth) to set `Branch Name` to `rx.y`.
121
-
- Commit the changes on the `rx.y` branch with a message like "Update CHANGELOG.md for x.y.z".
122
-
- Tag the commit with `git tag -a <tag>`.
123
-
- Push both the branch ref and tag ref in the same command: `git push origin master 1.8.0-alpha0` or `git push origin r1.8 1.8.4`
124
-
- Pushing the branch ref and the tag ref in the same command eliminates the possibility of a race condition in Evergreen (for building resources based on the presence of a release tag)
125
-
- Note that in the future (e.g., if we move to a PR-based workflow for releases, or if we simply want to take better advantage of advanced Evergreen features), it is possible to use Evergreen's "Trigger Versions With Git Tags" feature by updating both `config.yml` and the project's settings in Evergreen
126
-
- Ensure the version on Evergreen with the tagged commit is scheduled. The following tasks must pass to complete the release:
127
-
-`upload-all`
128
-
-`windows-upload`. It is scheduled from the `windows-upload-check` task.
129
-
- All `publish-packages` tasks.
130
-
- If the `publish-packages` tasks fail with an error like `[curator] 2024/01/02 13:56:17 [p=emergency]: problem submitting repobuilder job: 404 (Not Found)`, this suggests the published path does not yet exist. Barque (the Linux package publishing service) has protection to avoid unintentional publishes. File a DEVPROD ticket ([example](https://jira.mongodb.org/browse/DEVPROD-4053)) and assign to the team called Release Infrastructure to request the path be created. Then re-run the failing `publish-packages` task. Ask in the slack channel `#devprod-release-tools` for further help with `Barque` or `curator`.
131
-
- Create the release from the GitHub releases page from the new tag.
132
-
- Submit a PR to update the Homebrew package https://github.com/mongodb/homebrew-brew/blob/master/Formula/libmongocrypt.rb. ([Example](https://github.com/mongodb/homebrew-brew/pull/135)).
133
-
- If this is a new minor release (e.g. `x.y.0`), file a DOCSP ticket to update the installation instructions on [Install libmongocrypt](https://www.mongodb.com/docs/manual/core/csfle/reference/libmongocrypt/). ([Example](https://jira.mongodb.org/browse/DOCSP-36863))
134
-
- Make a PR to apply the "Update CHANGELOG.md for x.y.z" commit to the `master` branch.
135
-
- Update the release on the [Jira releases page](https://jira.mongodb.org/projects/MONGOCRYPT/versions).
111
+
See [releasing](./doc/releasing.md).
136
112
137
113
## Installing libmongocrypt From Distribution Packages ##
138
114
Distribution packages (i.e., .deb/.rpm) are built and published for several Linux distributions. The installation of these packages for supported platforms is documented here.
These steps describe releasing the libmongocrypt C library (not the language bindings).
4
+
5
+
## Version number scheme ##
6
+
Version numbers of libmongocrypt must follow the format 1.[0-9].[0-9] for releases and 1.[0-9].[0-9]-(alpha|beta|rc)[0-9] for pre-releases. This ensures that Linux distribution packages built from each commit are published to the correct location.
7
+
8
+
## Steps to release ##
9
+
Do the following when releasing:
10
+
- Update CHANGELOG.md with the version being released.
11
+
- Check out the release branch. For a release `x.y.z`, the release branch is `rx.y`. If this is a new minor release (`x.y.0`), create the release branch.
12
+
- If this is a new minor release (e.g. `x.y.0`):
13
+
- Update the Linux distribution package installation instructions in the below sections to refer to the new version `x.y`.
14
+
- Update the [libmongocrypt-release](https://evergreen.mongodb.com/projects##libmongocrypt-release) Evergreen project (requires auth) to set `Branch Name` to `rx.y`.
15
+
- Commit the changes on the `rx.y` branch with a message like "Update CHANGELOG.md for x.y.z".
16
+
- Tag the commit with `git tag -a <tag>`.
17
+
- Push both the branch ref and tag ref in the same command: `git push origin master 1.8.0-alpha0` or `git push origin r1.8 1.8.4`
18
+
- Pushing the branch ref and the tag ref in the same command eliminates the possibility of a race condition in Evergreen (for building resources based on the presence of a release tag)
19
+
- Note that in the future (e.g., if we move to a PR-based workflow for releases, or if we simply want to take better advantage of advanced Evergreen features), it is possible to use Evergreen's "Trigger Versions With Git Tags" feature by updating both `config.yml` and the project's settings in Evergreen
20
+
- Ensure the version on Evergreen with the tagged commit is scheduled. The following tasks must pass to complete the release:
21
+
-`upload-all`
22
+
-`windows-upload`. It is scheduled from the `windows-upload-check` task.
23
+
- All `publish-packages` tasks.
24
+
- If the `publish-packages` tasks fail with an error like `[curator] 2024/01/02 13:56:17 [p=emergency]: problem submitting repobuilder job: 404 (Not Found)`, this suggests the published path does not yet exist. Barque (the Linux package publishing service) has protection to avoid unintentional publishes. File a DEVPROD ticket ([example](https://jira.mongodb.org/browse/DEVPROD-4053)) and assign to the team called Release Infrastructure to request the path be created. Then re-run the failing `publish-packages` task. Ask in the slack channel `#devprod-release-tools` for further help with `Barque` or `curator`.
25
+
- Create the release from the GitHub releases page from the new tag.
26
+
- If this is a new minor release (e.g. `x.y.0`), file a DOCSP ticket to update the installation instructions on [Install libmongocrypt](https://www.mongodb.com/docs/manual/core/csfle/reference/libmongocrypt/). ([Example](https://jira.mongodb.org/browse/DOCSP-36863))
27
+
- Make a PR to apply the "Update CHANGELOG.md for x.y.z" commit to the `master` branch.
28
+
- Update the release on the [Jira releases page](https://jira.mongodb.org/projects/MONGOCRYPT/versions).
29
+
30
+
## Homebrew steps ##
31
+
Submit a PR to update the Homebrew package https://github.com/mongodb/homebrew-brew/blob/master/Formula/libmongocrypt.rb. ([Example](https://github.com/mongodb/homebrew-brew/pull/135)). If not on macOS, request a team member to do this step.
32
+
33
+
## Debian steps ##
34
+
Refer to the [Debian](https://docs.google.com/document/d/1ItyBC7VN383zNXu3oUOQJYR7adfYI8ECjLMJ5kqA9X8/edit#heading=h.wqad0pesgfc6) steps. If you are not a Debian maintainer on the team, request a team member to do this step.
0 commit comments