Skip to content

Link Check

Link Check #649

Workflow file for this run

# This job checks the docs for broken links. Most of the links in the
# docs are to markdown files, and those get checked by Docusaurus, but
# there are some links to partner websites, wikipedia, GitHub, etc.
#
# The job writes to a file that you can find by looking at the Actions
# page in GitHub. You should look at it once in a while.
#
name: Link Check
on:
schedule:
- cron: '1 22 * * *'
workflow_dispatch:
jobs:
LinkCheck:
runs-on: ubuntu-latest
steps:
- name: Check out docs repo
uses: actions/checkout@v4
with:
repository: ClickHouse/clickhouse-docs
path: ./
- name: Download Reference Docs
run: |
curl https://codeload.github.com/ClickHouse/ClickHouse/tar.gz/master | tar -xz -C ./ --strip=2 "ClickHouse-master/docs/"
cp -R ./en docs/
cp -R ./ru docs/
cp -R ./zh docs/
- name: build
run: |
export NODE_OPTIONS="--max_old_space_size=4096"
npm install -g yarn
yarn install
yarn build
- name: move html files in place
# Because our doc root is `/docs` and not `/` the generated
# HTML must be moved uner `/docs` for htmltest to work.
run: |
mkdir build/docs
cd build
mv en js ru zh css images assets img opensearch.xml category docs
- name: Restore the cached htmltest results
uses: actions/cache/restore@v4
id: restore-cache
with:
path: tmp/.htmltest
# restore a cache file created against the same set of markdown files if none have changed
# (not sure this makes sense)
key: htmltest-${{ hashFiles('docs/**/*.md') }}
# otherwise restore the cache created last time
restore-keys: |
htmltest-
- name: Run htmltest
uses: wjdp/htmltest-action@master
with:
config: .htmltest.yml
- name: Store cache
if: always() && (steps.restore-cache.outputs.cache-hit != 'true')
uses: actions/cache/save@v4
with:
path: tmp/.htmltest
key: htmltest-${{ hashFiles('docs/**/*.md') }}
- name: Archive htmltest results
if: always()
uses: actions/upload-artifact@v4
with:
name: htmltest-report
path: tmp/.htmltest/htmltest.log
retention-days: 7