It represents a breaking change that we should move into a v2.0.0 release
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:
- Be called
github-pages - Be a single
gziparchive containing a singletarfile
The tar file must:
- be under 10GB in size
- not contain any symbolic or hard links
File Permissions
When using this action ensure your files have appropriate file permission, we expect at a minimum for the files to have permission for the current user (e.g 0744).
Failure to do so will result in a deployment_perms_error when attempting to deploy your artifacts.
...
runs:
using: composite
steps:
- name: Archive artifact
shell: sh
if: runner.os == 'Linux'
run: |
chmod -c -R +rX "$INPUT_PATH" |
while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
tar \
--dereference --hard-dereference \
--directory "$INPUT_PATH" \
-cvf "$RUNNER_TEMP/artifact.tar" \
--exclude=.git \
--exclude=.github \
.
env:
INPUT_PATH: ${{ inputs.path }}
...
Release instructions
In order to release a new version of this Action:
-
Locate the semantic version of the upcoming release (a draft is maintained by the
draft-releaseworkflow). -
Publish the draft release from the
mainbranch with semantic version as the tag name, with the checkbox to publish to the GitHub Marketplace checked. ☑️ -
After publishing the release, the
releaseworkflow will automatically run to create/update the corresponding the major version tag such asv0.⚠️ Environment approval is required. Check the Release workflow run list.
License
The scripts and documentation in this project are released under the MIT License.