Links #12013
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Links | |
on: | |
merge_group: | |
pull_request: | |
jobs: | |
build-and-check-links: | |
name: BUILD and CHECK LINKS | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Create NPM cache-hash input file | |
run: | | |
mkdir -p tmp | |
jq '{devDependencies, dependencies, engines, gitHubActionCacheKey}' package.json > tmp/package-ci.json | |
- name: Create and use reduced-dependencies package.json | |
run: | | |
jq '.devDependencies |= with_entries( | |
select(.key | test("prefix|hugo|css")) | |
) | |
| del(.dependencies, .optionalDependencies)' \ | |
package.json > tmp/package-min.json | |
cp tmp/package-min.json package.json | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: .nvmrc | |
cache: npm | |
cache-dependency-path: tmp/package-ci.json | |
- run: | | |
npm install --omit=optional | |
git restore package.json | |
- name: Git submodules properly pinned? | |
run: | | |
npm run seq pin:submodule | |
echo "If the diff check below fails, then update .gitmodules by pinning the named git" | |
echo "submodule(s); or undo the submodule update(s) if it happened by mistake." | |
npm run _diff:fail | |
- run: npm run log:check:links | |
continue-on-error: true | |
- name: Any files need updating? | |
run: | | |
echo "If the diff fails due to .htmltest, then either run 'npm run fix:htmltest-config' locally or '/fix:htmltest-config' in GitHub" | |
npm run _diff:fail | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: build-log-etc | |
path: | | |
tmp/build-log.txt | |
tmp/package*.json | |
static/refcache.json | |
check-refcache: | |
name: REFCACHE updates? | |
needs: build-and-check-links | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: { name: build-log-etc } | |
- name: Fail when refcache contains entries with HTTP status 4XX | |
run: | | |
if grep -B 1 -e '"StatusCode": 4' static/refcache.json; then | |
echo "Run 'npx gulp prune' to remove 4xx entries from the refcache" | |
exit 1 | |
fi | |
- name: Does the refcache need updating? | |
run: npm run diff:fail | |
check-build-log-for-issues: | |
name: WARNINGS in build log? | |
needs: build-and-check-links | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: { name: build-log-etc } | |
- run: cat tmp/build-log.txt | |
- run: scripts/check-build-log.sh |