fix(panel): key the verdict cache by the full review request (P4) #698
Workflow file for this run
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
| name: docs-linkcheck | |
| # Builds the tsforge docs site and runs lychee against the built output. | |
| # Internal broken links fail the job; external 4xx/5xx are warnings only. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "apps/docs/**" | |
| - "packages/core/RULES.md" | |
| - "bun.lock" | |
| - ".github/workflows/docs-linkcheck.yml" | |
| pull_request: {} | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: docs-linkcheck-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| linkcheck: | |
| defaults: | |
| run: | |
| working-directory: apps/docs | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Detect docs changes | |
| uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 | |
| id: filter | |
| with: | |
| filters: | | |
| docs: | |
| - 'apps/docs/**' | |
| - 'packages/core/RULES.md' | |
| - 'bun.lock' | |
| - '.github/workflows/docs-linkcheck.yml' | |
| - name: No-op notice for unaffected PRs | |
| if: steps.filter.outputs.docs != 'true' | |
| run: echo "No docs files changed in this PR — skipped." | |
| - name: Set up Bun | |
| if: steps.filter.outputs.docs == 'true' | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | |
| with: | |
| bun-version: 1.3.14 | |
| - name: Cache bun install | |
| if: steps.filter.outputs.docs == 'true' | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }} | |
| restore-keys: | | |
| bun-${{ runner.os }}- | |
| - name: Install dependencies | |
| if: steps.filter.outputs.docs == 'true' | |
| working-directory: ${{ github.workspace }} | |
| run: bun install --frozen-lockfile | |
| - name: Build docs site | |
| if: steps.filter.outputs.docs == 'true' | |
| run: bun run build:ci | |
| - name: Internal link check (fail on broken) | |
| if: steps.filter.outputs.docs == 'true' | |
| uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0 | |
| with: | |
| args: >- | |
| --no-progress | |
| --offline | |
| --root-dir ${{ github.workspace }}/apps/docs/dist | |
| '${{ github.workspace }}/apps/docs/dist/**/*.html' | |
| fail: true | |
| - name: External link check (warning only) | |
| if: steps.filter.outputs.docs == 'true' | |
| uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0 | |
| continue-on-error: true | |
| with: | |
| args: >- | |
| --no-progress | |
| --max-retries 0 | |
| --root-dir ${{ github.workspace }}/apps/docs/dist | |
| --exclude '^https?://(localhost|127\.0\.0\.1|.*\.localhost)' | |
| --exclude 'github\.com/agjs/tsforge' | |
| '${{ github.workspace }}/apps/docs/dist/**/*.html' | |
| fail: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |