Skip to content

Build and deploy docs/ to GitHub Pages #6

Build and deploy docs/ to GitHub Pages

Build and deploy docs/ to GitHub Pages #6

# Deploy to GitHub Pages (production)
name: Build and deploy docs/ to GitHub Pages
on:
# For new release tags pushed into the repository
# The check for the 'main' branch is done on the job level
push:
tags: ["v[0-9]+.[0-9]+.[0-9]+"]
# Allows to run this workflow manually from the Actions tab
workflow_dispatch:
# Allow simultaneous checks
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
# 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
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout repository
uses: actions/checkout@v4
# with:
# fetch-depth: 0
- name: Install, build and store site artifact
uses: withastro/action@v3
with:
path: docs
node-version: 22
# stores the artifact in docs/dist/
deploy:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
# takes the artifact from docs/dist/