You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
GitHub Action
Astro Deploy
v1.0.5
This action for Astro builds your Astro project for GitHub Pages.
For more information, please see our complete deployment guide—Deploy your Astro Site to GitHub Pages.
Note: Want to get started even faster? Create a repository from our official GitHub Pages template!
path
- Optional: the root location of your Astro project inside the repository.node-version
- Optional: the specific version of Node that should be used to build your site. Defaults to18
.package-manager
- Optional: the Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. Accepted values:npm
,yarn
,pnpm
, andbun
. A version tag is also accepted, for example[email protected]
,pnpm@8
, orbun@latest
. If not provided, version will default tolatest
.
Create a file at .github/workflows/deploy.yml
with the following content.
name: Deploy to GitHub Pages
on:
# Trigger the workflow every time you push to the `main` branch
# Using a different branch name? Replace `main` with your branch’s name
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Allow this job to clone the repo and create a page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout your repository using git
uses: actions/checkout@v4
- name: Install, build, and upload your site output
uses: withastro/action@v1
# with:
# path: . # The root location of your Astro project inside the repository. (optional)
# node-version: 18 # The specific version of Node that should be used to build your site. Defaults to 18. (optional)
# package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v3