Skip to content

serverless-init-1.10.0

@dd-gplassard dd-gplassard tagged this 13 Jul 14:22
### What does this PR do?

  Reorganizes the Private Action Runner workflow execution path into two concrete components:

  - `WorkflowRunner` now owns the OPMS-facing lifecycle: dequeue loop, retry/backoff handling, heartbeat, result publishing, concurrency limiting, and graceful shutdown of runner dependencies.
  - `WorkflowTaskExecutor` now owns task execution preparation and execution: task validation, signature verification, dequeue metadata preservation, credential resolution, bundle/action lookup, allow-list checks,
  telemetry, and action invocation.

  This removes the old `Loop` / `WorkflowRunner` bidirectional dependency, deletes the generic runner interface, and consolidates the workflow runner files around the two actual responsibilities.

  ### Motivation

  The previous structure split execution across `WorkflowRunner`, `Loop`, and `WorkflowExecutor` in a way that made ownership unclear. The loop depended on the runner for OPMS publishing and execution, while the
  runner delegated lifecycle work back to the loop.

  This PR makes the dependency direction explicit:

  `WorkflowRunner -> WorkflowTaskExecutor`

  The executor no longer knows about OPMS, heartbeats, polling, or publishing. The runner no longer owns action execution details.


### Describe how you validated your changes

Ran locally with multiple start / shutdown cases

### Additional Notes


Co-authored-by: gabriel.plassard <gabriel.plassard@datadoghq.com>
Assets 2
Loading