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.
Unified · Split
| @@ -76,6 +76,9 @@ jobs: · 75 unmodified lines | ||
| 76 | 76 | |
| 77 | 77 | e2e-local: |
| 78 | 78 | name: E2E (stdio MCP) |
| 79 | + # Skipped on pull_request: the local scenario boots a real `executor web` | |
| 80 | + # plus a browser and is currently flaky on PRs. Still runs on push to main. | |
| 81 | + if: github.event_name != 'pull_request' | |
| 79 | 82 | runs-on: ubuntu-latest |
| 80 | 83 | steps: |
| 81 | 84 | - uses: actions/checkout@v4 |
| @@ -101,12 +101,13 @@ · 100 unmodified lines | ||
| 101 | 101 | }, |
| 102 | 102 | }, |
| 103 | 103 | { |
| 104 | − "files": ["apps/marketing/src/**/*.astro"], | |
| 104 | + "files": ["apps/marketing/src/**/*.{astro,ts,tsx}"], | |
| 105 | 105 | "rules": { |
| 106 | 106 | "executor/no-effect-escape-hatch": "off", |
| 107 | 107 | "executor/no-error-constructor": "off", |
| 108 | 108 | "executor/no-instanceof-error": "off", |
| 109 | 109 | "executor/no-json-parse": "off", |
| 110 | + "executor/no-promise-catch": "off", | |
| 110 | 111 | "executor/no-try-catch-or-throw": "off", |
| 111 | 112 | "executor/no-unknown-error-message": "off", |
| 112 | 113 | }, |