1
1
name : Link Checker [Anaconda, Linux]
2
2
on :
3
- pull_request :
4
- types : [opened, reopened]
3
+ schedule :
4
+ # UTC 23:00 is early morning in Australia (9am) every Sunday
5
+ - cron : ' 0 23 * * 0'
6
+ workflow_dispatch :
5
7
jobs :
6
- link-check-linux :
7
- name : Link Checking (${{ matrix.python-version }}, ${{ matrix.os }})
8
- runs-on : ${{ matrix.os }}
9
- strategy :
10
- fail-fast : false
11
- matrix :
12
- os : ["ubuntu-latest"]
13
- python-version : ["3.12"]
8
+ link-checking :
9
+ name : Link Checking
10
+ runs-on : " ubuntu-latest"
11
+ permissions :
12
+ issues : write # required for peter-evans/create-issue-from-file
14
13
steps :
14
+ # Checkout the live site (html)
15
15
- name : Checkout
16
16
uses : actions/checkout@v4
17
- - name : Setup Anaconda
18
- uses : conda-incubator/setup-miniconda@v3
19
17
with :
20
- auto-update-conda : true
21
- auto-activate-base : true
22
- miniconda-version : ' latest'
23
- python-version : " 3.12"
24
- environment-file : environment.yml
25
- activate-environment : quantecon
26
- - name : Download "build" folder (cache)
27
- uses : dawidd6/action-download-artifact@v11
28
- with :
29
- workflow : cache.yml
30
- branch : main
31
- name : build-cache
32
- path : _build
18
+ ref : gh-pages
33
19
- name : Link Checker
34
- shell : bash -l {0}
35
- run : jb build lectures --path-output=./ --builder=custom --custom-builder=linkcheck
36
- - name : Upload Link Checker Reports
37
- uses : actions/upload-artifact@v4
38
- if : failure()
20
+ id : lychee
21
+ uses : lycheeverse/lychee-action@v2
22
+ with :
23
+ fail : false
24
+ args : --accept 403,503 **/*.html
25
+ - name : Create Issue From File
26
+ if : steps.lychee.outputs.exit_code != 0
27
+ uses : peter-evans/create-issue-from-file@v5
39
28
with :
40
- name : linkcheck-reports
41
- path : _build/linkcheck
29
+ title : Link Checker Report
30
+ content-filepath : ./lychee/out.md
31
+ labels : report, automated issue, linkchecker
0 commit comments