(especially if you host it on a public repo... there are no time limits)

never used Github Actions before and I'm generally pretty new to CI/CD pipelines.

used a Github Action to deploy this site to Cloudflare Pages. pretty cool stuff.

name: Build and Publish
on: push
run-name: build and publish - triggered by @${{ github.actor }}
jobs:
  build-and-publish-main:
    runs-on: ubuntu-latest
    env:
      cloudflare_account: ${{ secrets.CLOUDFLARE_ACCOUNT }}
      cloudflare_token: ${{ secrets.CLOUDFLARE_TOKEN }}
      cloudflare_project: ${{ secrets.CLOUDFLARE_PROJECT }}
    if: ${{ github.ref == 'refs/heads/main' }}
    steps:
      - name: install zola
        uses: taiki-e/install-action@v2
        with:
          tool: [email protected]
      - name: checkout code
        uses: actions/checkout@v4
        with:
          submodules: true
      - name: publish to cloudflare pages
        uses: cloudflare/wrangler-action@v3
        if: ${{ env.cloudflare_account != '' && env.cloudflare_token != '' && env.cloudflare_project != '' }}
        with:
          accountId: ${{ env.cloudflare_account }}
          apiToken: ${{ env.cloudflare_token }}
          preCommands: |
            echo "building site..."
            zola --root ${{ github.workspace }} build
          command: pages deploy ${{ github.workspace }}/public --project-name=${{ env.cloudflare_project }}

now whenever I push updates to main, this action runs, builds with Zola, and deploys to Cloudflare Pages for me.