11name : Verify links
22
33on :
4- push :
5- branches :
6- - main
7- - workflow/verify-links # TODO REMOVE
4+ # push:
5+ # branches:
6+ # - main
7+ # - workflow/verify-links # TODO Remove before merging PR
88 repository_dispatch :
99 workflow_dispatch :
10+ workflow_call :
11+ inputs :
12+ create_issue :
13+ required : false
14+ type : boolean
15+ default : false
1016 schedule :
1117 - cron : " 08 08 * * 1"
1218
1319jobs :
14- linkChecker :
20+ link_checker :
1521 runs-on : ubuntu-latest
1622 permissions :
1723 issues : write # required for peter-evans/create-issue-from-file
1824 steps :
19- - uses : actions/checkout@v4
25+ - uses : actions/checkout@v5
2026
2127 - name : Restore lychee cache
2228 uses : actions/cache@v4
@@ -29,41 +35,35 @@ jobs:
2935 id : lychee
3036 uses : lycheeverse/lychee-action@v2
3137 with :
32- fail : false
3338 # Exclude all private and local addresses in the check
3439 # Also exclude domains that actively block GitHub to send requests
3540 # Any Cockpit URLs it finds that have variables will be ignored too
3641 args : |
37- --max-concurrency 1
38- --retry-wait-time 60
39- --base .
40- --skip-missing
41- --exclude-all-private
42- --exclude '^https://linux.die.net'
43- --exclude 'file:///'
44- --exclude 'domain.tld'
45- --exclude '^.*\{\{'
46- --exclude 'https://bodhi.fedoraproject.org/updates/cockpit-*'
47- --cache
48- --cache-exclude-status 400..=599
49- --max-cache-age 1d
50- -v
51- .
42+ --root-dir "/github/workspace/_site"
43+ --config "./.lychee.toml"
44+ /github/workspace/_site
5245 token : ${{ secrets.GITHUB_TOKEN }}
46+ continue-on-error : true
5347
5448 - name : Find the last open report issue
55- if : steps.lychee.outputs.exit_code != 0
49+ if : |
50+ steps.lychee.outputs.exit_code != 0
51+ && inputs.create_issue
5652 id : last-issue
5753 uses : micalevisk/last-issue-action@v2
5854 with :
5955 state : open
6056 labels : link-checker
6157
6258 - name : Update or create issue report
63- if : steps.lychee.outputs.exit_code != 0 && steps.last-issue.outputs.has-found == 'true'
59+ if : |
60+ steps.lychee.outputs.exit_code != 0
61+ && steps.last-issue.outputs.has-found == 'false'
62+ && inputs.create_issue
6463 uses : peter-evans/create-issue-from-file@v5
6564 with :
66- title : Link Checker Report
65+ title : Broken links detected in docs 🔗
6766 content-filepath : ./lychee/out.md
6867 issue-number : ${{ steps.last-issue.outputs.issue-number }}
68+ token : ${{secrets.GITHUB_TOKEN}}
6969 labels : link-checker
0 commit comments