Skip to content

Commit e95cd8f

Browse files
authored
Merge pull request #14969 from brossetti1/add-lychee-ci
Add lychee ci
2 parents 3822cce + a9d67e5 commit e95cd8f

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

.github/workflows/lychee-cron.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Check Links In Public Directory
2+
3+
on:
4+
schedule:
5+
- cron: "0 0 1 * *" # Monthly run on the 1st day of every month at midnight UTC
6+
workflow_dispatch:
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
check-links:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Clone repository
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
ref: dev
22+
23+
- name: Check links in /public
24+
uses: lycheeverse/lychee-action@v2
25+
with:
26+
args: |
27+
public/
28+
--quiet
29+
--max-retries 1
30+
--accept 200,429,403
31+
--exclude-all-private
32+
--exclude '^file://'
33+
--exclude "ethereum\.org"
34+
--include '^https?://'
35+
--format detailed
36+
'./**/*.md'
37+
continue-on-error: true
38+
39+
- name: Provide helpful failure message
40+
if: failure()
41+
run: |
42+
echo "::error::Link check failed! Please review the broken links reported above."
43+
echo ""
44+
echo "If certain links are valid but fail due to:"
45+
echo "- CAPTCHA challenges"
46+
echo "- IP blocking"
47+
echo "- Authentication requirements"
48+
echo "- Rate limiting"
49+
echo ""
50+
echo "Consider adding them to .lycheeignore to bypass future checks."
51+
echo "Format: Add one URL pattern per line"
52+
exit 1

0 commit comments

Comments
 (0)