From 6c077c8ab5fc0d02a98982181d8afe2bee37b7bb Mon Sep 17 00:00:00 2001 From: Jay Welshofer Date: Mon, 17 Aug 2026 15:33:55 -0700 Subject: [PATCH] Finish the Node 20 removal: upload-pages-artifact was hiding one too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit left upload-pages-artifact at v3 and asserted it "has no Node 20 problem to solve". The first Docs run on main disproved that: Node.js 20 is deprecated. The following actions target Node.js 20 ...: actions/upload-artifact@v4 v3 is a composite, and the deprecated runtime is the action it wraps — so it never appears when you grep the workflow for versions, and the warning only surfaces on main, where Docs runs. v5 pins upload-artifact@v7. I had skipped v4+ over its dotfile change, which was a guess. Checking instead: the artifact from the last successful deploy holds 4,914 entries and not one of them is hidden, so `include-hidden-files` can stay at its default. The comment now records that, and points at the input to set if DocC ever emits one. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/docs.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a5d1fb4..d05c65d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -34,12 +34,18 @@ jobs: ARCHIVE=$(find .docc-build -name 'Rostrum.doccarchive' -print -quit) "$(xcrun --find docc)" process-archive transform-for-static-hosting \ "$ARCHIVE" --output-path site --hosting-base-path rostrum - # Deliberately still v3. It is a composite action wrapping - # actions/upload-artifact@v4, so unlike checkout and deploy-pages it - # carries no Node 20 deprecation. v4 dropped dotfiles from the artifact - # — a silent change for a directory we do not fully control, since - # `transform-for-static-hosting` decides what lands in `site`. - - uses: actions/upload-pages-artifact@v3 + # v5, not v3. v3 is a composite wrapping upload-artifact@v4, which is + # itself Node 20 — the deprecation hides one level down and does not + # show up when grepping this file for action versions. v5 pins + # upload-artifact@v7 (Node 24). + # + # v4 introduced one behaviour change worth knowing about: dotfiles are + # no longer included unless `include-hidden-files: true`. We do not set + # it, having checked the published artifact rather than assuming — all + # 4,914 entries produced by `transform-for-static-hosting` are visible + # files, so the default costs us nothing. If DocC ever starts emitting + # one, that input is the fix. + - uses: actions/upload-pages-artifact@v5 with: path: site deploy: