@@ -58,19 +58,31 @@ jobs:
5858 - name : 🏗 Build Cloudflare Pages output (functions + static)
5959 run : pnpm dlx @cloudflare/next-on-pages@1
6060
61- - name : 🔎 Debug Cloudflare Pages access
62- uses : cloudflare/wrangler-action@v3
63- with :
64- apiToken : ${{ secrets.CLOUDFLARE_API_TOKEN }}
65- accountId : ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
66- command : >-
67- pages project list
68-
69- - name : 📝 Debug target Pages project
70- run : |
71- echo "Target Pages project: $PROJECT_NAME"
61+ - name : 🔎 Verify Cloudflare Pages project exists
7262 env :
63+ CLOUDFLARE_API_TOKEN : ${{ secrets.CLOUDFLARE_API_TOKEN }}
64+ CLOUDFLARE_ACCOUNT_ID : ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
7365 PROJECT_NAME : ${{ secrets.CLOUDFLARE_PAGES_PROJECT_NAME_RUNTIME }}
66+ run : |
67+ RESPONSE=$(curl -fsSL \
68+ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
69+ -H "Content-Type: application/json" \
70+ "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/pages/projects")
71+
72+ COUNT=$(printf '%s' "$RESPONSE" | jq '.result | length')
73+ MATCH=$(printf '%s' "$RESPONSE" | jq --arg name "$PROJECT_NAME" 'any(.result[]?; .name == $name)')
74+
75+ echo "Pages projects visible in this account: $COUNT"
76+
77+ if [ "$MATCH" != "true" ]; then
78+ echo "Configured Pages project was not found in the provided Cloudflare account."
79+ echo "Verify CLOUDFLARE_ACCOUNT_ID points to the same account that owns the Pages project."
80+ echo "Visible project names:"
81+ printf '%s' "$RESPONSE" | jq -r '.result[]?.name'
82+ exit 1
83+ fi
84+
85+ echo "Configured Pages project exists in the target account."
7486
7587 - name : 🚀 Deploy runtime app to Cloudflare Pages
7688 uses : cloudflare/wrangler-action@v3
0 commit comments