Skip to content

ci: add Lychee link checker for the docs#998

Draft
vdusek wants to merge 2 commits into
masterfrom
ci/add-lychee-link-checker
Draft

ci: add Lychee link checker for the docs#998
vdusek wants to merge 2 commits into
masterfrom
ci/add-lychee-link-checker

Conversation

@vdusek

@vdusek vdusek commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Adds a scheduled link checker for the docs, mirroring crawlee-python's scheduled-tests workflow. Three parts:

  • .github/workflows/on_schedule_lychee.yaml: runs on weekdays at 01:00 UTC (and on manual workflow_dispatch), builds the docs with uv run poe build-docs, and runs lycheeverse/lychee-action over the generated ./website/build/**/*.html to catch broken external links and runtime 404s. On a failed scheduled run it posts a Slack alert to the team channel via SLACK_WEBHOOK_URL (skipped on manual dispatch, so ad-hoc triggers don't spam). It is not PR-blocking.
  • .lycheeignore: ignore patterns ported from apify-docs and retargeted to this repo.
  • onBrokenLinks / onBrokenMarkdownLinksthrow in docusaurus.config.js: broken internal links now fail the docs build (anchors stay at the default warn, same as apify-docs).

The broken-link fixes this throw policy depends on already landed in #997. Verified locally: full poe build-docs with throw passes (0 broken links).

Adds a daily (and manually dispatchable) Lychee workflow that builds the docs and checks the generated HTML for broken links, and flips onBrokenLinks/onBrokenMarkdownLinks to 'throw' so broken internal links fail the docs build. Mirrors the apify-docs setup.
@vdusek vdusek added adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. labels Jun 17, 2026
@vdusek vdusek self-assigned this Jun 17, 2026
@github-actions github-actions Bot added this to the 143rd sprint - Tooling team milestone Jun 17, 2026
@codecov

codecov Bot commented Jun 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.51%. Comparing base (726620b) to head (8a27173).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #998      +/-   ##
==========================================
- Coverage   90.54%   90.51%   -0.04%     
==========================================
  Files          49       49              
  Lines        3132     3132              
==========================================
- Hits         2836     2835       -1     
- Misses        296      297       +1     
Flag Coverage Δ
e2e 36.14% <ø> (ø)
integration 57.12% <ø> (-0.04%) ⬇️
unit 79.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Mirrors crawlee-python's scheduled-tests workflow: runs weekdays at 01:00 UTC (same as crawlee) and pings the team Slack channel via SLACK_WEBHOOK_URL when a scheduled run fails (skipped on manual dispatch). Renames lychee.yml to on_schedule_lychee.yaml to match the on_schedule_* convention.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants