Repository navigation
docs(release): stop cutting Glama releases for the MCP server - #248
Merged
Merged
Conversation
Glama has no API and ignores the version typed into Create Release, so its listing is no longer updated. Auto-Release stays off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxJAQSsYCj3PjVtTjJLNWg
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
stewartjarod
added a commit
that referenced
this pull request
Nov 4, 2026
* fix(ci): gate Deploy API on the commit that was actually deployed The gate diffed the tested commit against the head_sha of the last successful Deploy API run. A run whose gate skipped still concludes success, and a workflow_run run's head_sha is main's HEAD at trigger time, not the tested commit. After the docs-only #248 skipped, #247 (API) compared bf89a46..bf89a46, skipped too, and never deployed (runs 41681472352, 41683100866). The deploy job now records the deployed commit as a success GitHub Deployment in the api-<stage> environment after sst deploy, and the gate diffs against the newest such record. The decision moves into scripts/ci/deploy-gate.sh with tests that run it against a throwaway git repo and a stubbed gh. The first run after this ships finds no record and deploys, which is the intended bootstrap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxJAQSsYCj3PjVtTjJLNWg * fix(ci): harden the Deploy API gate after review - Never deploy backwards: skip a tested commit that is an ancestor of the recorded deploy (manual dispatch still always deploys). - Add pnpm-lock.yaml and pnpm-workspace.yaml to the path list; the API takes its dependency versions from the pnpm catalog. - Bound each gh call with timeout (DEPLOY_GATE_GH_TIMEOUT, default 20s) so a stalled API fails open; keep gh's stderr and say why each fail-open case deploys, with ::warning:: for API failures. - git diff --no-renames so a file moved out of an API path still deploys. - Fail with an explicit ::error:: when the gate script is missing from the tested commit, instead of a bare exit 127. - Least-privilege job permissions: gate reads deployments, deploy writes them. - Baseline tests pin the workflow half of the record: the tested sha, the api-<stage> environment after Deploy SST, POST only from deploy, and the removed runs lookup. - Update docs/agents/ci-and-deploy.md for the script and the Deployment record. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxJAQSsYCj3PjVtTjJLNWg * fix(ci): fail open when the gate cannot read a deployment status If reading the newest record's status failed or timed out, the gate fell back to the previous success record and diffed against a stale baseline. A revert of the newest deploy then diffed as empty and was skipped, leaving the reverted code in production. An unreadable status now deploys without a baseline; only a status that was read and is not success is skipped in favour of the one before it. - Warn on a deployments response without ids instead of the bootstrap notice, and include the gh exit code in the status-read warning. - Annotate the downgrade guard's skip with how to roll back on purpose. - Tests: a revert deploys, with the status read failing and with only the status call hanging; a revert of the recorded deploy deploys. - Baseline: the deployment ref is built from DEPLOYED_SHA, the deploy job records under the gate's stage, and the record step has no if: or continue-on-error:. The comment on the record step says why a failed record keeps the job red. - Reword ci-and-deploy.md: the no-backwards guarantee holds only when the record can be read; a manual dispatch is how to roll back on purpose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxJAQSsYCj3PjVtTjJLNWg * fix(ci): close the last two stale-baseline paths in the deploy gate - A malformed deployment (no id or sha) is now a jq error, so the gate deploys without a baseline instead of silently dropping it and falling back to an older record. Drop the "without ids" branch it replaces. - Split the status fetch from its parse: an empty (204) or non-array status body now deploys without a baseline instead of reading as "not success". The exit code in the warning is gh's own (1 or 124). - Say that a rollback by dispatch lasts until the next push to main deploys, so revert on main to keep it (script comment and ci-and-deploy.md). - Correct the record step's comment: a job can be re-run, a step cannot. - Tests: empty status body, malformed newest deployment; pin the status-read warning by its exit code; document the stub's slow switches. Drop the duplicated skip line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxJAQSsYCj3PjVtTjJLNWg --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/releasestep 12 told us to cut a Glama release by hand for everymcprelease. Glama has no API and ignores the version typed into Create Release (it labelled 0.11.1 as 0.8.3), so we've stopped updating it. Step 12 now says so, and Auto-Release stays off.Merge Danger
Door: two-way.
Blast Radius: docs.
🤖 Generated with Claude Code
https://claude.ai/code/session_01GxJAQSsYCj3PjVtTjJLNWg