Skip to content

Link Checker

Link Checker #121

Workflow file for this run

name: Link Checker
on:
pull_request:
branches:
- main
- find_linkcheckerrc
push:
branches:
- main
- find_linkcheckerrc
schedule:
# run every Sunday at 00:00 UTC
- cron: '0 0 * * 0'
jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Dependencies
run: |
pip3 install --upgrade pip
pip3 install linkchecker==10.2.1
pip3 install requests
- name: search for linkcheckerrc file
id: find-file
run: |
file_path=$(find /home/runner/.local/lib/python3.* -name linkcheckerrc)
echo "linkcheckerrc located here: $file_path"
echo "file_path=$file_path" >> $GITHUB_OUTPUT
- name: amend linkcheckerrc to ignore 403 errors
run: |
sed -i '/#ignoreerrors=/a ignoreerrors=\n ^http* ^403 Forbidden\n ^http* ^418 Unknown Code' $(echo ${{ steps.find-file.outputs.file_path }})
- name: run linkchecker
run: |
cd $GITHUB_WORKSPACE/
nohup python3 -m http.server </dev/null >/dev/null 2>&1 &
export LOCAL_HOST=$(hostname -i)
linkchecker --verbose --check-extern http://${LOCAL_HOST}:8000/nav.html