Skip to content

functions deploy exits 0 without deploying under concurrent load (138 of 237 functions missing) #6247

Description

@nordgardco

Running supabase functions deploy under concurrent load returns exit code 0 while the functions are not deployed.

What we measured

On a Supabase branch project, of 237 edge functions 138 were absent afterwards, while the CLI reported success for all 237 and exited 0. No warning and no rate-limit message appeared for those. The absence was confirmed along a second path: GET /v1/projects/<ref>/functions/<slug> returned HTTP 404 "Function not found" for each of them.

Some invocations did fail visibly with:

unexpected list functions status 429: {"message":"ThrottlerException: Too Many Requests"}

but far from all 138.

Why it matters

An automated bootstrap cannot trust the exit code. We now query the API after every round to learn what is actually deployed, and retry only the difference. Anyone who trusts the exit code ships half an environment and reports it as complete.

Question

Can the exit code follow the real result here, or is there a flag that makes the CLI fail on a partial deploy?

Environment

  • CLI version: 2.109.1
  • Target: Supabase branch project, 237 edge functions
  • Invocation: one supabase functions deploy <name> --project-ref <ref> per function, 8 in parallel

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions