Skip to content

ci: skip E2E (stdio MCP) on PRs; fix marketing lint on main#1220

Merged
RhysSullivan merged 1 commit into
mainfrom
ci/disable-e2e-pr-fix-lint
Jun 29, 2026
Merged

ci: skip E2E (stdio MCP) on PRs; fix marketing lint on main#1220
RhysSullivan merged 1 commit into
mainfrom
ci/disable-e2e-pr-fix-lint

Conversation

@RhysSullivan

Copy link
Copy Markdown
Owner

Two CI-hygiene fixes:

Disable E2E (stdio MCP) on pull_request. The e2e-local job boots a real executor web plus a browser and is currently flaky on PRs. Gated to push events with a job-level if, so it still runs on main; a skipped job reports neutral for branch protection.

Fix lint on main. The marketing getStars helper (apps/marketing/src/lib/github.ts) tripped the Effect-only rules no-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 exempting apps/marketing/src/**/*.astro. Extended that override glob to *.{astro,ts,tsx} and added no-promise-catch to 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.

…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-apps

greptile-apps Bot commented Jun 29, 2026

Copy link
Copy Markdown

Greptile Summary

Two CI hygiene fixes: the flaky E2E (stdio MCP) job is gated to push events via a job-level if, and the marketing app's oxlint override is widened from *.astro to *.{astro,ts,tsx} with no-promise-catch added to unblock plain Astro/Cloudflare SSR files from Effect-domain rules.

  • The e2e-local job now skips on pull_request events and reports neutral for branch protection, so PRs are no longer held up by the flaky scenario; it still runs on every push to main.
  • The oxlint override expansion is surgical — only the rules that were actively failing (no-try-catch-or-throw, no-promise-catch) plus the pre-existing Effect-escape-hatch set are disabled; no-promise-reject and other Effect rules remain enforced for the marketing package.

Confidence Score: 5/5

Both 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 github.event_name != 'pull_request' expression, so the job still runs on main and skips cleanly on PRs. The oxlint override precisely targets the marketing package's non-Effect files and only disables the rules that were actively failing, leaving the rest of the rule set intact.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Adds a job-level if: github.event_name != 'pull_request' guard to e2e-local so the flaky stdio MCP scenario is skipped on PRs but still runs on push to main.
.oxlintrc.jsonc Extends the marketing app lint override glob from *.astro to *.{astro,ts,tsx} and adds no-promise-catch to the disabled rules, unblocking the getStars helper which is plain Astro/Cloudflare SSR code, not Effect domain code.

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]
Loading
%%{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]
Loading

Reviews (1): Last reviewed commit: "ci: skip E2E (stdio MCP) on pull_request..." | Re-trigger Greptile

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud 9191b7c Jun 29 2026, 11:25 PM

@pkg-pr-new

pkg-pr-new Bot commented Jun 29, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1220

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1220

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1220

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1220

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1220

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1220

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1220

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1220

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1220

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1220

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1220

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1220

executor

npm i https://pkg.pr.new/executor@1220

commit: 9191b7c

@RhysSullivan RhysSullivan merged commit 7c47b03 into main Jun 29, 2026
16 checks passed
@RhysSullivan RhysSullivan deleted the ci/disable-e2e-pr-fix-lint branch June 29, 2026 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant