ci: enable dead-link checks and lychee for external links#352
ci: enable dead-link checks and lychee for external links#352brendanjryan merged 3 commits intomainfrom
Conversation
Flip checkDeadlinks to true and add lychee for external URL validation. Extend the syncTips link-rewriter with two upstream-typo escape hatches (tip-1011 'verify/src' path, tip-0000 './tip_template.md') so the dead link checker passes against TIPs synced from tempoxyz/tempo.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
lychee auto-detects lychee.toml from cwd and inherits cache settings from config. The previous --base . was rejected by lychee 0.23 (must be URL or absolute path); we don't need root-relative resolution since Vocs checks internal links.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 52ed659a9f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| args: >- | ||
| --config lychee.toml | ||
| --cache | ||
| --base . |
There was a problem hiding this comment.
Replace relative
--base argument
lycheeverse/lychee-action@v2 uses lychee versions where --base/--base-url must be a URL or an absolute local path (per lychee --help), but this workflow passes --base . (a relative path). On push/PR events (where fail evaluates true), that turns the run into a configuration error before link checking begins, so the new job can fail every run instead of validating links.
Useful? React with 👍 / 👎.
| token: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - name: Open issue on scheduled failure | ||
| if: failure() && github.event_name == 'schedule' |
There was a problem hiding this comment.
Check lychee exit code instead of
failure()
For scheduled runs, fail is set to false, so the lychee step does not mark the job as failed when broken links are found; in that mode failure() remains false and this issue-creation step never runs. The action’s documented pattern for scheduled reporting is to key off steps.<id>.outputs.exit_code != 0, so the current condition silently drops weekly link-rot reports.
Useful? React with 👍 / 👎.
Five sidebar 'Reference Implementation' entries pointed at tips/ref-impls/src/*.sol, which no longer exist on tempoxyz/tempo main. The Solidity reference now lives in tempoxyz/tempo-std interfaces; updated all five plus the renamed stablecoin_exchange precompile (now stablecoin_dex). Scoped lychee to src/pages and vocs.config.ts. README.md has pre-existing broken refs (missing LICENSE files, /public lockup paths) unrelated to docs content. Added --root-dir so future root-relative links in MDX resolve against the workspace.
Flip
checkDeadlinkstotrueso internal dead links break the build, and add lychee for external URL validation in CI.