Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 253fd476ed | |||
| 98c5608efa | |||
| c8641e8004 | |||
| b27b6af8bf | |||
| 73907447a0 | |||
| 6da3417318 | |||
| 386aa88c28 | |||
| 90d4377601 | |||
| 79d3b41b30 | |||
| 7d0004809d | |||
| 1ca738b002 | |||
| 4103baae3e | |||
| 4506126207 | |||
| 6de1c7ae49 | |||
| de1b81a30a | |||
| 61a978d261 | |||
| 3cb2c0f93b | |||
| e02d70a4e3 | |||
| 73b4a0753a | |||
| aff0f4398b | |||
| 42a1761ba2 | |||
| 12e73a1efa | |||
| a597aecd27 | |||
| fa880244ea | |||
| 70a14093be | |||
| fb03cce750 | |||
| 287627f624 | |||
| 88565766e5 | |||
| d3a918bb5e | |||
| 8ad82273b5 | |||
| 2f3239288b | |||
| fc6db751bf | |||
| 888798aeba | |||
| 2ab5cde5b2 | |||
| ae9ee82aa6 | |||
| 78f064a158 | |||
| 6b3212610f | |||
| 6a57e48bf6 | |||
| 724b9438f5 | |||
| f422a5a910 | |||
| 0ab6893735 | |||
| fd7afbc054 | |||
| 16e781d8a4 | |||
| f4e69017a7 | |||
| e361946409 | |||
| ef7661905b | |||
| 780ca3f8cd | |||
| 4fe9084ffa | |||
| ceec27c96b | |||
| 4143b6e8b8 | |||
| 9bd2be6899 | |||
| 763007bcf1 | |||
| f4df6221cc | |||
| 8b46ca5bf4 |
+2
-1
@@ -1 +1,2 @@
|
||||
* @paper-spa/pages
|
||||
# Default PR reviewers
|
||||
* @actions/pages
|
||||
|
||||
+22
-22
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name-template: 'v$RESOLVED_VERSION'
|
||||
tag-template: 'v$RESOLVED_VERSION'
|
||||
name-template: "v$RESOLVED_VERSION"
|
||||
tag-template: "v$RESOLVED_VERSION"
|
||||
template: |
|
||||
# Changelog
|
||||
|
||||
@@ -8,33 +8,33 @@ template: |
|
||||
|
||||
See details of [all code changes](https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION) since previous release.
|
||||
categories:
|
||||
- title: '🚀 Features'
|
||||
- title: "🚀 Features"
|
||||
labels:
|
||||
- 'feature'
|
||||
- 'enhancement'
|
||||
- title: '🐛 Bug Fixes'
|
||||
- "feature"
|
||||
- "enhancement"
|
||||
- title: "🐛 Bug Fixes"
|
||||
labels:
|
||||
- 'fix'
|
||||
- 'bugfix'
|
||||
- 'bug'
|
||||
- title: '🧰 Maintenance'
|
||||
- "fix"
|
||||
- "bugfix"
|
||||
- "bug"
|
||||
- title: "🧰 Maintenance"
|
||||
labels:
|
||||
- 'infrastructure'
|
||||
- 'automation'
|
||||
- 'documentation'
|
||||
- title: '🏎 Performance'
|
||||
label: 'performance'
|
||||
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
|
||||
- "infrastructure"
|
||||
- "automation"
|
||||
- "documentation"
|
||||
- title: "🏎 Performance"
|
||||
label: "performance"
|
||||
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
||||
version-resolver:
|
||||
major:
|
||||
labels:
|
||||
- 'type: breaking'
|
||||
- "type: breaking"
|
||||
minor:
|
||||
labels:
|
||||
- 'type: enhancement'
|
||||
- "type: enhancement"
|
||||
patch:
|
||||
labels:
|
||||
- 'type: bug'
|
||||
- 'type: maintenance'
|
||||
- 'type: documentation'
|
||||
default: patch
|
||||
- "type: bug"
|
||||
- "type: maintenance"
|
||||
- "type: documentation"
|
||||
default: patch
|
||||
|
||||
@@ -8,7 +8,7 @@ jobs:
|
||||
draft-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: release-drafter/release-drafter@v5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Release
|
||||
on:
|
||||
release:
|
||||
types: [edited]
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
TAG_NAME:
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
steps:
|
||||
- name: Update the ${{ env.TAG_NAME }} tag
|
||||
id: update-major-tag
|
||||
uses: actions/publish-action@v0.1.0
|
||||
uses: actions/publish-action@v0.2.1
|
||||
with:
|
||||
source-tag: ${{ env.TAG_NAME }}
|
||||
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
name: Run Tests
|
||||
|
||||
#
|
||||
# Create some files with script/new-artifact.sh and confirm they are properly packaged and uploaded
|
||||
# as artifacts with the actions.
|
||||
#
|
||||
# This is tested on all OS platforms where we have hosted runners.
|
||||
#
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Generate files
|
||||
run: mkdir artifact && mkdir artifact2 && cd artifact && ../script/new-artifact.sh
|
||||
shell: bash
|
||||
|
||||
- name: Upload Pages artifact
|
||||
uses: ./
|
||||
with:
|
||||
path: artifact
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: github-pages
|
||||
path: artifact2
|
||||
|
||||
- name: Extract artifact
|
||||
run: tar -xf artifact2/artifact.tar -C artifact2 && rm artifact2/artifact.tar
|
||||
shell: bash
|
||||
|
||||
- name: Compare files
|
||||
run: diff -qr artifact artifact2
|
||||
shell: bash
|
||||
|
||||
- name: Check for absence of symlinks
|
||||
run: if [ $(find artifact2 -type l | wc -l) != 0 ]; then echo "Symlinks found"; exit 1; fi
|
||||
shell: bash
|
||||
@@ -1,10 +1,10 @@
|
||||
# Upload-Pages-Artifact
|
||||
# upload-pages-artifact
|
||||
|
||||
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
|
||||
|
||||
⚠️ Official support for building Pages with Actions is in public beta at the moment. The scope is currently limited to **public repositories only**.
|
||||
⚠️ Official support for building Pages with Actions is in public beta at the moment.
|
||||
|
||||
# Usage
|
||||
|
||||
@@ -12,22 +12,31 @@ See [action.yml](action.yml)
|
||||
|
||||
<!-- TODO: document custom workflow -->
|
||||
|
||||
# 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 [`gzip` archive][gzip] containing a single [`tar` file][tar]
|
||||
|
||||
The [`tar` file][tar] must:
|
||||
|
||||
- be under 10GB in size
|
||||
- not contain any symbolic or hard links
|
||||
|
||||
# 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][draft-release])
|
||||
1. Locate the semantic version of the [upcoming release][release-list] (a draft is maintained by the [`draft-release` workflow][draft-release]).
|
||||
|
||||
2. Push a matching tag, for instance for `v0.1.0`:
|
||||
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. :ballot_box_with_check:
|
||||
|
||||
```bash
|
||||
git tag v0.1.0
|
||||
git push origin v0.1.0
|
||||
```
|
||||
3. After publishing the release, the [`release` workflow][release] will automatically run to create/update the corresponding the major version tag such as `v0`.
|
||||
|
||||
3. Publish the draft release (the major tag such as `v0` will be created/updated by the [`release` workflow][release])
|
||||
|
||||
⚠️ Environment approval is required.
|
||||
⚠️ Environment approval is required. Check the [Release workflow run list][release-workflow-runs].
|
||||
|
||||
# License
|
||||
|
||||
@@ -35,5 +44,9 @@ The scripts and documentation in this project are released under the [MIT Licens
|
||||
|
||||
<!-- references -->
|
||||
[pages]: https://pages.github.com
|
||||
[release-list]: /releases
|
||||
[draft-release]: .github/workflows/draft-release.yml
|
||||
[release]: .github/workflows/release.yml
|
||||
[release]: .github/workflows/release.yml
|
||||
[release-workflow-runs]: /actions/workflows/release.yml
|
||||
[gzip]: https://en.wikipedia.org/wiki/Gzip
|
||||
[tar]: https://en.wikipedia.org/wiki/Tar_(computing)
|
||||
|
||||
+60
-13
@@ -1,29 +1,76 @@
|
||||
name: 'Upload Pages artifact'
|
||||
description: 'A composite action that prepares your static assets to be deployed to GitHub Pages'
|
||||
name: "Upload GitHub Pages artifact"
|
||||
description: "A composite action that prepares your static assets to be deployed to GitHub Pages"
|
||||
author: "GitHub"
|
||||
inputs:
|
||||
path:
|
||||
description: 'Path of the directoring containing the static assets.'
|
||||
required: true
|
||||
default: '_site/'
|
||||
retention-days:
|
||||
description: 'Duration after which artifact will expire in days.'
|
||||
name:
|
||||
description: 'Artifact name'
|
||||
required: false
|
||||
default: '1'
|
||||
default: 'github-pages'
|
||||
path:
|
||||
description: "Path of the directory containing the static assets."
|
||||
required: true
|
||||
default: "_site/"
|
||||
retention-days:
|
||||
description: "Duration after which artifact will expire in days."
|
||||
required: false
|
||||
default: "1"
|
||||
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 }}
|
||||
|
||||
# Switch to gtar (GNU tar instead of bsdtar which is the default in the MacOS runners so we can use --hard-dereference)
|
||||
- name: Archive artifact
|
||||
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" \
|
||||
-cvf "$RUNNER_TEMP/artifact.tar" \
|
||||
--exclude=.git \
|
||||
--exclude=.github \
|
||||
.
|
||||
env:
|
||||
INPUT_PATH: ${{ inputs.path }}
|
||||
|
||||
# Massage the paths for Windows only
|
||||
- name: Archive artifact
|
||||
shell: bash
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
tar \
|
||||
--dereference --hard-dereference \
|
||||
--directory ${{ inputs.path }} \
|
||||
-cvf ${{ runner.temp }}/artifact.tar \
|
||||
--directory "$INPUT_PATH" \
|
||||
-cvf "$RUNNER_TEMP\artifact.tar" \
|
||||
--exclude=.git \
|
||||
.
|
||||
--exclude=.github \
|
||||
--force-local \
|
||||
"."
|
||||
env:
|
||||
INPUT_PATH: ${{ inputs.path }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@main
|
||||
with:
|
||||
name: github-pages
|
||||
name: ${{ inputs.name }}
|
||||
path: ${{ runner.temp }}/artifact.tar
|
||||
retention-days: ${{ inputs.retention-days }}
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Create some files and directories in the current folder
|
||||
echo 'hello' > hello.txt
|
||||
mkdir subdir
|
||||
echo 'world' > subdir/world.txt
|
||||
|
||||
# Add some symlinks (which we should dereference properly when archiving)
|
||||
ln -s subdir subdir-link
|
||||
ln -s hello.txt bonjour.txt
|
||||
Reference in New Issue
Block a user