Add comprehensive documentation for the release process including version bumping, changelog generation, and deployment steps.
28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
# Releases
|
|
|
|
## Creating a Release
|
|
|
|
1. Create a new release on [GitHub](https://github.com/modelcontextprotocol/registry/releases) with a semver tag (e.g., `v1.3.9`)
|
|
2. This triggers the [release workflow](.github/workflows/release.yml) which:
|
|
- Builds `registry` and `mcp-publisher` binaries for all platforms using GoReleaser
|
|
- Signs artifacts with cosign
|
|
- Generates SBOMs
|
|
- Builds and pushes container images to `ghcr.io/modelcontextprotocol/registry`
|
|
|
|
## Deploying to Production
|
|
|
|
1. Update `deploy/Pulumi.gcpProd.yaml` (e.g., through a PR or by pushing directly to main):
|
|
```yaml
|
|
mcp-registry:imageTag: 1.3.9
|
|
```
|
|
2. The [deploy-production workflow](.github/workflows/deploy-production.yml) automatically deploys
|
|
|
|
## Staging
|
|
|
|
Staging auto-deploys from `main` via [deploy-staging.yml](.github/workflows/deploy-staging.yml). It always runs the latest `main` branch code.
|
|
|
|
## Rollback
|
|
|
|
To rollback production, update `deploy/Pulumi.gcpProd.yaml` to the previous version and push.
|
|
|
|
**Note:** Rollbacks may not work as expected if the release included database migrations, since migrations are not automatically reversed.
|