name: Deploy Zola site to Cloudflare Pages

on:
  push:
    branches: [main]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
      # 1. Checkout the repository code
      - name: Checkout repository
        uses: actions/checkout@v3

      # 2. Install Zola
      - name: Install Zola
        run: |
          ZOLA_VERSION="0.20.0"
          curl -fL -o zola.tar.gz https://github.com/getzola/zola/releases/download/v${ZOLA_VERSION}/zola-v${ZOLA_VERSION}-x86_64-unknown-linux-gnu.tar.gz
          tar -xzf zola.tar.gz
          chmod +x zola
          mv zola /usr/local/bin/
      # 3. Initialize Submodules
      - name: Initialize submodules
        run: |
          git submodule update --init --recursive

      # 4. Build the site with Zola
      - name: Build site with Zola
        run: |
          zola build --output-dir public

      # 5. Install Wrangler CLI
      - name: Install Wrangler
        run: |
          npm install -g wrangler

      # 6. Publish to Cloudflare Pages using Wrangler
      - name: Deploy to Cloudflare Pages
        env:
          CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
        run: |
          wrangler pages publish public --project-name u42
