Skip to content

Refactor the GitHub Action config, support Cloudflare Pages #4

Refactor the GitHub Action config, support Cloudflare Pages

Refactor the GitHub Action config, support Cloudflare Pages #4

# Sample workflow for building and deploying a Jekyll site to Cloudflare Pages
name: Deploy Jekyll with Cloudflare Pages dependencies
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
env:
SITE_DIR: ./_site
DOCS_DIR: ./_docs/cloudflare_pages
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- uses: JezaChen/jekyll-build-action@v1
with:
docs-dir: ${{ env.DOCS_DIR }}
site-dir: ${{ env.SITE_DIR }}
# Deployment job
publish-to-cloudflare-pages:
runs-on: ubuntu-latest
needs: build
permissions:
contents: read
deployments: write
name: Publish to Cloudflare Pages
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: built-site
path: ${{ env.SITE_DIR }}
# Run a build step here if your project requires
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: '91bdd3ee7e668bc2103e53c8e3ba4a0f'
projectName: 'leeco'
directory: ${{ env.SITE_DIR }}
# Optional: Enable this if you want to have GitHub Deployments triggered
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
# Optional: Change the Wrangler version, allows you to point to a specific version or a tag such as `beta`
wranglerVersion: '3'