The build-and-check job fails whenever https://standard.site/ returns a 500 to the CI runners. It happened on #97, where the lychee link-check reported 8 errors, all of them https://standard.site/, even though the same URL returns 200 from a local machine at the same moment. The link is referenced by standard-site-cards and lexicons-and-integrations, so the failure hits any PR while that site is flaky, and it's unrelated to whatever the PR actually changes.
The check should not go red because a third-party site we link to has a bad few minutes.
Options, roughly in order of preference:
- Give lychee a retry/backoff for transient 5xx (
--max-retries, --retry-wait-time) so a single blip doesn't fail the run.
- Accept 500 for
standard.site specifically, or move it to the .lychee.toml exclude list the way GitHub API URLs already are.
- Split the external link-check into a non-blocking job (or a scheduled run) so an external outage never blocks a merge.
Reproduce: re-run build-and-check on any recent PR while standard.site is 5xx'ing from GitHub's IP ranges.
The
build-and-checkjob fails wheneverhttps://standard.site/returns a 500 to the CI runners. It happened on #97, where the lychee link-check reported 8 errors, all of themhttps://standard.site/, even though the same URL returns 200 from a local machine at the same moment. The link is referenced bystandard-site-cardsandlexicons-and-integrations, so the failure hits any PR while that site is flaky, and it's unrelated to whatever the PR actually changes.The check should not go red because a third-party site we link to has a bad few minutes.
Options, roughly in order of preference:
--max-retries,--retry-wait-time) so a single blip doesn't fail the run.standard.sitespecifically, or move it to the.lychee.tomlexclude list the way GitHub API URLs already are.Reproduce: re-run
build-and-checkon any recent PR while standard.site is 5xx'ing from GitHub's IP ranges.