ci: skip E2E (stdio MCP) on PRs; fix marketing lint on main#1220
Conversation
…de to .ts
The local E2E scenario boots a real executor web plus a browser and is
currently flaky on PRs, so gate it to push events (still runs on main).
The marketing app is plain Astro/Cloudflare SSR, not Effect domain code,
but its lib/*.ts files were subject to the Effect-only lint rules
(no-try-catch-or-throw, no-promise-catch), breaking lint on main after
the GitHub stars pill landed. Extend the existing marketing override from
*.astro to *.{astro,ts,tsx} and disable no-promise-catch there too.
Greptile SummaryTwo CI hygiene fixes: the flaky
Confidence Score: 5/5Both changes are non-runtime CI hygiene: a job-level skip condition and a lint override expansion. Neither touches production code. The CI guard uses the correct No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[GitHub Event] --> B{event_name}
B -->|pull_request| C[format ✅\nlint ✅\ntypecheck ✅\ntest ✅]
B -->|push to main| D[format ✅\nlint ✅\ntypecheck ✅\ntest ✅\ne2e-local ✅]
C --> E[e2e-local ⏭️ SKIPPED]
D --> F[e2e-local: Run stdio MCP scenario]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[GitHub Event] --> B{event_name}
B -->|pull_request| C[format ✅\nlint ✅\ntypecheck ✅\ntest ✅]
B -->|push to main| D[format ✅\nlint ✅\ntypecheck ✅\ntest ✅\ne2e-local ✅]
C --> E[e2e-local ⏭️ SKIPPED]
D --> F[e2e-local: Run stdio MCP scenario]
Reviews (1): Last reviewed commit: "ci: skip E2E (stdio MCP) on pull_request..." | Re-trigger Greptile |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-marketing | 9191b7c | Commit Preview URL Branch Preview URL |
Jun 29 2026, 11:23 PM |
Cloudflare previewTorn down — the PR is closed. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-cloud | 9191b7c | Jun 29 2026, 11:25 PM |
@executor-js/cli
@executor-js/config
@executor-js/execution
@executor-js/sdk
@executor-js/codemode-core
@executor-js/runtime-quickjs
@executor-js/plugin-file-secrets
@executor-js/plugin-graphql
@executor-js/plugin-keychain
@executor-js/plugin-mcp
@executor-js/plugin-onepassword
@executor-js/plugin-openapi
executor
commit: |
Two CI-hygiene fixes:
Disable
E2E (stdio MCP)on pull_request. Thee2e-localjob boots a realexecutor webplus a browser and is currently flaky on PRs. Gated topushevents with a job-levelif, so it still runs on main; a skipped job reports neutral for branch protection.Fix lint on main. The marketing
getStarshelper (apps/marketing/src/lib/github.ts) tripped the Effect-only rulesno-try-catch-or-throw/no-promise-catch. The marketing app is plain Astro/Cloudflare SSR, not Effect domain code, and there was already an override exemptingapps/marketing/src/**/*.astro. Extended that override glob to*.{astro,ts,tsx}and addedno-promise-catchto it. No runtime code changed.Also unblocks #1219, whose Lint check was failing on the PR-merge-with-main and whose E2E (stdio MCP) was the flaky job.