Skip to content

Decide whether a retry-rescued run should report a green run conclusion #648

Description

@joshua-temple

Problem

When a deploy fails and a retry shim rescues it (the deploy ultimately succeeds), the orchestrate run's aggregate conclusion is still failure. cascade intentionally never emits continue-on-error on reusable-workflow caller jobs, so a failed base deploy job reds the run even when a later retry succeeds. The effective (success) result is correctly propagated to the state write and to dependent deploys, but the run badge stays red.

Consequence

Anything keying on the run conclusion (branch protection, external gates, or a human reading the Actions UI) sees a rescued deploy as failed, which can surprise users for a feature whose purpose is resilience.

Decision to make

  • Keep the current contract: rescue is proven via job-result expressions and the state write; the run conclusion is red by design (no continue-on-error).
  • Or make a retry-rescued run report a green conclusion, which means reversing the no-continue-on-error contract for retried deploys and accepting the broader failure-semantics implications.

Context

Retry-rescue mechanics are validated on the live fleet (base fails, retry succeeds, dependent runs, state advances); only the run-conclusion semantics are open. Exercised by cascade-example-retries. Related: #645.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions