ci: scheduled external-link monitor with lychee (closes #12)#24
Merged
Conversation
CI's htmltest runs with CheckExternal: false (deterministic, never flakes on a third-party outage), so nothing ever checks outbound links — rot to getmonero.org / GitHub / Tari goes unnoticed. - links.yml: weekly (+ workflow_dispatch) job that builds the site and runs lychee over ./public, excluding our own domain (internal links stay htmltest's job). fail: false — it never blocks a PR. On breakage it opens, or updates, a single "Broken external links (lychee)" tracking issue via gh. - .lycheeignore: documented placeholder for flaky/auth-walled hosts (none needed yet — the site only links to stable hosts). - Hugo install reads .hugoversion when present (falls back to 0.162.1), so it picks up the single-source pin from #15 once that merges. Verified locally: lychee --dump over a production build lists exactly the outbound links (own domain excluded); prettier/YAML/zizmor clean. The job is scheduled, so it doesn't run on this PR. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Resolves #12. CI's htmltest runs with
CheckExternal: false(deterministic — never flakes on a third-party outage), so nothing ever checks outbound links. Link rot to getmonero.org / GitHub / Tari goes unnoticed.What this adds
.github/workflows/links.yml— a weekly (+workflow_dispatch) job that builds the site and runs lychee over./public, excluding our own domain (internal links stay htmltest's job).fail: false, so it never blocks a PR. On breakage it opens — or updates — a singleBroken external links (lychee)tracking issue viagh(deduped by exact title)..lycheeignore— documented placeholder for flaky/auth-walled hosts; none needed yet since the site only links to stable hosts.The Hugo install reads
.hugoversionwhen present (falls back to0.162.1), so it auto-tracks the single-source pin from #15 once that merges.Acceptance (#12)
.lycheeignorefor flaky hosts, documentedVerified locally
lychee --dumpover a production build lists exactly the outbound links (github repos, getmonero.org, tari.com) with the own-domain internal links correctly excluded🤖 Generated with Claude Code