2 files changed, 27 insertions, 0 deletions
diff --git a/.github/workflows/docs-pr.yaml b/.github/workflows/docs-pr.yaml
index cde6cf511e..d41f6c4490 100644
--- a/.github/workflows/docs-pr.yaml
+++ b/.github/workflows/docs-pr.yaml
@@ -4,6 +4,8 @@ on:
pull_request:
paths:
- docs/**
+ - book.toml
+ - .github/workflows/docs-pr.yaml
jobs:
pages:
@@ -32,3 +34,27 @@ jobs:
path: book
# We'll only use this in a workflow_run, then we're done with it
retention-days: 1
+
+ link-check:
+ name: Check links in documentation
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Setup mdbook
+ uses: peaceiris/actions-mdbook@adeb05db28a0c0004681db83893d56c0388ea9ea # v1.2.0
+ with:
+ mdbook-version: '0.4.17'
+
+ - name: Setup htmltest
+ run: |
+ wget https://github.com/wjdp/htmltest/releases/download/v0.17.0/htmltest_0.17.0_linux_amd64.tar.gz
+ echo '775c597ee74899d6002cd2d93076f897f4ba68686bceabe2e5d72e84c57bc0fb htmltest_0.17.0_linux_amd64.tar.gz' | sha256sum -c
+ tar zxf htmltest_0.17.0_linux_amd64.tar.gz
+
+ - name: Test links with htmltest
+ # Build the book with `./` as the site URL (to make checks on 404.html possible)
+ # Then run htmltest (without checking external links since that involves the network and is slow).
+ run: |
+ MDBOOK_OUTPUT__HTML__SITE_URL="./" mdbook build
+ ./htmltest book --skip-external
diff --git a/changelog.d/14743.misc b/changelog.d/14743.misc
new file mode 100644
index 0000000000..fe949c5bdb
--- /dev/null
+++ b/changelog.d/14743.misc
@@ -0,0 +1 @@
+Use `htmltest` to check links in the Synapse documentation.
\ No newline at end of file
|