Skip to content

Build website & deploy it to Cloudflare #53

Build website & deploy it to Cloudflare

Build website & deploy it to Cloudflare #53

Workflow file for this run

# credits & adapted from ⇝ https://github.com/bitspittle/droidcon-sf-24/blob/main/.github/workflows/build_and_deploy_site.yml
name: Build website & deploy it to Cloudflare
on:
push:
branches:
- main
paths:
- site/src/**
workflow_dispatch:
jobs:
export:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
env:
KOBWEB_CLI_VERSION: 0.9.17
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 22
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Query Browser Cache ID
id: browser-cache-id
run: echo "value=$(./gradlew -q :site:kobwebBrowserCacheId)" >> $GITHUB_OUTPUT
- name: Cache Browser Dependencies
uses: actions/cache@v4
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ steps.browser-cache-id.outputs.value }}
- name: Setup Kobweb
uses: robinraju/[email protected]
with:
repository: "varabyte/kobweb-cli"
tag: "v${{ env.KOBWEB_CLI_VERSION }}"
fileName: "kobweb-${{ env.KOBWEB_CLI_VERSION }}.zip"
tarBall: false
zipBall: false
- name: Unzip Kobweb
run: unzip kobweb-${{ env.KOBWEB_CLI_VERSION }}.zip
- name: Run export
run: |
cd site
../kobweb-${{ env.KOBWEB_CLI_VERSION }}/bin/kobweb export --notty --layout static
- name: Deploy to Cloudflare Pages
uses: cloudflare/[email protected]
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy ${{ github.workspace }}/site/.kobweb/site/ --project-name=luki120