Merge branch 'main' into reapply-chmod-removal-for-v2

This commit is contained in:
James M. Greene
2023-07-10 13:04:16 -05:00
committed by GitHub

View File

@@ -2,17 +2,17 @@
A composite Action for packaging and uploading artifact that can be deployed to [GitHub Pages][pages]. A composite Action for packaging and uploading artifact that can be deployed to [GitHub Pages][pages].
# Scope ## Scope
⚠️ Official support for building Pages with Actions is in public beta at the moment. ⚠️ Official support for building Pages with Actions is in public beta at the moment.
# Usage ## Usage
See [action.yml](action.yml) See [action.yml](action.yml)
<!-- TODO: document custom workflow --> <!-- TODO: document custom workflow -->
# Artifact validation ## Artifact validation
While using this action is optional, we highly recommend it since it takes care of producing (mostly) valid artifacts. While using this action is optional, we highly recommend it since it takes care of producing (mostly) valid artifacts.
@@ -25,40 +25,48 @@ The [`tar` file][tar] must:
- be under 10GB in size - be under 10GB in size
- not contain any symbolic or hard links - not contain any symbolic or hard links
- contain only files and directories that all meet the expected minimum [file permissions](#file-permissions)
# File Permissions ### 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). When using this action, ensure that your files have appropriate file permissions.
Failure to do so will result in a `deployment_perms_error` when attempting to deploy your artifacts. 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
```yaml ```yaml
...
runs:
using: composite
steps: steps:
- name: Archive artifact # ...
shell: sh - name: Fix permissions
if: runner.os == 'Linux'
run: | run: |
chmod -c -R +rX "$INPUT_PATH" | chmod -c -R +rX "_site/" | while read line; do
while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line" echo "::warning title=Invalid file permissions automatically fixed::$line"
done done
tar \ - name: Upload Pages artifact
--dereference --hard-dereference \ uses: actions/upload-pages-artifact@v2
--directory "$INPUT_PATH" \ # ...
-cvf "$RUNNER_TEMP/artifact.tar" \
--exclude=.git \
--exclude=.github \
.
env:
INPUT_PATH: ${{ inputs.path }}
...
``` ```
#### Example permissions fix for Mac
# Release instructions ```yaml
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@v2
# ...
```
## Release instructions
In order to release a new version of this Action: In order to release a new version of this Action:
@@ -70,7 +78,7 @@ In order to release a new version of this Action:
⚠️ Environment approval is required. Check the [Release workflow run list][release-workflow-runs]. ⚠️ Environment approval is required. Check the [Release workflow run list][release-workflow-runs].
# License ## License
The scripts and documentation in this project are released under the [MIT License](LICENSE). The scripts and documentation in this project are released under the [MIT License](LICENSE).