name: Deploy to GitHub Pages

on:
  release:
    types: [created]
  # Allows you to run this workflow manually from the Actions tab on GitHub.
  workflow_dispatch:
  # Allows external webhook trigger
  repository_dispatch:

# Allow this job to clone the repo and create a page deployment
permissions:
  contents: write
  pages: write
  id-token: write

jobs:
  build:
    env:
      HUSKY: 0
    runs-on: ubuntu-latest
    steps:
      - name: Checkout your repository using git
        uses: actions/checkout@v4
      - name: Install, build, and upload your site
        uses: withastro/action@v2
        with:
          package-manager: bun

  deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    outputs:
      page_url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4