name: Commit to build branch

# Run on manual trigger OR on push to main if src/ files change
on:
  workflow_dispatch:
  push:
    branches:
      - main
    paths:
      - 'src/**'
      - 'package.json'
      - 'package-lock.json'

permissions:
  contents: write

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: ⬇️ Checkout Repo
        uses: actions/checkout@v6

      - name: ⚙️ Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version: '24'
          cache: 'npm'

      - name: 📦 Install Dependencies
        run: npm ci

      - name: 🚀 Build Project
        run: npm run build

      - name: 🚀 Deploy to build branch
        uses: peaceiris/actions-gh-pages@v4
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./build
          # Set the target branch to 'build'
          publish_branch: build
