Skip to content

Commit

Permalink
Check for broken links
Browse files Browse the repository at this point in the history
  • Loading branch information
richelbilderbeek committed Jan 7, 2025
1 parent b8b1299 commit d2fd589
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/check-links.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Check that all links are valid, i.e. not broken
name: Check links

on:
push:
pull_request:

jobs:
check-links:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4

# The link checker will only work if mlc_config.json is a valid JSON
- name: Validate JSON
uses: docker://orrosenblatt/validate-json-action:latest
env:
INPUT_SCHEMA: .github/workflows/valid_json_schema.json
INPUT_JSONS: mlc_config.json

# These are status code that cannot be ignored.
#
# If there is a valid external link that fails,
# add it to mlc_config.json
- name: External links must be checked, do not allow '0' in the 'aliveStatusCodes' of mlc_config.json
run: if [[ $(grep --regexp "[^0-9]0[^0-9]" mlc_config.json | wc --lines) == "1" ]]; then echo "FOUND"; exit 42; fi

- name: Internal links must checked, do not allow '400' in the 'aliveStatusCodes' of mlc_config.json
run: if [[ $(grep --regexp "[^0-9]400[^0-9]" mlc_config.json | wc --lines) == "1" ]]; then echo "FOUND"; exit 42; fi


- uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
config-file: 'mlc_config.json'
use-quiet-mode: 'yes'
use-verbose-mode: 'no'

6 changes: 6 additions & 0 deletions .github/workflows/valid_json_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"properties": {
"foo": { "type": "string" },
"bar": { "type": "number" }
}
}
3 changes: 3 additions & 0 deletions mlc_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"aliveStatusCodes": [200, 403, 418, 500, 503]
}

0 comments on commit d2fd589

Please sign in to comment.