1
0
mirror of synced 2026-01-05 12:07:35 -05:00

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:
Peter Bengtsson
2021-12-09 03:56:07 -05:00
committed by GitHub
parent 31b1bd2fbc
commit 0035e14e3b
3 changed files with 510 additions and 1 deletions

64
.github/workflows/link-check-all.yml vendored Normal file
View 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