Skip to content

Staging deployments do not promote their tested Simulation Entrypoint revision #893

Open

Description

@anth-volk

What

Staging deployments of the Simulation Entrypoint test a tagged Cloud Run candidate but never move the staging service's stable traffic to it. Both the beta job in simulation-deploy.yml and the staging job of the Stage 12 comparison path workflow (stage12-deploy.yml) pass promote_entrypoint: false. Production deployments pass true.

As a result, the staging service's stable URL does not serve the build that passed the staging tests. Today it serves Cloud Run's sample container (revision 00001-cuh), whose /health returns an HTML page with no revision header, and every tested staging build exists only behind a tagged URL that receives no stable traffic.

Why it matters

Any caller that uses the staging stable URL reaches an untested build, or the sample container, instead of the build the deployment tested. This prevents staging callers, such as the Public API's staging service, from running their own staging checks against staging simulation infrastructure.

Wanted result

  • Every staging deployment promotes its tested entrypoint revision to the staging service's stable traffic, as production does, using the same checks: exact revision change, stable-URL checks, authentication checks and restoring the previous revision on failure.
  • A registered rule requires it, so a staging deployment cannot go back to leaving stable traffic unchanged.
  • Expected side effect: after the first promotion, the existing clean-up deletes the staging service's older revisions (about 67 today), keeping only the promoted revision and the one it replaced.

Order

Before the change merges, an operator must move the staging stable traffic off the sample container onto a tested staging revision. Otherwise the first promotion's stable-URL check fails on the sample container's response, restores it, and fails the beta deployment, which stops the production deployment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions