This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 7b767f6c1d5 chore(ci): swap linkinator-action for lychee-action in
docs link checker (#42501)
7b767f6c1d5 is described below
commit 7b767f6c1d5a4d8813ae4c0eda659d1218297b60
Author: Evan Rusackas <[email protected]>
AuthorDate: Tue Jul 28 07:33:01 2026 -0700
chore(ci): swap linkinator-action for lychee-action in docs link checker
(#42501)
Co-authored-by: Superset Dev <[email protected]>
Co-authored-by: Claude Fable 5 <[email protected]>
---
.github/workflows/superset-docs-verify.yml | 77 ++++++++++++++++++------------
1 file changed, 46 insertions(+), 31 deletions(-)
diff --git a/.github/workflows/superset-docs-verify.yml
b/.github/workflows/superset-docs-verify.yml
index aaa84245f95..50957f109cd 100644
--- a/.github/workflows/superset-docs-verify.yml
+++ b/.github/workflows/superset-docs-verify.yml
@@ -21,8 +21,8 @@ permissions:
contents: read
jobs:
- linkinator:
- # See docs here: https://github.com/marketplace/actions/linkinator
+ lychee:
+ # See docs here: https://github.com/lycheeverse/lychee-action
# Only run on pull_request, not workflow_run
if: github.event_name == 'pull_request'
name: Link Checking
@@ -31,37 +31,52 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 #
v7.0.1
with:
persist-credentials: false
- # Do not bump this linkinator-action version without opening
- # an ASF Infra ticket to allow the new version first!
- - uses:
JustinBeckwith/linkinator-action@af984b9f30f63e796ae2ea5be5e07cb587f1bbd9 # v2.3
+ # Restores the on-disk request cache (.lycheecache) lychee writes when
+ # `--cache` is set, so re-runs don't re-check every external link from
+ # scratch. Key never matches exactly (github.run_id is unique per run),
+ # so actions/cache always saves a fresh copy afterwards; restore-keys
+ # falls back to the most recent prior cache on lookup.
+ - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+ with:
+ path: .lycheecache
+ key: lychee-cache-${{ github.run_id }}
+ restore-keys: lychee-cache-
+ # v2.8.0 and v2.9.0 are both on ASF Infra's action allowlist
+ # (apache/infrastructure-actions approved_patterns.yml) as of this
+ # writing. Do not bump past v2.9.0 without opening an Infra ticket
+ # to allow the new SHA first!
+ - uses:
lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0
continue-on-error: true # This will make the job advisory
(non-blocking, no red X)
with:
- paths: "**/*.md, **/*.mdx"
- linksToSkip: >-
-
^https://github.com/apache/(superset|incubator-superset)/(pull|issues)/\d+,
-
^https://github.com/apache/(superset|incubator-superset)/commit/[a-f0-9]+,
- superset-frontend/.*CHANGELOG\.md,
- http://localhost:8088/,
- http://127.0.0.1:3000/,
- http://localhost:9001/,
- https://charts.bitnami.com/bitnami,
- https://www.li.me/,
- https://www.fanatics.com/,
- https://tails.com/gb/,
- https://www.techaudit.info/,
- https://avetilearning.com/,
- https://www.udemy.com/,
- https://trustmedis.com/,
- http://theiconic.com.au/,
- https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html,
- ^https://img\.shields\.io/.*,
- https://vkusvill.ru/,
- https://www.linkedin.com/in/mark-thomas-b16751158/,
- https://theiconic.com.au/,
- https://wattbewerb.de/,
- https://timbr.ai/,
- https://opensource.org/license/apache-2-0,
- https://www.plaidcloud.com/
+ fail: false
+ args: >-
+ --verbose --no-progress
+ --cache --max-cache-age 7d
+ --exclude
'^https://github.com/apache/(superset|incubator-superset)/(pull|issues)/\d+'
+ --exclude
'^https://github.com/apache/(superset|incubator-superset)/commit/[a-f0-9]+'
+ --exclude 'superset-frontend/.*CHANGELOG\.md'
+ --exclude 'http://localhost:8088/'
+ --exclude 'http://127.0.0.1:3000/'
+ --exclude 'http://localhost:9001/'
+ --exclude 'https://charts.bitnami.com/bitnami'
+ --exclude 'https://www.li.me/'
+ --exclude 'https://www.fanatics.com/'
+ --exclude 'https://tails.com/gb/'
+ --exclude 'https://www.techaudit.info/'
+ --exclude 'https://avetilearning.com/'
+ --exclude 'https://www.udemy.com/'
+ --exclude 'https://trustmedis.com/'
+ --exclude 'http://theiconic.com.au/'
+ --exclude
'https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html'
+ --exclude '^https://img\.shields\.io/.*'
+ --exclude 'https://vkusvill.ru/'
+ --exclude 'https://www.linkedin.com/in/mark-thomas-b16751158/'
+ --exclude 'https://theiconic.com.au/'
+ --exclude 'https://wattbewerb.de/'
+ --exclude 'https://timbr.ai/'
+ --exclude 'https://opensource.org/license/apache-2-0'
+ --exclude 'https://www.plaidcloud.com/'
+ './**/*.md' './**/*.mdx'
build-on-pr:
# Build docs when PR changes docs/** (uses committed databases.json)