16 Commits

Author SHA1 Message Date
Jess Bees
0252fc4ba7 Merge pull request #81 from actions/artifacts-next
Use artifacts v4
2023-12-18 20:42:36 -05:00
Jess Bees
2a5c144074 Use actions/download-artifact@v4 in test 2023-12-14 15:31:31 -05:00
Jess Bees
7e3f6bb53b Merge pull request #80 from robherley/patch-1
Use `v4` upload-artifact tag
2023-12-14 15:28:39 -05:00
Rob Herley
257e666c05 Use v4 upload-artifact tag
Artifacts v4 have been GA'd:
- https://github.blog/changelog/2023-12-14-github-actions-artifacts-v4-is-now-generally-available

We should use that tag going forward!
2023-12-14 14:04:50 -05:00
James M. Greene
0313a19afa Merge pull request #78 from konradpabjan/main
Upload pages artifact with upload-artifact v4-beta
2023-10-27 11:48:18 -05:00
Konrad Pabjan
1228e65686 Update action.yml
Co-authored-by: James M. Greene <JamesMGreene@github.com>
2023-10-27 11:19:41 -04:00
Konrad Pabjan
eb31309b6c Update artifact names in tests 2023-10-27 10:12:08 -04:00
Konrad Pabjan
241a975ec2 Correct artifact name during download 2023-10-26 14:59:03 -04:00
Konrad Pabjan
ef95519d72 Unique artifact name per job 2023-10-26 14:57:05 -04:00
Konrad Pabjan
ecdd3edff7 Switch to using download@v4-beta 2023-10-26 14:50:49 -04:00
Konrad Pabjan
e699324f6a Upload pages artifact with upload-artifact@v4-beta 2023-10-26 13:48:59 -04:00
James M. Greene
a753861a5d Merge pull request #69 from actions/reapply-chmod-removal-for-v2
Re-remove built-in `chmod` commands for `v2`
2023-07-10 13:12:45 -05:00
James M. Greene
dca6bac0e5 Merge branch 'main' into reapply-chmod-removal-for-v2 2023-07-10 13:04:16 -05:00
James M. Greene
3138c05496 Merge pull request #70 from actions/v2-docs-improvements
Update README for `v2`
2023-07-10 13:04:05 -05:00
James M. Greene
07f501f6a0 Update README for v2
Better topic hierarchy and more copy-paste-friendly `chmod` examples
2023-07-10 11:59:59 -05:00
James M. Greene
9c071e6bed Reapply PR #63 for v2 2023-07-10 11:05:03 -05:00
3 changed files with 42 additions and 38 deletions

View File

@@ -31,12 +31,13 @@ jobs:
- name: Upload Pages artifact
uses: ./
with:
name: pages-artifact-${{ matrix.os }}
path: artifact
- name: Download artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: github-pages
name: pages-artifact-${{ matrix.os }}
path: artifact2
- name: Extract artifact

View File

@@ -2,17 +2,17 @@
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.
# Usage
## Usage
See [action.yml](action.yml)
<!-- 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.
@@ -25,8 +25,9 @@ The [`tar` file][tar] 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)
# File Permissions
### File permissions
When using this action, ensure that your files have appropriate file permissions.
At a minimum, GitHub Pages expects:
@@ -35,34 +36,37 @@ At a minimum, GitHub Pages expects:
Failure to supply adequate permissions will result in a `deployment_perms_error` when attempting to deploy your artifacts to GitHub Pages.
```yaml
...
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 }}
#### Example permissions fix for Linux
...
```yaml
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@v2
# ...
```
#### 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:
@@ -74,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].
# License
## License
The scripts and documentation in this project are released under the [MIT License](LICENSE).

View File

@@ -14,6 +14,10 @@ inputs:
description: "Duration after which artifact will expire in days."
required: false
default: "1"
outputs:
artifact_id:
description: "The ID of the artifact that was uploaded."
value: ${{ steps.upload-artifact.outputs.artifact-id }}
runs:
using: composite
steps:
@@ -21,9 +25,6 @@ runs:
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" \
@@ -39,9 +40,6 @@ runs:
shell: sh
if: runner.os == 'macOS'
run: |
chmod -v -R +rX "$INPUT_PATH" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
gtar \
--dereference --hard-dereference \
--directory "$INPUT_PATH" \
@@ -69,7 +67,8 @@ runs:
INPUT_PATH: ${{ inputs.path }}
- name: Upload artifact
uses: actions/upload-artifact@v3
id: upload-artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.name }}
path: ${{ runner.temp }}/artifact.tar