1
1
name : Verify links
2
2
3
3
on :
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
8
8
repository_dispatch :
9
9
workflow_dispatch :
10
+ workflow_call :
11
+ inputs :
12
+ create_issue :
13
+ required : false
14
+ type : boolean
15
+ default : false
10
16
schedule :
11
17
- cron : " 08 08 * * 1"
12
18
13
19
jobs :
14
- linkChecker :
20
+ link_checker :
15
21
runs-on : ubuntu-latest
16
22
permissions :
17
23
issues : write # required for peter-evans/create-issue-from-file
18
24
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'
20
33
21
34
- name : Restore lychee cache
22
35
uses : actions/cache@v4
@@ -29,41 +42,35 @@ jobs:
29
42
id : lychee
30
43
uses : lycheeverse/lychee-action@v2
31
44
with :
32
- fail : false
33
45
# Exclude all private and local addresses in the check
34
46
# Also exclude domains that actively block GitHub to send requests
35
47
# Any Cockpit URLs it finds that have variables will be ignored too
36
48
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"
51
51
.
52
52
token : ${{ secrets.GITHUB_TOKEN }}
53
+ continue-on-error : true
53
54
54
55
- 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
56
59
id : last-issue
57
60
uses : micalevisk/last-issue-action@v2
58
61
with :
59
62
state : open
60
63
labels : link-checker
61
64
62
65
- 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
64
70
uses : peter-evans/create-issue-from-file@v5
65
71
with :
66
- title : Link Checker Report
72
+ title : Broken links detected in docs 🔗
67
73
content-filepath : ./lychee/out.md
68
74
issue-number : ${{ steps.last-issue.outputs.issue-number }}
75
+ token : ${{secrets.GITHUB_TOKEN}}
69
76
labels : link-checker
0 commit comments