-
Notifications
You must be signed in to change notification settings - Fork 170
chore: fix publish workflow for MCP registry #786
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
base: main
Are you sure you want to change the base?
Conversation
Pull Request Test Coverage Report for Build 20029672966Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes the publish workflow to ensure Docker images are available before publishing to the MCP registry. Previously, the MCP registry publish job depended on Docker images that were only built on a schedule or manual dispatch, causing failures during releases.
Key changes:
- Refactored Docker build/push logic into a reusable workflow action
- Added npm package availability check before Docker publishing in the main publish workflow
- Updated dependency chain: publish → wait for npm → docker-push → mcp-publish
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/workflows/publish.yml |
Added npm package availability polling, docker-push job dependency, and renamed mcp-publish job with correct dependencies |
.github/workflows/docker.yml |
Refactored to use new reusable docker-publish action and improved failure handling job |
.github/actions/docker-publish.yml |
New reusable workflow containing extracted Docker build and push logic |
| @@ -0,0 +1,50 @@ | |||
| --- | |||
| name: Build and Push Docker Image | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
q: should this be a workflow or an action? tbh not sure what pros and cons of each are
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They both could be used for reusability. I used the workflow here only because they have better support for credentials masking. I don't have a strong feeling about it though as I only recently found about this and was curious to see this in action.
Proposed changes
Our publish job which publishes the artifacts to MCP registry depends on the docker image being available already but its not when we publish. The docker images are published on a scheduled basis or on manual dispatch.
This PR changes the publish workflow such that we publish to docker as soon as we have the npm package listed in the registry and then proceed ahead with MCP registry publish.
An example failure - https://github.com/mongodb-js/mongodb-mcp-server/actions/runs/19944234451/job/57189691853
Checklist