Skip to content
actions

GitHub Action

Upload GitHub Pages artifact

v3.0.1 Latest version

Upload GitHub Pages artifact

actions

Upload GitHub Pages artifact

A composite action that prepares your static assets to be deployed to GitHub Pages

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Upload GitHub Pages artifact

uses: actions/upload-pages-artifact@v3.0.1

Learn more about this action in actions/upload-pages-artifact

Choose a version

upload-pages-artifact

A composite Action for packaging and uploading artifact that can be deployed to GitHub Pages.

Scope

⚠️ Official support for building Pages with Actions is in public beta at the moment.

Usage

See action.yml

Artifact validation

While using this action is optional, we highly recommend it since it takes care of producing (mostly) valid artifacts.

A Pages artifact must:

The tar file must:

  • be under 10GB in size
  • not contain any symbolic or hard links
  • contain only files and directories that all meet the expected minimum file permissions

File permissions

When using this action, ensure that your files have appropriate file permissions. At a minimum, GitHub Pages expects:

  • files to have read permission for the current user and the "Others" user role (e.g. 0744, 0644, 0444)
  • directories to have read and execute permissions for the current user and the "Others" user role (e.g. 0755, 0555)

Failure to supply adequate permissions will result in a deployment_perms_error when attempting to deploy your artifacts to GitHub Pages.

Example permissions fix for Linux

steps:
# ...
  - name: Fix permissions
    run: |
      chmod -c -R +rX "_site/" | while read line; do
        echo "::warning title=Invalid file permissions automatically fixed::$line"
      done
  - name: Upload Pages artifact
    uses: actions/upload-pages-artifact@v3
# ...

Example permissions fix for Mac

steps:
# ...
  - name: Fix permissions
    run: |
      chmod -v -R +rX "_site/" | while read line; do
        echo "::warning title=Invalid file permissions automatically fixed::$line"
      done
  - name: Upload Pages artifact
    uses: actions/upload-pages-artifact@v3
# ...

Release instructions

In order to release a new version of this Action:

  1. Locate the semantic version of the upcoming release (a draft is maintained by the draft-release workflow).

  2. Publish the draft release from the main branch with semantic version as the tag name, with the checkbox to publish to the GitHub Marketplace checked. ☑️

  3. After publishing the release, the release workflow will automatically run to create/update the corresponding the major version tag such as v0.

    ⚠️ Environment approval is required. Check the Release workflow run list.

License

The scripts and documentation in this project are released under the MIT License.