Skip to content

Workflow file for this run

name: Deploy to Cloudflare Pages
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy to Cloudflare Pages
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Gleam
uses: erlef/setup-beam@v1
with:
otp-version: "27.0"
gleam-version: "1.5.1"
rebar3-version: "3"
- name: Install dependencies
run: gleam deps download
- name: Build app
run: gleam run -m lustre/dev build app --minify
- name: Copy output to dist
run: |
mkdir -p dist
cp index.html dist/index.html
cp -r priv dist/priv
- name: Update path in index.html to use minified app
run: sed -i 's|priv/static/squared_away.mjs|priv/static/squared_away.min.mjs|' dist/index.html
- name: Deploy with Wrangler
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy dist --project-name squared-away