Skip to content

A GitHub Action that deploys your Astro project to GitHub Pages

License

Notifications You must be signed in to change notification settings

MicroWebStacks/astro_action

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Astro Deploy Action

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.

Usage

Note: Want to get started even faster? Create a repository from our official GitHub Pages template!

Inputs

  • path - Optional: the root location of your Astro project inside the repository.
  • out - optional: Path of the directory containing the output build same as for outDir. Needed if path is specified.
  • node-version - Optional: the specific version of Node that should be used to build your site. Defaults to 20.
  • 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, and bun. A version tag is also accepted, for example [email protected], pnpm@8, or bun@latest. If not provided, version will default to latest.

Example workflow:

Build and Deploy to GitHub Pages

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@v2
        # with:
            # path: . # The root location of your Astro project inside the repository. (optional)
            # node-version: 20 # 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@v4

About

A GitHub Action that deploys your Astro project to GitHub Pages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published