A composite action for packaging and uploading an artifact that can be deployed to GitHub Pages.
See the codeA composite Action for packaging and uploading artifact that can be deployed to GitHub Pages.
See action.yml for the various inputs this action supports (or below).
If you breakdown your workflow in two jobs (build and deploy), we recommend this action to be used in your build job:
jobs:
# Build job
build:
# Specify runner + build & upload the static files as an artifact
runs-on: ubuntu-latest
steps:
- name: Build static files
id: build
run: |
# <Not provided for brevity>
# At a minimum this step should build the static files of your site
# <Not provided for brevity>
- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v3 # or specific "vX.X.X" version tag for this action
with:
path: build_outputs_folder/
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
| Input | Required? | Default | Description |
|---|---|---|---|
name | false | github-pages | Artifact name |
path | true | _site/ | Path of the directory containing the static assets |
retention-days | false | 1 | Duration after which artifact will expire in days |
include-hidden-files | false | false | Include hidden files and directories (those starting with a dot) in the artifact. Excludes .git and .github regardless. |
| Output | Description |
|---|---|
artifact_id | The ID of the artifact that was uploaded |
While choosing to use this action as part of your approach to deploying to GitHub Pages is technically optional, we highly recommend it since it takes care of producing (mostly) valid artifacts.
However, if you do not choose to use this action but still want to deploy to Pages using an Actions workflow, then you must upload an Actions artifact that meets the following criteria:
github-pagesgzip archive containing a single tar fileThe tar file must:
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-release workflow).
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. ☑️
After publishing the release, the release workflow will automatically run to create/update the corresponding major version tag such as v0.
⚠️ Environment approval is required. Check the Release workflow run list.
The scripts and documentation in this project are released under the MIT License.
(top 24 of 30)
2,812 followers · starred Aug 2022
492 followers · starred Nov 2022
457 followers · starred Aug 2022
1,369 followers · starred Jan 2023
A composite action for packaging and uploading an artifact that can be deployed to GitHub Pages.
See the codeA composite Action for packaging and uploading artifact that can be deployed to GitHub Pages.
See action.yml for the various inputs this action supports (or below).
If you breakdown your workflow in two jobs (build and deploy), we recommend this action to be used in your build job:
jobs:
# Build job
build:
# Specify runner + build & upload the static files as an artifact
runs-on: ubuntu-latest
steps:
- name: Build static files
id: build
run: |
# <Not provided for brevity>
# At a minimum this step should build the static files of your site
# <Not provided for brevity>
- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v3 # or specific "vX.X.X" version tag for this action
with:
path: build_outputs_folder/
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
| Input | Required? | Default | Description |
|---|---|---|---|
name | false | github-pages | Artifact name |
path | true | _site/ | Path of the directory containing the static assets |
retention-days | false | 1 | Duration after which artifact will expire in days |
include-hidden-files | false | false | Include hidden files and directories (those starting with a dot) in the artifact. Excludes .git and .github regardless. |
| Output | Description |
|---|---|
artifact_id | The ID of the artifact that was uploaded |
While choosing to use this action as part of your approach to deploying to GitHub Pages is technically optional, we highly recommend it since it takes care of producing (mostly) valid artifacts.
However, if you do not choose to use this action but still want to deploy to Pages using an Actions workflow, then you must upload an Actions artifact that meets the following criteria:
github-pagesgzip archive containing a single tar fileThe tar file must:
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-release workflow).
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. ☑️
After publishing the release, the release workflow will automatically run to create/update the corresponding major version tag such as v0.
⚠️ Environment approval is required. Check the Release workflow run list.
The scripts and documentation in this project are released under the MIT License.
(top 24 of 30)
2,812 followers · starred Aug 2022
492 followers · starred Nov 2022
457 followers · starred Aug 2022
1,369 followers · starred Jan 2023