Skip to content

Commit f0d2e53

Browse files
authored
Merge branch 'main' into dependabot/npm_and_yarn/vitest/eslint-plugin-1.3.23
2 parents 2a2efa3 + 2c80bf4 commit f0d2e53

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3656
-1116
lines changed

.github/workflows/accuracy-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
run: npm run test:accuracy
4040
- name: Upload accuracy test summary
4141
if: always()
42-
uses: actions/upload-artifact@v4
42+
uses: actions/upload-artifact@v5
4343
with:
4444
name: accuracy-test-summary
4545
path: .accuracy/test-summary.html

.github/workflows/code-health-fork.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,12 @@ jobs:
3535
run: npm ci
3636
- name: Run tests
3737
run: npm test
38+
env:
39+
SKIP_ATLAS_TESTS: "true"
40+
SKIP_ATLAS_LOCAL_TESTS: "true"
3841
- name: Upload test results
3942
if: always() && matrix.os == 'ubuntu-latest'
40-
uses: actions/upload-artifact@v4
43+
uses: actions/upload-artifact@v5
4144
with:
4245
name: test-results
4346
path: coverage/lcov.info

.github/workflows/code-health-long-running.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
MDB_MCP_API_BASE_URL: ${{ vars.TEST_ATLAS_BASE_URL }}
3030
run: npm test -- tests/integration/tools/atlas --project=long-running-tests
3131
- name: Upload test results
32-
uses: actions/upload-artifact@v4
32+
uses: actions/upload-artifact@v5
3333
if: always()
3434
with:
3535
name: atlas-test-results

.github/workflows/code-health.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
SKIP_ATLAS_LOCAL_TESTS: "true"
4040
- name: Upload test results
4141
if: always() && matrix.os == 'ubuntu-latest'
42-
uses: actions/upload-artifact@v4
42+
uses: actions/upload-artifact@v5
4343
with:
4444
name: test-results
4545
path: coverage/lcov.info
@@ -64,7 +64,7 @@ jobs:
6464
MDB_MCP_API_BASE_URL: ${{ vars.TEST_ATLAS_BASE_URL }}
6565
run: npm test -- tests/integration/tools/atlas/
6666
- name: Upload test results
67-
uses: actions/upload-artifact@v4
67+
uses: actions/upload-artifact@v5
6868
if: always()
6969
with:
7070
name: atlas-test-results
@@ -86,7 +86,7 @@ jobs:
8686
- name: Run tests
8787
run: npm test -- tests/integration/tools/atlas-local/
8888
- name: Upload test results
89-
uses: actions/upload-artifact@v4
89+
uses: actions/upload-artifact@v5
9090
if: always()
9191
with:
9292
name: atlas-local-test-results

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ tests/tmp
1313
coverage
1414
# Generated assets by accuracy runs
1515
.accuracy
16+
17+
.DS_Store

CONTRIBUTING.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ npm test -- path/to/test/file.test.ts
7676
npm test -- path/to/directory
7777
```
7878

79+
#### Accuracy Tests and colima
80+
81+
If you use [colima](https://github.com/abiosoft/colima) to run Docker on Mac, you will need to apply [additional configuration](https://node.testcontainers.org/supported-container-runtimes/#colima) to ensure the accuracy tests run correctly.
82+
7983
## Troubleshooting
8084

8185
### Restart Server
@@ -143,31 +147,28 @@ When adding new tools to the MCP server:
143147

144148
## Release Process
145149

146-
Our release process is automated using GitHub Actions workflows:
147-
148-
### Version Bumping
150+
To release a new version of the MCP server, follow these steps:
149151

150-
1. To create a new version, go to the GitHub repository Actions tab
151-
2. Select the "Version Bump" workflow
152-
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:
153155
- `patch` (e.g., 1.0.0 → 1.0.1) for backward-compatible bug fixes
154156
- `minor` (e.g., 1.0.0 → 1.1.0) for backward-compatible new features
155157
- `major` (e.g., 1.0.0 → 2.0.0) for breaking changes
156158
- A specific version number (e.g., `1.2.3`)
157-
4. This creates a pull request with the version change
158-
5. Once approved and merged, the version is updated
159-
160-
### Automatic Publishing
161-
162-
When a version bump is merged to the main branch:
163-
164-
1. The "Publish" workflow automatically runs
165-
2. It checks if the version already exists as a git tag
166-
3. If the version is new, it:
167-
- Builds the package
168-
- Publishes to NPM
169-
- Creates a git tag for the version
170-
- 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.
171172

172173
### Code Quality
173174

0 commit comments

Comments
 (0)