name: Deploy to Cloudflare Workers on: push: branches: - master jobs: deploy: runs-on: docker container: image: oven/bun:latest steps: - 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: Verify secrets are set run: | if [ -z "$CLOUDFLARE_API_TOKEN" ]; then echo "ERROR: CLOUDFLARE_API_TOKEN is empty or not set!" exit 1 else echo "CLOUDFLARE_API_TOKEN is set (length: ${#CLOUDFLARE_API_TOKEN})" fi if [ -z "$CLOUDFLARE_ACCOUNT_ID" ]; then echo "ERROR: CLOUDFLARE_ACCOUNT_ID is empty or not set!" exit 1 else echo "CLOUDFLARE_ACCOUNT_ID is set (length: ${#CLOUDFLARE_ACCOUNT_ID})" fi env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - 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