Skip to content

chore(deps): update actions/upload-pages-artifact action to v4#931

Open
ham-renovate wants to merge 1 commit intomainfrom
renovate/actions-upload-pages-artifact-4.x
Open

chore(deps): update actions/upload-pages-artifact action to v4#931
ham-renovate wants to merge 1 commit intomainfrom
renovate/actions-upload-pages-artifact-4.x

Conversation

@ham-renovate
Copy link
Copy Markdown
Collaborator

@ham-renovate ham-renovate commented Mar 25, 2026

This PR contains the following updates:

Package Type Update Change
actions/upload-pages-artifact action major v3v4

Release Notes

actions/upload-pages-artifact (actions/upload-pages-artifact)

v4

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@ham-renovate ham-renovate requested a review from coodos as a code owner March 25, 2026 16:04
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 25, 2026

📝 Walkthrough

Walkthrough

The Docusaurus workflow build job upgrades the GitHub Pages artifact upload action from v3 to v4. The artifact path and deployment flow remain unchanged, with only the action version updated.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
.github/workflows/docusaurus.yml
Updated actions/upload-pages-artifact from v3 to v4 in the pages artifact upload step.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • coodos

Poem

A version bump hops into view, 🐰
v4 replaces v3 so true,
The artifact path stays its way,
GitHub Pages works the same today! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is missing most required template sections including Issue Number, Type of change, How the change has been tested, and the Change checklist. Add the required template sections: specify the Issue Number (if applicable), select 'Chore' as the Type of change, document how the update was tested, and complete the Change checklist items.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: updating the actions/upload-pages-artifact action from v3 to v4.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/actions-upload-pages-artifact-4.x

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/docusaurus.yml:
- Line 34: The workflow now uses actions/upload-pages-artifact@v4 which excludes
dotfiles (so docs/static/.nojekyll is omitted); fix by either reverting that
step back to actions/upload-pages-artifact@v3, or add a step before the upload
to ensure a visible file named nojekyll is present (e.g., copy
docs/static/.nojekyll into the build output as nojekyll or create an explicit
.nojekyll-preserve and include it), or replace the upload step with a custom
artifact upload that preserves dotfiles per GitHub's validation docs; update the
action reference or add the preservation step accordingly where
actions/upload-pages-artifact@v4 is used.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: edad95b5-f61e-4110-b3a1-772d811eba2f

📥 Commits

Reviewing files that changed from the base of the PR and between d2efd8b and 1be6843.

📒 Files selected for processing (1)
  • .github/workflows/docusaurus.yml


- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v4
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

`Please verify from official GitHub Action docs/release notes:

  • Does actions/upload-pages-artifact@v4 keep with: path behavior compatible with v3?
  • Are there any new required inputs, defaults, or breaking changes relevant to this workflow?`

💡 Result:

Yes, actions/upload-pages-artifact@v4 keeps the with: path behavior compatible with v3. The path input remains required with default "_site/", and the action.yml shows it tars the directory from the provided path, passing to actions/upload-artifact@v4.6.2. No new required inputs; same inputs: name (optional, default 'github-pages'), path (required, default '_site/'), retention-days (optional, default '1'). Breaking change: Hidden files (dotfiles) are not included in the artifact by default (due to upstream upload-artifact@v4 behavior and explicit --exclude=".[^/]*" in tar). If dotfiles are needed, create custom artifact per validation docs instead of using this action. No other breaking changes to inputs/defaults relevant to basic workflow usage. Pin upload-artifact to SHA mentioned, but internal. Requires actions/deploy-pages@v4 or newer for deployment.

Citations:


🏁 Script executed:

cat -n .github/workflows/docusaurus.yml

Repository: MetaState-Prototype-Project/prototype

Length of output: 1771


🌐 Web query:

Docusaurus build output directory structure dotfiles hidden files necessary deployment

💡 Result:

The Docusaurus build output is generated in the build/ directory after running npm run build (or equivalent with yarn/pnpm/bun). This directory contains all static files necessary for deployment: HTML pages, CSS/JS bundles (in assets/ with content hashes for caching), static assets copied from static/ (preserved at root, including any dotfiles like .nojekyll or CNAME if placed there), and generated directories like _next/ or similar for routes/images depending on configuration. Typical structure (varies by site content, i18n, themes): build/ ├── index.html ├── CNAME (if static/CNAME exists for GitHub Pages custom domains) ├── .nojekyll (common for GitHub Pages to disable Jekyll) ├── assets/ │ ├── js/ (hashed JS bundles, e.g. 123abc.js) │ └── css/ (hashed CSS) ├── / (e.g. docs/, blog/) │ └── index.html └── img/ (processed images from MDX links, hashed) For deployment: - Upload/serve the entire build/ directory contents to your static host (Netlify publish dir: build, GitHub Pages root/gh-pages branch, Vercel, etc.). - No source files (docs/, src/, static/ except via copy) or dev artifacts (.docusaurus, node_modules) are included—only production static files. - Dotfiles/hidden files are necessary if intentionally placed (e.g., static/.nojekyll copies to build/.nojekyll to prevent GitHub Pages Jekyll processing; static/CNAME for custom domains). Docusaurus copies all files from static/ verbatim to build/ root, preserving names including dots/underscores (unless excluded via config). Official docs confirm: "Anything within the static directory will be copied to the root of the build directory." - The project .gitignore ignores build/ entirely during development (not deployed via git typically), confirming it's a clean static output. - Test locally: npm run serve -- --build serves build/ exactly as production. No hidden dev files (e.g. .git) are in build/—it's purely deployable static assets. If custom dotfiles are needed, add to static/.

Citations:


🏁 Script executed:

find . -path "*/static/.nojekyll" -o -path "*/static/CNAME" 2>/dev/null

Repository: MetaState-Prototype-Project/prototype

Length of output: 104


Version bump introduces breaking change: dotfiles excluded in v4.

Line 34 upgrades actions/upload-pages-artifact from v3 to v4, but this change has a critical side effect. The v4 action excludes dotfiles (hidden files starting with .) from the artifact by default, due to upstream upload-artifact@v4 behavior using --exclude=".[^/]*".

The project contains docs/static/.nojekyll, which Docusaurus copies to the build output. The .nojekyll file is required by GitHub Pages to disable Jekyll processing. Without it in the artifact, GitHub Pages may process the site incorrectly, breaking the deployment.

To fix this, either:

  1. Revert to actions/upload-pages-artifact@v3, or
  2. Use a custom artifact solution per GitHub's validation docs that preserves dotfiles, or
  3. Manually inject .nojekyll into the artifact during the workflow.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/docusaurus.yml at line 34, The workflow now uses
actions/upload-pages-artifact@v4 which excludes dotfiles (so
docs/static/.nojekyll is omitted); fix by either reverting that step back to
actions/upload-pages-artifact@v3, or add a step before the upload to ensure a
visible file named nojekyll is present (e.g., copy docs/static/.nojekyll into
the build output as nojekyll or create an explicit .nojekyll-preserve and
include it), or replace the upload step with a custom artifact upload that
preserves dotfiles per GitHub's validation docs; update the action reference or
add the preservation step accordingly where actions/upload-pages-artifact@v4 is
used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant