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/download-artifact@v5
26+ with :
27+ name : " github-pages"
28+
29+ - name : Checkout lychee toml file
30+ uses : actions/checkout@v5
31+ with :
32+ sparse-checkout : ' .lychee.toml'
2033
2134 - name : Restore lychee cache
2235 uses : actions/cache@v4
@@ -29,41 +42,35 @@ jobs:
2942 id : lychee
3043 uses : lycheeverse/lychee-action@v2
3144 with :
32- fail : false
3345 # Exclude all private and local addresses in the check
3446 # Also exclude domains that actively block GitHub to send requests
3547 # Any Cockpit URLs it finds that have variables will be ignored too
3648 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
49+ --root-dir "${{github.workspace}}"
50+ --config "${{github.workspace}}/.lychee.toml"
5151 .
5252 token : ${{ secrets.GITHUB_TOKEN }}
53+ continue-on-error : true
5354
5455 - name : Find the last open report issue
55- if : steps.lychee.outputs.exit_code != 0
56+ if : |
57+ steps.lychee.outputs.exit_code != 0
58+ && inputs.create_issue
5659 id : last-issue
5760 uses : micalevisk/last-issue-action@v2
5861 with :
5962 state : open
6063 labels : link-checker
6164
6265 - name : Update or create issue report
63- if : steps.lychee.outputs.exit_code != 0 && steps.last-issue.outputs.has-found == 'true'
66+ if : |
67+ steps.lychee.outputs.exit_code != 0
68+ && steps.last-issue.outputs.has-found == 'false'
69+ && inputs.create_issue
6470 uses : peter-evans/create-issue-from-file@v5
6571 with :
66- title : Link Checker Report
72+ title : Broken links detected in docs 🔗
6773 content-filepath : ./lychee/out.md
6874 issue-number : ${{ steps.last-issue.outputs.issue-number }}
75+ token : ${{secrets.GITHUB_TOKEN}}
6976 labels : link-checker
0 commit comments