name: Deploy on: push: branches: - main - preview jobs: deploy: runs-on: node-20 steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 - name: Install Zola run: | curl -sL https://github.com/getzola/zola/releases/download/v0.22.1/zola-v0.22.1-x86_64-unknown-linux-gnu.tar.gz | tar xz -C /usr/local/bin - name: Build site run: | if [ "${{ github.ref_name }}" = "main" ]; then zola build else zola build --drafts --base-url "https://${{ github.ref_name }}.${{ secrets.CF_PAGES_SUBDOMAIN }}.pages.dev" fi - name: Deploy to Cloudflare Pages env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} run: | npx wrangler pages project create ${{ secrets.CF_PAGES_PROJECT_NAME }} --production-branch=main 2>/dev/null || true npx wrangler pages deploy public/ \ --project-name=${{ secrets.CF_PAGES_PROJECT_NAME }} \ --branch=${{ github.ref_name }} \ --commit-dirty=true