From d03b10b42925d38e110a5821b47c7d9e1b759ac7 Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:20 +0100 Subject: [PATCH 1/8] ci(linkcheck): replace blocked actions-cool/issues-helper with gh api The actions-cool/issues-helper repository is no longer accessible on GitHub (access blocked), so the action can no longer be resolved. Update the link tracking issue directly via the gh CLI instead, keeping the same behaviour (replace body and set open/closed state). --- .github/workflows/linkcheck.yml | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index a2179615..2e87db93 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -35,25 +35,22 @@ jobs: - run: echo "${{ steps.readReport.outputs.FILE_CONTENT }}" - name: Update link tracking issue (update invalid links) if: env.lychee_exit_code != 0 - uses: actions-cool/issues-helper@v3 - with: - actions: 'update-issue' - token: ${{ secrets.GITHUB_TOKEN }} - issue-number: ${{ env.LINK_TRACKING_ISSUE_NUMBER }} - state: 'open' - body: ${{ steps.readReport.outputs.FILE_CONTENT }} - update-mode: 'replace' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ISSUE_BODY: ${{ steps.readReport.outputs.FILE_CONTENT }} + run: | + gh api --method PATCH "repos/${{ github.repository }}/issues/${LINK_TRACKING_ISSUE_NUMBER}" \ + -f state=open \ + -f body="${ISSUE_BODY}" - name: Update link tracking issue (no invalid links) if: env.lychee_exit_code == 0 - uses: actions-cool/issues-helper@v3 - with: - actions: 'update-issue' - token: ${{ secrets.GITHUB_TOKEN }} - issue-number: ${{ env.LINK_TRACKING_ISSUE_NUMBER }} - state: 'closed' - body: 'No invalid links found! 🤖' - update-mode: 'replace' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh api --method PATCH "repos/${{ github.repository }}/issues/${LINK_TRACKING_ISSUE_NUMBER}" \ + -f state=closed \ + -f body='No invalid links found! 🤖' - name: Upload artifact uses: actions/upload-artifact@v4 From 5a0a8e1014151ef8dcd00005279c8e2bed3c112b Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:26 +0100 Subject: [PATCH 2/8] ci(linkcheck): bump lycheeverse/lychee-action from v1.8.0 to v2.9.0 v2 breaking changes addressed: - the step now fails on broken links by default; set fail: false so the subsequent tracking-issue steps still run - the exit code moved from the lychee_exit_code env var to the exit_code step output; read steps.lychee.outputs.exit_code instead --- .github/workflows/linkcheck.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 2e87db93..ccdbfbf2 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -22,10 +22,14 @@ jobs: - name: Link Checker id: lychee - uses: lycheeverse/lychee-action@v1.8.0 + uses: lycheeverse/lychee-action@v2.9.0 + with: + # v2 fails the step on broken links by default; keep going so the + # tracking issue gets updated below. + fail: false - name: Read Lychee report - if: env.lychee_exit_code != 0 + if: steps.lychee.outputs.exit_code != 0 id: readReport run: | EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) @@ -34,7 +38,7 @@ jobs: echo "$EOF" >> $GITHUB_OUTPUT - run: echo "${{ steps.readReport.outputs.FILE_CONTENT }}" - name: Update link tracking issue (update invalid links) - if: env.lychee_exit_code != 0 + if: steps.lychee.outputs.exit_code != 0 env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} ISSUE_BODY: ${{ steps.readReport.outputs.FILE_CONTENT }} @@ -44,7 +48,7 @@ jobs: -f body="${ISSUE_BODY}" - name: Update link tracking issue (no invalid links) - if: env.lychee_exit_code == 0 + if: steps.lychee.outputs.exit_code == 0 env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | From 4643edf68db741f30265c2fc987f51387c1eac4d Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:32 +0100 Subject: [PATCH 3/8] ci: bump actions/setup-node from v4 to v7 Node 24 runtime; v5/v6 changed automatic package-manager caching, but this workflow already sets cache: 'npm' explicitly, so no input changes are needed. --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index da104b8f..0d88245e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: node-version: '20' cache: 'npm' From bf7017893bef636877d65a9f8b45829fd5bfd395 Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:32 +0100 Subject: [PATCH 4/8] ci: bump actions/cache from v4 to v6 Node 24 runtime (v5) and ESM migration (v6); no input changes. --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0d88245e..aeb2f6df 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,7 +31,7 @@ jobs: node-version: '20' cache: 'npm' - name: Restore cache - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | .next/cache From e7b57a6b1c1ec22fd2ae1e9a36a6f52d69a5f3a5 Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:33 +0100 Subject: [PATCH 5/8] ci: bump actions/upload-artifact from v4 to v7 Node 24 runtime (v5/v6), ESM + optional archive input (v7); no input changes. --- .github/workflows/linkcheck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index ccdbfbf2..d59aae02 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -57,7 +57,7 @@ jobs: -f body='No invalid links found! 🤖' - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: lychee-report path: ${{ env.LYCHEE_REPORT_FILE }} From dae83236ef26f658ee8a638154b87558970a5abb Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:33 +0100 Subject: [PATCH 6/8] ci: bump actions/upload-pages-artifact from v3 to v5 v4 excludes dotfiles from the artifact by default; the static export only contains .gitkeep placeholders, so nothing needed is dropped. --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index aeb2f6df..5ec7559e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -47,7 +47,7 @@ jobs: run: npm run build - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v5 with: path: ./out From a1c27cc7d6647f0d58574ff4667aa94c2d39e389 Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:33 +0100 Subject: [PATCH 7/8] ci: bump actions/deploy-pages from v4 to v5 Node 24 runtime; no input changes. --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5ec7559e..3cdabb07 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -61,4 +61,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v5 From fed55bf1eaaf50539770768ea57ff8fb5c36cf98 Mon Sep 17 00:00:00 2001 From: Vecko <36369090+VeckoTheGecko@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:35:48 +0100 Subject: [PATCH 8/8] ci: bump actions/checkout from v4 to v7 Node 24 runtime (requires runner >= 2.327.1); no input changes affect this repo. --- .github/workflows/deploy.yml | 2 +- .github/workflows/linkcheck.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3cdabb07..de83db35 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Setup Node.js uses: actions/setup-node@v7 diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index d59aae02..ec4b83f6 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -18,7 +18,7 @@ jobs: LYCHEE_REPORT_FILE: ./lychee/out.md runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Link Checker id: lychee