Skip to content

Implement link validator and update gitignore for caching - #45

Open
Amaru333 wants to merge 10 commits into
stagecc:mainfrom
Amaru333:feature/link-validator-clean
Open

Implement link validator and update gitignore for caching#45
Amaru333 wants to merge 10 commits into
stagecc:mainfrom
Amaru333:feature/link-validator-clean

Conversation

@Amaru333

Copy link
Copy Markdown
Collaborator

This pull request introduces automated link checking to the CI workflow, improves link validation tooling, and adds scripts for easier local and CI-based link checks across all app workspaces. The changes ensure that both internal and external links are validated regularly, and provide developers with convenient scripts to run these checks locally.

CI/CD and Workflow Enhancements:

  • Added scheduled and manual link checking jobs to .github/workflows/ci.yaml, including detection of changed apps, internal link checks for all apps, and external link checks for site and consortium. This ensures broken links are caught both on PRs and on a weekly schedule. [1] [2]
  • Updated the lint job to only run on relevant events, optimizing workflow runs.

Developer Tooling and Scripts:

  • Added a new script scripts/check-links.mjs that builds each app and runs the Lychee link checker in offline, online, or unique-link modes, making it easy to validate links locally or in CI.
  • Added links:offline, links:online, and links:unique npm scripts to the root package.json and to each app (site, consortium, docs) for running link checks directly via npm. [1] [2] [3] [4]

Configuration and Documentation:

  • Introduced a project-wide Lychee configuration file (lychee.toml) to standardize link checking behavior and exclusions.
  • Updated README.md to document the new link check in the CI process, clarifying when internal and external links are validated.

@Amaru333
Amaru333 requested a review from mbwatson August 17, 2026 19:59

@mbwatson mbwatson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a nice improvement overall, especially keeping link checks non-blocking so they report issues and don't block releases

we may modify on.push to push: { branches: ['**'] } to not fire on tag pushes, which is likely in our future.

could we add a short note in README.md about local Lychee installation prerequisites for the new links:* scripts? Right now scripts/check-links.mjs invokes Lychee directly, so devs may hit a "command not found" error. a brief "install Lychee + verify with lychee --version" note for Mac and Linux could help smooth things out.

@Amaru333
Amaru333 requested a review from mbwatson August 18, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants