docs(t3x): point the self-reference rule at the renamed Claude doc #29
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
| # t3x fork CI — the fork's real PR/main gate. | |
| # | |
| # Upstream's ci.yml runs on blacksmith-* runners the fork has no access to, so it never runs | |
| # here and PRs show "no checks". This runs the same fast checks on ubuntu-latest so every fork | |
| # PR (and every push to main / a sync branch) gets an independent typecheck/lint/test gate. | |
| # | |
| # NOTE: pull_request does NOT fire on a CONFLICTING sync PR (GitHub can't build the merge ref), | |
| # so sync branches are gated by the push trigger on `t3x/sync-**` instead — an independent check | |
| # alongside the resolve job's own verify. | |
| name: t3x fork CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - "t3x/sync-**" | |
| workflow_dispatch: {} | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: t3x-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Vite+ | |
| uses: voidzero-dev/setup-vp@v1 | |
| with: | |
| node-version-file: package.json | |
| cache: true | |
| run-install: true | |
| # Run all three even if an earlier one fails, so a single run reports every failure. | |
| - name: Typecheck | |
| run: vp run typecheck | |
| - name: Lint | |
| if: ${{ !cancelled() }} | |
| run: vp run lint | |
| # `--testTimeout` is raised because `apps/web/vite.config.ts` pins testTimeout to 15s, which is | |
| # tuned for upstream's blacksmith runners. This fork runs on 2-core ubuntu-latest, where | |
| # upstream's `stashImageCompression` worst-case test (~3s on an M-series Mac; 6x the next | |
| # slowest in its file) reliably exceeds 15s and fails the whole gate. | |
| # | |
| # Proven upstream-inherited, not a fork regression: branch `t3x/ci-control-upstream` — pristine | |
| # upstream/main plus this workflow file and nothing else — fails identically (run 30386125253). | |
| # | |
| # 120000 is deliberate: it is the HIGHEST value any package configures | |
| # (apps/server/vite.config.ts pins 120s for sqlite+git+orchestration integration tests). The | |
| # flag applies to every package, so a lower value would silently CUT apps/server's budget in | |
| # half — the same failure class this override exists to prevent. At 120s no package is | |
| # lowered: web 15s -> 120s, root 60s -> 120s, server 120s -> 120s. | |
| # The job's own `timeout-minutes` remains the backstop against a genuinely hung test. | |
| # Keep in sync with the `test` case in `scripts/t3x/sync-upstream.sh`. | |
| - name: Test | |
| if: ${{ !cancelled() }} | |
| run: vp run test --testTimeout=120000 |