mirror of
https://github.com/mattermost/mattermost.git
synced 2026-08-27 05:37:15 -05:00
Add CI check for broken mattermost.com links in webapp (#35093)
* Add CI check for broken mattermost.com links in webapp Add a script that scans the webapp source files for links to mattermost.com domains and tests each unique URL for 404s. This helps detect broken documentation and marketing links early. - New script: webapp/scripts/check-external-links.mjs - New npm target: check-external-links - New CI job in webapp-ci.yml to run on every commit * Add --markdown flag for GitHub Actions job summary * Fix job summary: use pipefail and suppress progress output * Require mattermost.com links to use /pl/ permalink format * Require all mattermost.com links (including subdomains) to use /pl/ * Allow exceptions for push servers and root domain * Make non-permalink URLs warnings instead of errors * Add User-Agent header and retry GET on 403 * Follow redirects when checking URLs Check the final destination of redirects to catch broken links that redirect to error pages. If a redirect response has the Cloudflare cf-mitigated header, assume the URL is OK and stop following. * Simplify link checker code - Combine PUSH_SERVER_PATTERN and HPNS_PATTERN into single regex - Simplify validatePermalink to return boolean (reason was unused) - Consolidate Cloudflare header checks in processResponse * replace broken links with valid ones * updates
This commit is contained in:
@@ -45,6 +45,23 @@ jobs:
|
||||
run: |
|
||||
npm run i18n-extract:check
|
||||
|
||||
check-external-links:
|
||||
needs: check-lint
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 15
|
||||
defaults:
|
||||
run:
|
||||
working-directory: webapp
|
||||
steps:
|
||||
- name: ci/checkout-repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: ci/setup
|
||||
uses: ./.github/actions/webapp-setup
|
||||
- name: ci/check-external-links
|
||||
run: |
|
||||
set -o pipefail
|
||||
npm run check-external-links -- --markdown | tee -a $GITHUB_STEP_SUMMARY
|
||||
|
||||
check-types:
|
||||
needs: check-lint
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
Reference in New Issue
Block a user