Skip to content

CD

CD #22

Workflow file for this run

name: CD
on:
push:
branches:
- master
paths:
- 'website/**'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 60
defaults:
run:
shell: bash
env:
KOBWEB_CLI_VERSION: 0.9.15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
cache: gradle
distribution: 'temurin'
java-version: 21
# When projects are created on Windows, the executable bit is sometimes lost. So set it back just in case.
- name: Ensure Gradle is executable
run: chmod +x gradlew
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Query Browser Cache ID
id: browser-cache-id
run: echo "value=$(./gradlew -q :website: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: Ensure gradle wrapper is executable
run: chmod +x gradlew
- name: Run Kobweb export
run: ./gradlew kobwebExport -PkobwebExportLayout=STATIC -PkobwebBuildTarget=RELEASE -PkobwebReuseServer=false --stacktrace --no-daemon --info
- name: Build & Deploy Worker
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT_ID }}
command: pages deploy website/.kobweb/site/ --project-name=kore