57e52c67b9
* ci: add external link check (lychee, scheduled + on-demand) Adds a non-blocking external-link checker mirroring wickra-docs: an authoritative weekly + on-demand lychee run (this workflow), kept off the PR/release path so a flaky third-party site can never block a merge or an irreversible publish. Fixes the one redirecting link it would flag (docs.rs/wickra -> docs.rs/wickra/latest/wickra/ in SUPPORT.md). * ci: run lychee as a non-blocking PR job (continue-on-error) Hybrid link-check: the authoritative run is the scheduled links.yml; this adds an early heads-up on PRs that never gates the merge. release.yml stays ungated so a flaky third-party site can never block an irreversible publish.
29 lines
1016 B
YAML
29 lines
1016 B
YAML
name: Link check
|
|
|
|
# External link rot is non-deterministic (third-party sites go down, rate-limit,
|
|
# or move), so the authoritative check runs on a weekly schedule and on demand
|
|
# rather than gating PRs or releases. ci.yml additionally runs a non-blocking
|
|
# lychee job on PRs for an early heads-up (continue-on-error), and release.yml is
|
|
# deliberately NOT gated on it — a transient external outage must never block an
|
|
# irreversible publish.
|
|
on:
|
|
schedule:
|
|
- cron: "0 6 * * 1" # Mondays 06:00 UTC
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
links:
|
|
name: External links (lychee)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
- uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2
|
|
with:
|
|
args: --config lychee.toml --no-progress --root-dir "${{ github.workspace }}" "*.md" "bindings/*/README.md"
|
|
fail: true
|