-
Notifications
You must be signed in to change notification settings - Fork 0
ci: wire Lychee link-checker (workflow + installer + pre-push hook) #2084
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
b3a66f6
ci: wire lychee link-checker (workflow + installer + pre-push hook) (…
Aureliolo 56071ea
ci: address pre-PR review findings (CLAUDE.md, ADR-0006, .gitignore, …
Aureliolo 7323911
fix: babysit round 1, 7 findings (3 gemini, 4 ci)
Aureliolo 1e16801
fix: babysit round 1, +template-lock poll + atomic rename
Aureliolo ccba5b0
fix: babysit round 2, drop lycheeverse/lychee-action + 3 CodeRabbit f…
Aureliolo 0933ea3
fix: external_remote rate-limit classifier false-positives on port nu…
Aureliolo b15ddf9
chore: tag external_remote.py as module-kind: adapter
Aureliolo 5bf57a9
fix: babysit round 3, 3 CodeRabbit findings (curl retry + shellcheck …
Aureliolo 0277fa1
docs(skill): babysit-pr per-reviewer auto-clear policy (reply > dismi…
Aureliolo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,107 @@ | ||
| name: Link Check (lychee) | ||
|
|
||
| # Markdown link-checker for README, every CLAUDE.md tier, and every | ||
| # Markdown under docs/. Configured via ``lychee.toml`` at the repo root, | ||
| # which is the same source of truth the local pre-push hook consumes. | ||
| # Strict preset: any non-200 response fails the run (rate-limit and | ||
| # anti-bot hosts are excluded by ``lychee.toml``). | ||
| # | ||
| # Install path: ``scripts/install_cli_tools.sh lychee`` is the single | ||
| # source of truth for the lychee binary (the local pre-push hook and | ||
| # this CI job use the byte-identical binary). The previous integration | ||
| # via ``lycheeverse/lychee-action`` was dropped because the action's | ||
| # release cadence trailed lychee's archive-layout change in v0.24 | ||
| # (action issue #332 still open at the time of writing), and we already | ||
| # maintain a robust nested-archive-aware install in the script. The | ||
| # Renovate marker on ``LYCHEE_VERSION`` in that script is the single | ||
| # version pin. | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: [main] | ||
| paths: | ||
| - "README.md" | ||
| - "CLAUDE.md" | ||
| - "cli/CLAUDE.md" | ||
| - "web/CLAUDE.md" | ||
| - "docs/**/*.md" | ||
| - ".github/workflows/lychee.yml" | ||
| - "lychee.toml" | ||
| - "scripts/install_cli_tools.sh" | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "README.md" | ||
| - "CLAUDE.md" | ||
| - "cli/CLAUDE.md" | ||
| - "web/CLAUDE.md" | ||
| - "docs/**/*.md" | ||
| - ".github/workflows/lychee.yml" | ||
| - "lychee.toml" | ||
| - "scripts/install_cli_tools.sh" | ||
| workflow_dispatch: | ||
|
|
||
| permissions: {} | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | ||
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
|
||
| jobs: | ||
| lychee: | ||
| name: lychee | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 10 | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - uses: Aureliolo/synthorg/.github/actions/checkout@25921183f274c930bf473dc0339376bda0961eaf | ||
| with: | ||
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | ||
| persist-credentials: false | ||
|
|
||
| - name: Restore lychee cache | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | ||
| with: | ||
| path: .lycheecache | ||
| key: cache-lychee-${{ github.sha }} | ||
| restore-keys: cache-lychee- | ||
|
|
||
| - name: Install lychee | ||
| shell: bash | ||
| # ``runner.temp`` is only available at step-level env; job-level | ||
| # env limits context to github/inputs/matrix/needs/secrets/strategy/vars | ||
| # (actionlint enforces this). Same install dir is reused by the | ||
| # following PATH step. | ||
| env: | ||
| LYCHEE_INSTALL_DIR: ${{ runner.temp }}/lychee-bin | ||
| run: bash scripts/install_cli_tools.sh lychee | ||
|
|
||
| - name: Add lychee to PATH | ||
| shell: bash | ||
| env: | ||
| LYCHEE_INSTALL_DIR: ${{ runner.temp }}/lychee-bin | ||
| run: echo "${LYCHEE_INSTALL_DIR}" >> "${GITHUB_PATH}" | ||
|
|
||
| - name: Run lychee | ||
| shell: bash | ||
| env: | ||
| # Authenticated GitHub requests get a higher rate-limit budget, | ||
| # which matters because docs reference many github.com URLs. | ||
| GITHUB_TOKEN: ${{ github.token }} | ||
| run: | | ||
| set -o pipefail | ||
| # lychee accepts glob patterns natively (it handles ** without | ||
| # needing bash globstar). Markdown output is appended to the | ||
| # GitHub job summary so the report shows up in the run UI; the | ||
| # same content also lands in the step log via tee. | ||
| lychee \ | ||
| --config lychee.toml \ | ||
| --no-progress \ | ||
| --format markdown \ | ||
| './README.md' \ | ||
| './CLAUDE.md' \ | ||
| './cli/CLAUDE.md' \ | ||
| './web/CLAUDE.md' \ | ||
| './docs/**/*.md' \ | ||
| | tee -a "${GITHUB_STEP_SUMMARY}" |
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.