Skip to content

Commit 775f125

Browse files
BYKcodex
andcommitted
Keep MCP deployment unchanged during CLI import
Co-Authored-By: GPT-6 Sol <noreply@openai.com>
1 parent fad78b2 commit 775f125

5 files changed

Lines changed: 37 additions & 36 deletions

File tree

‎.github/workflows/cli-build.yml‎

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ jobs:
4141
- target: windows-x64
4242
os: ubuntu-latest
4343
steps:
44-
- uses: actions/checkout@v4
45-
- uses: pnpm/action-setup@v4
46-
- uses: actions/setup-node@v4
44+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
45+
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
46+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
4747
with:
4848
node-version: ${{ env.NODE_VERSION_22 }}
4949
cache: pnpm
@@ -111,14 +111,14 @@ jobs:
111111
test "$status" -eq 10
112112
printf '%s\n' "$output" | grep -qi 'not authenticated'
113113
- name: Upload binary artifact
114-
uses: actions/upload-artifact@v4
114+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
115115
with:
116116
name: sentry-${{ matrix.target }}
117117
path: |
118118
packages/cli/dist-bin/sentry-*
119119
!packages/cli/dist-bin/*.gz
120120
- name: Upload compressed artifact
121-
uses: actions/upload-artifact@v4
121+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
122122
with:
123123
name: sentry-${{ matrix.target }}-gz
124124
path: packages/cli/dist-bin/*.gz
@@ -128,9 +128,9 @@ jobs:
128128
runs-on: ubuntu-latest
129129
environment: ${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/cli/')) && 'production' || '' }}
130130
steps:
131-
- uses: actions/checkout@v4
132-
- uses: pnpm/action-setup@v4
133-
- uses: actions/setup-node@v4
131+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
132+
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
133+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
134134
with:
135135
node-version: ${{ env.NODE_VERSION_22 }}
136136
cache: pnpm
@@ -150,7 +150,7 @@ jobs:
150150
working-directory: packages/cli
151151
run: npm pack
152152
- name: Upload npm artifact
153-
uses: actions/upload-artifact@v4
153+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
154154
with:
155155
name: npm-package
156156
path: packages/cli/*.tgz
@@ -164,12 +164,12 @@ jobs:
164164
matrix:
165165
node: [20, 22, 24]
166166
steps:
167-
- uses: actions/checkout@v4
168-
- uses: actions/setup-node@v4
167+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
168+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
169169
with:
170170
node-version: ${{ matrix.node == 24 && env.NODE_VERSION_24 || matrix.node == 20 && env.NODE_VERSION_20 || env.NODE_VERSION_22 }}
171171
- name: Download npm artifact
172-
uses: actions/download-artifact@v4
172+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
173173
with:
174174
name: npm-package
175175
path: packages/cli
@@ -192,9 +192,9 @@ jobs:
192192
env:
193193
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
194194
steps:
195-
- uses: actions/checkout@v4
196-
- uses: pnpm/action-setup@v4
197-
- uses: actions/setup-node@v4
195+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
196+
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
197+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
198198
with:
199199
node-version: ${{ env.NODE_VERSION_24 }}
200200
cache: pnpm
@@ -205,7 +205,7 @@ jobs:
205205
- name: Build docs
206206
run: pnpm --filter sentry-cli-docs run build
207207
- name: Download Linux binary
208-
uses: actions/download-artifact@v4
208+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
209209
with:
210210
name: sentry-linux-x64
211211
path: dist-bin
@@ -232,7 +232,7 @@ jobs:
232232
printf '%s\n' '{"version":3}' > "$output_dir/.vercel/output/config.json"
233233
(cd "$output_dir" && zip -qr "$GITHUB_WORKSPACE/vercel.zip" .vercel)
234234
- name: Upload docs artifact
235-
uses: actions/upload-artifact@v4
235+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
236236
with:
237237
name: vercel
238238
path: vercel.zip

‎.github/workflows/deploy.yml‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ jobs:
1717
deploy:
1818
name: Deploy to Cloudflare
1919
runs-on: ubuntu-latest
20-
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
20+
# Keep the production Worker unchanged while the CLI/docs import lands.
21+
# Restore deployments only through a separately reviewed workflow change.
22+
if: ${{ false }}
2123

2224
steps:
2325
- uses: actions/checkout@v4
@@ -36,7 +38,7 @@ jobs:
3638
- name: Get pnpm store directory
3739
shell: bash
3840
run: |
39-
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
41+
echo "STORE_PATH=$(pnpm store path --silent)" >> "$GITHUB_ENV"
4042
4143
- uses: actions/cache@v4
4244
name: Setup pnpm cache

‎.github/workflows/merge-jobs.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Post-merge tasks
22

33
on:
44
push:
5-
branches: ["main", "release/*"]
5+
branches: ["main", "release/*", "release/mcp/**"]
66
workflow_dispatch:
77

88
jobs:

‎docs/operations/github-actions.md‎

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
CI/CD workflows for the Sentry MCP project.
44

5+
**Toolkit import landing:** The `Deploy to Cloudflare` job is disabled while
6+
the CLI and docs import lands. A passing `Test` run on `main` cannot change the
7+
production Worker. Restore deployments only through a separately reviewed
8+
workflow change. `pnpm build` builds the MCP workspace; `pnpm build:cli` builds
9+
the imported CLI and docs when `SENTRY_CLIENT_ID` is available.
10+
511
## Workflows
612

713
### test.yml
@@ -10,12 +16,8 @@ Runs on all pushes to main and pull requests:
1016
- Code coverage reporting
1117

1218
### deploy.yml
13-
Runs after tests pass on main branch:
14-
- **Canary deployment**: Deploy to `sentry-mcp-canary` worker with isolated resources
15-
- **Smoke tests**: Test canary deployment
16-
- **Production deployment**: Deploy to `sentry-mcp` worker (only if canary tests pass)
17-
- **Production smoke tests**: Test production deployment
18-
- **Automatic rollback**: Rollback production if smoke tests fail
19+
Currently disabled. Its old canary, production, and rollback steps must not
20+
run until a separately reviewed workflow replaces them.
1921

2022
### eval.yml
2123
Runs evaluation tests against the MCP server.
@@ -47,18 +49,14 @@ Canary and production use separate resources for complete isolation:
4749
| Wrangler Config | `wrangler.jsonc` | `wrangler.canary.jsonc` |
4850

4951
### Deployment Flow
50-
1. **Build once** - Single build for both deployments
51-
2. **Deploy canary** - `wrangler deploy --config wrangler.canary.jsonc`
52-
3. **Wait 30s** - Allow propagation
53-
4. **Test canary** - Run smoke tests against canary worker
54-
5. **Deploy production** - `wrangler deploy` (only if canary tests pass)
55-
6. **Wait 30s** - Allow propagation
56-
7. **Test production** - Run smoke tests against production worker
57-
8. **Rollback** - `wrangler rollback` if production tests fail
52+
53+
No production deployment runs while the import lands. The disabled workflow's
54+
old rollback step must not be used to recover production.
5855

5956
## Manual Deployment
6057

61-
Trigger via GitHub Actions → Deploy to Cloudflare → "Run workflow"
58+
The deployment job is also disabled for manual workflow dispatch. Do not use
59+
the old rollback path to deploy or recover the production Worker.
6260

6361
## Troubleshooting
6462

‎package.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
"docs:check": "node scripts/check-doc-links.mjs",
2626
"dev": "pnpm --filter '@sentry/mcp-cloudflare...' --if-present run build && dotenv -e .env -e .env.local -- pnpm --parallel --filter @sentry/mcp-cloudflare --filter @sentry/mcp-core --filter @sentry/mcp-server-mocks --if-present run dev",
2727
"dev:stdio": "pnpm --filter '@sentry/mcp-server...' --if-present run build && dotenv -e .env -e .env.local -- pnpm --parallel --filter @sentry/mcp-server --filter @sentry/mcp-core --filter @sentry/mcp-server-mocks --if-present run dev",
28-
"build": "dotenv -e .env -e .env.local -- pnpm --filter sentry run build && pnpm -r --filter '!sentry' --filter '!sentry-cli-docs' --if-present run build && pnpm --filter sentry-cli-docs run build",
28+
"build": "dotenv -e .env -e .env.local -- pnpm -r --filter '!sentry' --filter '!sentry-cli-docs' --if-present run build",
29+
"build:cli": "dotenv -e .env -e .env.local -- pnpm --filter sentry run build && pnpm --filter sentry-cli-docs run build",
2930
"check:generated": "pnpm --filter @sentry/mcp-core generate-definitions && git diff --exit-code -- packages/mcp-core/src/toolDefinitions.json packages/mcp-core/src/skillDefinitions.json plugins/sentry-mcp/agents/sentry-mcp.md plugins/sentry-mcp-experimental/agents/sentry-mcp.md",
3031
"deploy": "pnpm --filter '@sentry/mcp-cloudflare...' --if-present run build && pnpm --filter @sentry/mcp-cloudflare run deploy",
3132
"deploy:docs": "pnpm --filter sentry run generate:schema && pnpm --filter sentry run generate:docs && pnpm --filter sentry-cli-docs run build && pnpm --filter sentry-cli-docs run deploy",

0 commit comments

Comments
 (0)