Skip to content

Commit 4368cb3

Browse files
chore: update release process documentation (#695)
Co-authored-by: Himanshu Singh <himanshu.singhs@outlook.in>
1 parent 5e3d859 commit 4368cb3

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

CONTRIBUTING.md

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -147,31 +147,28 @@ When adding new tools to the MCP server:
147147

148148
## Release Process
149149

150-
Our release process is automated using GitHub Actions workflows:
150+
To release a new version of the MCP server, follow these steps:
151151

152-
### Version Bumping
153-
154-
1. To create a new version, go to the GitHub repository Actions tab
155-
2. Select the "Version Bump" workflow
156-
3. Click "Run workflow" and choose one of the following options:
152+
1. Ensure there is a Jira _Release_ ticket in the [`MCP` project](https://jira.mongodb.org/projects/MCP) for the new release and move it to _In Progress_.
153+
2. Verify that the Jira tickets you expect to be released are correctly mapped to the expected Release version. Add any additional required documentation to the release ticket.
154+
3. To create a new version, go to the GitHub repository Actions tab and run the "Prepare Release" workflow with one of the following options:
157155
- `patch` (e.g., 1.0.0 → 1.0.1) for backward-compatible bug fixes
158156
- `minor` (e.g., 1.0.0 → 1.1.0) for backward-compatible new features
159157
- `major` (e.g., 1.0.0 → 2.0.0) for breaking changes
160158
- A specific version number (e.g., `1.2.3`)
161-
4. This creates a pull request with the version change
162-
5. Once approved and merged, the version is updated
163-
164-
### Automatic Publishing
165-
166-
When a version bump is merged to the main branch:
167-
168-
1. The "Publish" workflow automatically runs
169-
2. It checks if the version already exists as a git tag
170-
3. If the version is new, it:
171-
- Builds the package
172-
- Publishes to NPM
173-
- Creates a git tag for the version
174-
- Creates a GitHub release with auto-generated release notes
159+
- **Pre-release versions**: To create a pre-release, enter the version suffixed by `-prerelease.{n}` where `n` is the pre-release number (e.g., `1.1.0-prerelease.1`, `1.1.0-prerelease.2`). Pre-releases are release candidates that provide early access to new features before they are promoted to stable.
160+
161+
> **Note**: Stable releases are published under the `latest` tag on NPM and are intended for production use. Pre-release versions are published under the `prerelease` tag and serve as release candidates for early access and feedback before being released as stable versions.
162+
163+
4. This creates a pull request with the version change.
164+
5. Merge this pull request if all looks correct. This will trigger the "Publish" workflow which will publish it to **NPM**, **Docker** and the **MCP Registry**.
165+
6. Verify that the new version is published correctly by checking:
166+
- NPM: https://www.npmjs.com/package/mongodb-mcp-server
167+
- Docker: https://hub.docker.com/r/mongodb/mongodb-mcp-server
168+
- MCP Registry: `curl "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mongodb-js%2Fmongodb-mcp-server/versions/latest"`
169+
7. Close the Jira ticket for the release.
170+
8. Go to the [Releases](https://jira.mongodb.org/projects/MCP?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=released-unreleased) section the and rename the `vNext` to the new version number and mark it as Released. Create a new `vNext` for the next release.
171+
9. Post an update in the `#mongodb-mcp` Slack channel.
175172

176173
### Code Quality
177174

0 commit comments

Comments
 (0)