name: Deploy to Cloudflare Workers on: push: branches: - master jobs: deploy: runs-on: docker container: image: oven/bun:latest steps: - name: Install system dependencies run: | apt-get update apt-get install -y ca-certificates curl - name: Test network connectivity run: | echo "--- Testing DNS resolution ---" bun -e "const r = await fetch('https://api.cloudflare.com/client/v4/'); console.log(r.status, await r.text().then(t => t.slice(0, 200)))" || echo "Bun fetch failed" echo "--- Testing with curl ---" curl -sf -o /dev/null -w "HTTP %{http_code} to api.cloudflare.com\n" https://api.cloudflare.com/client/v4/ || echo "curl to Cloudflare API failed!" - name: Checkout uses: actions/checkout@v4 - name: Install dependencies run: bun install --frozen-lockfile - name: Build run: bun run build - name: Verify build output run: | echo "--- Checking build output ---" ls -la .svelte-kit/cloudflare/ || echo "ERROR: .svelte-kit/cloudflare/ does not exist!" test -f .svelte-kit/cloudflare/_worker.js && echo "_worker.js exists" || echo "ERROR: _worker.js not found!" - name: Deploy to Cloudflare Workers timeout-minutes: 10 run: | echo "--- Wrangler version ---" bunx wrangler --version echo "--- Starting deploy ---" bunx wrangler deploy --config wrangler.jsonc env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} WRANGLER_LOG: debug CI: true