Summary
Every attempt to deploy an API (managed Azure Functions, via swa deploy --api-location) to a Free-tier Static Web App fails with the generic "Failed to deploy the Azure Functions" reason, after a consistent ~16 second delay. Frontend-only deployment (no --api-location) succeeds without issue on the same resource.
Environment
- Static Web App SKU: Free
- Region: East US 2 (also tried West Europe / North Europe, both rejected at creation time with "region not accepting new customers" — unrelated to this issue)
- SWA CLI version: 2.0.10
- Node.js API,
apiVersion: 22 (also tried with explicit "platform": {"apiRuntime": "node:22"} in staticwebapp.config.json — no change)
- Deployment method:
swa deploy with a deployment token (not GitHub Actions)
- OS: Windows 11
Steps to reproduce
- Create a Free-tier Static Web App via
az staticwebapp create.
- Create a minimal API with a single HTTP-triggered function, zero dependencies beyond
@azure/functions.
- Build it (
tsc), producing a clean dist/ with one compiled function file and host.json at the API root.
- Deploy:
swa deploy ./dist --api-location ./api --deployment-token <token> --env production
Expected
The single trivial function deploys successfully.
Actual
Deployment fails every time, identically:
Troubleshooting already done
- Confirmed not a stale-build-artifact issue (clean
dist/, verified exact file list before zipping).
- Confirmed not a bloated/dev-dependency issue (
npm prune --omit=dev before deploy).
- Confirmed not a runtime-version issue (Node 22 is on the documented supported list; explicit
apiRuntime config made no difference).
- Confirmed not specific to one resource instance: fully deleted and recreated the Static Web App, identical failure on the fresh resource.
- Confirmed not specific to our actual application code: deployed a single-endpoint function with zero dependencies beyond
@azure/functions, identical failure.
- Frontend-only deployment (same resource,
swa deploy ./dist without --api-location) succeeds cleanly every time.
- Azure Portal's Activity Log shows no entry corresponding to this failure (deployment appears to go through a non-ARM data-plane path not captured there).
- Azure Portal's "Diagnose and solve problems" tool for the resource did not surface anything more specific.
This strongly suggests either a platform-side issue specific to this subscription/tier combination, or an undocumented restriction on managed Functions for Free-tier Static Web Apps that isn't reflected in current error messaging.
Summary
Every attempt to deploy an API (managed Azure Functions, via
swa deploy --api-location) to a Free-tier Static Web App fails with the generic "Failed to deploy the Azure Functions" reason, after a consistent ~16 second delay. Frontend-only deployment (no--api-location) succeeds without issue on the same resource.Environment
apiVersion: 22(also tried with explicit"platform": {"apiRuntime": "node:22"}in staticwebapp.config.json — no change)swa deploywith a deployment token (not GitHub Actions)Steps to reproduce
az staticwebapp create.@azure/functions.tsc), producing a cleandist/with one compiled function file andhost.jsonat the API root.swa deploy ./dist --api-location ./api --deployment-token <token> --env productionExpected
The single trivial function deploys successfully.
Actual
Deployment fails every time, identically:
Troubleshooting already done
dist/, verified exact file list before zipping).npm prune --omit=devbefore deploy).apiRuntimeconfig made no difference).@azure/functions, identical failure.swa deploy ./distwithout--api-location) succeeds cleanly every time.This strongly suggests either a platform-side issue specific to this subscription/tier combination, or an undocumented restriction on managed Functions for Free-tier Static Web Apps that isn't reflected in current error messaging.