ci(docs): publish manifests to website on release#372
Merged
cameroncooke merged 2 commits intomainfrom Apr 27, 2026
Merged
Conversation
Replaces the website-side weekly cron PR (which has been failing because
GitHub Actions in the getsentry org cannot create PRs with the default
GITHUB_TOKEN) with a release-time push, mirroring the existing
publish-schemas.yml flow.
- scripts/build-website-manifest.mjs reads manifests/{tools,workflows}/*.yaml
and package.json, normalises to the same shape the website expects, and
writes JSON to --out=. Output is byte-identical (per entry) to what the
website's sync-xcodebuildmcp-manifests.mjs produces.
- .github/workflows/publish-manifests.yml runs on release: published (and
workflow_dispatch with an optional --ref override), checks out at the
release tag, generates the JSON straight into a clone of the website
repo, and commits to main over SSH using the existing
XCODEBUILDMCP_WEBSITE_DEPLOY_KEY.
The website-side .github/workflows/sync-xcodebuildmcp-docs.yml will be
removed in a follow-up PR on getsentry/xcodebuildmcp.com.
3 tasks
commit: |
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1f5d5a9. Configure here.
Mirror src/core/manifest/load-manifest.ts so the website snapshot can't drift from the runtime tool list if a .yml manifest is ever added. Addresses Cursor Bugbot review on #372.
cameroncooke
added a commit
to getsentry/xcodebuildmcp.com
that referenced
this pull request
Apr 27, 2026
Mirror the runtime loader at src/core/manifest/load-manifest.ts in the XcodeBuildMCP repo so docs:sync / docs:sync:local can't drift from the actual tool list if a .yml manifest is ever added. Parallel fix to getsentry/XcodeBuildMCP#372 review feedback. Applies to all three filter sites in this script: GitHub contents listing and both local-fallback readdir calls.
cameroncooke
added a commit
to getsentry/xcodebuildmcp.com
that referenced
this pull request
Apr 27, 2026
The Monday cron PR has been failing every run because GitHub Actions in the getsentry org cannot create PRs with the default GITHUB_TOKEN. It is being replaced by a release-time push from the source repo (getsentry/XcodeBuildMCP#372), which mirrors how schemas are already published via XCODEBUILDMCP_WEBSITE_DEPLOY_KEY. scripts/sync-xcodebuildmcp-manifests.mjs is retained for ad-hoc local refreshes (pnpm run docs:sync / docs:sync:local).
cameroncooke
added a commit
to getsentry/xcodebuildmcp.com
that referenced
this pull request
Apr 27, 2026
Mirror the runtime loader at src/core/manifest/load-manifest.ts in the XcodeBuildMCP repo so docs:sync / docs:sync:local can't drift from the actual tool list if a .yml manifest is ever added. Parallel fix to getsentry/XcodeBuildMCP#372 review feedback. Applies to all three filter sites in this script: GitHub contents listing and both local-fallback readdir calls.
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
Replaces the website-side weekly cron PR — which has been failing every Monday because GitHub Actions in the getsentry org cannot create PRs with the default
GITHUB_TOKEN(see run 24987998373) — with a release-time push from this repo, mirroring the existingpublish-schemas.ymlflow.scripts/build-website-manifest.mjsreadsmanifests/{tools,workflows}/*.yamlandpackage.jsonand writes a normalised JSON snapshot to--out=. Output is byte-identical (per entry) to what the website'ssync-xcodebuildmcp-manifests.mjsproduces..github/workflows/publish-manifests.ymlruns onrelease: published(andworkflow_dispatchwith an optional--refoverride). It checks out at the release tag, generates the JSON straight into a clone of the website repo, and commits tomainover SSH using the existingXCODEBUILDMCP_WEBSITE_DEPLOY_KEY.Behaviour after the swap
v*tag)gh workflow run publish-manifests.yml -f ref=vX.Y.ZTest plan
npm run build:website-manifest -- --out=/tmp/x.json --ref=v2.3.2against current main writes valid JSONmanifests.jsonnpm run format:check,npm run lint,npm run build(pre-commit hook) all passPublish Manifestswithref=v2.3.2and confirm the website repo gets aPublish manifests from getsentry/XcodeBuildMCP@v2.3.2commitgetsentry/xcodebuildmcp.comdeletes the oldsync-xcodebuildmcp-docs.ymlNotes
src/, so it isn't covered by the existinglint/typecheck/format:checkscripts (those targetsrc/**). Matches the convention used byscripts/generate-third-party-package-licenses.mjsand friends.actions/checkout@v4is pinned toinputs.ref || github.event.release.tag_name || github.refso manualworkflow_dispatchruns honour the override and don't silently publish current-mainmanifests under an old tag label.