4
4
push :
5
5
branches :
6
6
- main
7
- - workflow/verify-links # TODO REMOVE
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/checkout@v5
20
26
21
27
- name : Restore lychee cache
22
28
uses : actions/cache@v4
@@ -29,41 +35,35 @@ jobs:
29
35
id : lychee
30
36
uses : lycheeverse/lychee-action@v2
31
37
with :
32
- fail : false
33
38
# Exclude all private and local addresses in the check
34
39
# Also exclude domains that actively block GitHub to send requests
35
40
# Any Cockpit URLs it finds that have variables will be ignored too
36
41
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
+ ./_site
52
45
token : ${{ secrets.GITHUB_TOKEN }}
46
+ continue-on-error : true
53
47
54
48
- 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
56
52
id : last-issue
57
53
uses : micalevisk/last-issue-action@v2
58
54
with :
59
55
state : open
60
56
labels : link-checker
61
57
62
58
- 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
64
63
uses : peter-evans/create-issue-from-file@v5
65
64
with :
66
- title : Link Checker Report
65
+ title : Broken links detected in docs 🔗
67
66
content-filepath : ./lychee/out.md
68
67
issue-number : ${{ steps.last-issue.outputs.issue-number }}
68
+ token : ${{secrets.GITHUB_TOKEN}}
69
69
labels : link-checker
0 commit comments