From d9c2e506a98f7ab03fe602c3dd6c932d1b1f963b Mon Sep 17 00:00:00 2001 From: adam jones Date: Thu, 13 Nov 2025 18:21:22 +0000 Subject: [PATCH] docs: Add releases administration guide (#764) Add comprehensive documentation for the release process including version bumping, changelog generation, and deployment steps. --- docs/guides/administration/releases.md | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/guides/administration/releases.md diff --git a/docs/guides/administration/releases.md b/docs/guides/administration/releases.md new file mode 100644 index 0000000..7f3af2e --- /dev/null +++ b/docs/guides/administration/releases.md @@ -0,0 +1,28 @@ +# 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.