Skip to content
Proud to collaborate with Microsoft for Startups

runner.instance-terminate-gce ​

Terminate one GCE runner instance — deregister from GitHub (best-effort), delete the Compute Engine VM via LTIP across the group's configured zones (best-effort), and mark the RunnerInstance row TERMINATED with a reason. Counterpart to runner.instance-terminate-ec2-vm.

Terminate a single RunnerInstance: deregister from GH + delete GCE VM + DB mark.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-runners-gcp
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_instance_uuiduuidYes—UUID of the RunnerInstance (GCE VM) to terminate.
reasonstringNo—Free-text reason recorded on the instance row.

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_instance_uuiduuidNo—UUID of the RunnerInstance this workflow terminated, picked from the group's list of instances; echoed on output alongside terminal/error payloads.
runner_group_uuiduuidNo—UUID of the RunnerGroup owning the terminated instance, picked from the organization's list of runner groups.
cloud_instance_refstringNo——
zonestringNo——
github_deregisteredbooleanNo——
vm_deletedbooleanNo——
termination_reasonstringNo——
reasonstringNo—Caller-supplied reason (input echo; also recorded as termination_reason)
outcomestringNo——
statusstringNo——
completed_atstringNo——
failed_atstringNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—terminate—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingterminatecompleted—
* (any state)failfailed—

API Usage ​

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

{
  "workflow_type": "runner.instance-terminate-gce",
  "initial_data": {
    "runner_instance_uuid": "value"
  }
}