46 lines
1.8 KiB
YAML
46 lines
1.8 KiB
YAML
name: Deploy to Cloudflare Pages
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: oven-sh/setup-bun@v2
|
|
|
|
# Optional: Add your build steps here if your project needs compilation
|
|
- name: Install Dependencies & Build
|
|
run: |
|
|
echo "GUIDE_JOB_SECRET=${{ secrets.GUIDE_JOB_SECRET }}" >> .env
|
|
bun i --frozen-lockfile
|
|
bun run build
|
|
|
|
- name: Configure Pages Secrets
|
|
run: |
|
|
printf '%s' "$GEMINI_API_KEYS" | bunx wrangler pages secret put GEMINI_API_KEYS --project-name=hotfridge
|
|
printf '%s' "$GUIDE_JOB_SECRET" | bunx wrangler pages secret put GUIDE_JOB_SECRET --project-name=hotfridge
|
|
printf '%s' "$VAPID_SUBJECT" | bunx wrangler pages secret put VAPID_SUBJECT --project-name=hotfridge
|
|
printf '%s' "$VAPID_PUBLIC_KEY" | bunx wrangler pages secret put VAPID_PUBLIC_KEY --project-name=hotfridge
|
|
printf '%s' "$VAPID_PRIVATE_KEY" | bunx wrangler pages secret put VAPID_PRIVATE_KEY --project-name=hotfridge
|
|
env:
|
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
GEMINI_API_KEYS: ${{ secrets.GEMINI_API_KEYS }}
|
|
GUIDE_JOB_SECRET: ${{ secrets.GUIDE_JOB_SECRET }}
|
|
VAPID_SUBJECT: ${{ secrets.VAPID_SUBJECT }}
|
|
VAPID_PUBLIC_KEY: ${{ secrets.VAPID_PUBLIC_KEY }}
|
|
VAPID_PRIVATE_KEY: ${{ secrets.VAPID_PRIVATE_KEY }}
|
|
|
|
- name: Deploy to Cloudflare Pages
|
|
uses: cloudflare/wrangler-action@v3
|
|
with:
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: pages deploy .svelte-kit/cloudflare --project-name=hotfridge
|