one fast link checker to rule them all (#23041)
* one fast link checker to rule them all * -L alias * refactor * hacking away * passing pages * adding a workflow * limit level to critical * ability to pass a specific set of files * testing specific files * remove temporary debugging * reorganize the printing * formatting of output * check images too * prettyFullPath() * minimal permission on workflow * update comment * new permission * fix actions shas
This commit is contained in:
64
.github/workflows/link-check-all.yml
vendored
Normal file
64
.github/workflows/link-check-all.yml
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
name: 'Link Checker: All English'
|
||||
|
||||
# **What it does**: Renders the content of every page and check all internal links.
|
||||
# **Why we have it**: To make sure all links connect correctly.
|
||||
# **Who does it impact**: Docs content.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
# Needed for the 'trilom/file-changes-action' action
|
||||
pull-requests: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458
|
||||
with:
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
run: npm ci
|
||||
|
||||
- name: Gather files changed
|
||||
uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b
|
||||
id: get_diff_files
|
||||
with:
|
||||
# So that `steps.get_diff_files.outputs.files` becomes
|
||||
# a string like `foo.js path/bar.md`
|
||||
output: ' '
|
||||
- name: Insight into changed files
|
||||
run: |
|
||||
echo ${{ steps.get_diff_files.outputs.files }}
|
||||
|
||||
- name: Link check (warnings, changed files)
|
||||
run: |
|
||||
./script/rendered-content-link-checker.mjs \
|
||||
--language en \
|
||||
--max 100 \
|
||||
--check-anchors \
|
||||
--check-images \
|
||||
--verbose \
|
||||
${{ steps.get_diff_files.outputs.files }}
|
||||
|
||||
- name: Link check (critical, all files)
|
||||
run: |
|
||||
|
||||
./script/rendered-content-link-checker.mjs \
|
||||
--language en \
|
||||
--exit \
|
||||
--verbose \
|
||||
--check-images \
|
||||
--level critical
|
||||
Reference in New Issue
Block a user