Skip to content
Proud to collaborate with Microsoft for Startups

github.workflow-dispatch-launch ​

Launch ephemeral runner on appropriate cloud backend

Launch an ephemeral runner for a workflow_dispatch event.

Routes to the appropriate backend-specific launch workflow:

  • fargate → runner.execution-launch
  • gce / cloud_run → runner.execution-launch-gcp
  • azure_container_apps_job → runner.execution-launch-azure-container-apps
  • do_app_job → runner.execution-launch-do-app-job

The child is dispatched over the async bus (start_remote), not resolved in this process: most of these launchers belong to provider libraries that a V2 one-library-per-image runner does not carry.

State machine (async — does not block the Kafka consumer): pending → action_start → awaiting (child launch workflow dispatched) awaiting → action_child_done → completed (engine callback when child succeeds) awaiting → action_child_failed → failed (engine callback when child fails) awaiting → action_timeout → failed (auto_advance after 300 s)

Inputs:

  • organization_uuid: Organization UUID (public) (required)
  • runner_group_uuid: Runner group UUID (required)
  • backend_type: Backend type string (required)
  • github_workflow_run_ref: GitHub workflow run reference (required for context)
  • repository_full_name: Full name "owner/repo" (required)
  • actor: Username who triggered the workflow (required)
  • workflow_inputs: Dictionary of workflow inputs to pass as env vars

Outputs (terminal state_data):

  • runner_execution_uuid: Runner execution UUID
  • task_arn: ECS task ARN (if applicable)
  • launched_at: ISO timestamp of launch

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-github
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuidstringYes—Organization UUID (public)
runner_group_uuiduuidYes—Runner group UUID
backend_typestringYes—Backend type
github_workflow_run_refintegerNo—Workflow run ID
repository_full_namestringYes—Repository full name
actorstringYes—Actor who triggered workflow
workflow_inputsdictNo—Workflow inputs as env vars
runner_imagestringNo—Per-job custom container image
workflow_run_idstringNo—Parent DAG run ID

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_execution_uuidstringNo—Runner execution UUID
task_arnstringNo—ECS task ARN (if applicable)
launched_atstringNo—ISO timestamp of launch
child_workflow_refstringNo—Child launch workflow reference
launch_workflow_typestringNo—Backend-specific launch workflow type
started_atstringNo—ISO timestamp child was started
organization_uuidstringNo—Organization UUID (public)
runner_group_uuidstringNo—Runner group UUID
backend_typestringNo—Backend type
github_workflow_run_refintegerNo—Workflow run ID
repository_full_namestringNo—Repository full name
actorstringNo—Actor who triggered workflow
workflow_inputsdictNo—Workflow inputs as env vars
runner_imagestringNo—Per-job custom container image
workflow_run_idstringNo—Parent DAG run ID
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—start—
awaitingNoNo—timeout—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingstartawaiting—
awaitingchild_donecompleted—
awaitingchild_failedfailed—
awaitingtimeoutfailed—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "github.workflow-dispatch-launch",
  "initial_data": {
    "organization_uuid": "value",
    "runner_group_uuid": "value",
    "backend_type": "value",
    "repository_full_name": "value"
  }
}