From dcb6a1fd6436435e54f5609da3e467aff335ebb5 Mon Sep 17 00:00:00 2001 From: Philippos Savvides Date: Mon, 27 Apr 2026 14:08:16 -0700 Subject: [PATCH] ci: replace broken vnu download with vnu-jar npm package, exclude linkedin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vnu install was downloading from github.com/validator/validator/releases/latest/download/vnu.jar_dist.zip, which 404s — the validator project does not publish GitHub releases, only tags. The download has been broken since at least 2026-04-25. Switch to the official vnu-jar npm package (currently v26.4.16, published 2026-04-16). It bundles vnu.jar directly and lives at a stable known path under node_modules. No more apt install of default-jre either — ubuntu-latest runners ship with Java preinstalled. Also exclude linkedin.com from the lychee link checker. LinkedIn returns 404 for unauthenticated profile fetches, so the legitimate footer link to linkedin.com/in/savvides was failing CI on every PR that touched index.html. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc8a3d8..e25375d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,15 +14,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install vnu - run: | - sudo apt-get update -qq - sudo apt-get install -y -qq default-jre - curl -sL https://github.com/validator/validator/releases/latest/download/vnu.jar_dist.zip -o vnu.zip - unzip -q vnu.zip + - name: Install vnu-jar + run: npm install --no-save vnu-jar - name: Validate HTML - run: java -jar dist/vnu.jar --errors-only index.html + run: java -jar node_modules/vnu-jar/build/dist/vnu.jar --errors-only index.html check-links: name: Check Links @@ -34,5 +30,5 @@ jobs: - name: Check links uses: lycheeverse/lychee-action@v2 with: - args: --exclude fonts.googleapis.com --exclude fonts.gstatic.com --exclude d3js.org --exclude localhost --no-progress index.html README.md + args: --exclude fonts.googleapis.com --exclude fonts.gstatic.com --exclude d3js.org --exclude linkedin.com --exclude localhost --no-progress index.html README.md fail: true