From cbdfd7d4c0ce986c5401700f65db3ad6aa0a4161 Mon Sep 17 00:00:00 2001 From: Kingsword Date: Tue, 14 Oct 2025 22:32:53 +0800 Subject: [PATCH 1/2] ci: Skip fragment check for Zulip client-side routing links --- .github/workflows/links.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml index 244adcc..2592cf8 100644 --- a/.github/workflows/links.yml +++ b/.github/workflows/links.yml @@ -37,4 +37,5 @@ jobs: --no-progress --include-fragments --accept '100..=103, 200..=299, 429' + --remap '(https://rust-lang\.zulipchat\.com[^#]*)#.* $1' . From d1a085cf86bb95d1f14699cb96938fc38fbf9059 Mon Sep 17 00:00:00 2001 From: Kingsword Date: Wed, 15 Oct 2025 00:12:51 +0800 Subject: [PATCH 2/2] add comment --- .github/workflows/links.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml index 2592cf8..b39aa09 100644 --- a/.github/workflows/links.yml +++ b/.github/workflows/links.yml @@ -33,6 +33,9 @@ jobs: fail: true # Accept the HTTP status code 429 (Too Many Requests) to avoid failing the workflow # when the rate limit is exceeded. + # lychee strictly validates fragments; Zulip fragments are JS-routed and lack HTML anchors, + # which leads to false failures. Strip Zulip fragments and check the base URL instead. + # See lychee issues: https://github.com/lycheeverse/lychee/issues/1791 args: | --no-progress --include-fragments