Skip to content

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Cloudflare Pages
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
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
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.JEKYLL_PAT }}
- name: Setup Ruby
uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1.161.0
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 16
- name: Build Jekyll Theme Hydejack
run: cd ./#jekyll-theme-hydejack && npm i && npm run build
- name: Build with Jekyll
run: bundle exec jekyll build --destination ./build
env:
JEKYLL_ENV: production
- name: Publish to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
id: deploy
with:
wranglerVersion: "3.74.0"
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: efb289061241436254219b424fcea4cf
command: pages deploy build --project-name=hydejack-site-pages --branch=main --commit-dirty=true