Skip to content
Proud to collaborate with Microsoft for Startups

runner.environment-provision-cloud-run ​

Provision Cloud Run environment for a runner group

Provision Cloud Run runner environment for a runner group.

Layers:

  1. validate — check required config fields, set PROVISIONING
  2. registry_mirror — ensure AR remote-repo mirror if the group's image is on a non-Cloud-Run-allowed upstream (CLOUDRUN-001). No-ops when requires_cloud_run_registry_mirror is False.
  3. github — register GitHub runner group (no-op for non-GITHUB)
  4. finalize — write RunnerCloudResource(CLOUD_RUN_JOB), set ACTIVE

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-runners-gcp
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidYes—UUID of the RunnerGroup this action operates on, picked from the organization's list of runner groups.
organization_uuiduuidYes—UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant.
workflow_run_idstringNo—Engine-stamped workflow run ID
workflow_run_uuidstringNo—Engine-stamped correlation/run id (ADR-015/E1); tolerated on input

Output Schema ​

FieldTypeRequiredDefaultDescription
runner_group_uuiduuidYes—Runner group whose Cloud Run environment was provisioned
organization_uuiduuidNo—Organization that owns the runner group
workflow_run_uuidstringNo—Internal engine correlation/run identifier for this DAG execution, stamped by the engine (ADR-015/E1); not a reference to any business entity.
cloud_run_job_namestringNo—Cloud Run Job name created for the runner group
project_idstringNo—GCP project ID the Cloud Run Job lives in
regionstringNo—Cloud Run region
requires_cloud_run_registry_mirrorbooleanNo—Whether the runner group needed an Artifact Registry mirror
mirror_uuiduuidNo—CloudRunRegistryMirror UUID created or reused for this group (when applicable). No list/get workflow exists for this entity today; this is an internal echo, not a caller-supplied value.
github_runner_group_idstringNo—Registered GitHub runner-group ID (GitHub integration only)
failure_reasonstringNo—Populated only when the workflow ends in FAILED
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——
validate_cloud_run_environmentjsonNo—Output of the validate_cloud_run_environment DAG step
ensure_registry_mirrorjsonNo—Output of the ensure_registry_mirror DAG step
register_github_runner_groupjsonNo—Output of the register_github_runner_group DAG step
finalize_cloud_run_environmentjsonNo—Output of the finalize_cloud_run_environment DAG step

DAG Layers ​

#LayerStepsCompensation
1validaterunner.validate_cloud_run_environment—
2registry_mirrorrunner.cloud-run-registry-mirror-ensure—
3githubrunner.register_github_runner_group—
4finalizerunner.finalize_cloud_run_environment—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
runner.validate_cloud_run_environmentvalidate_cloud_run_environment
runner.cloud-run-registry-mirror-ensureensure_registry_mirror
runner.register_github_runner_groupregister_github_runner_group
runner.finalize_cloud_run_environmentfinalize_cloud_run_environment

API Usage ​

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

{
  "workflow_type": "runner.environment-provision-cloud-run",
  "initial_data": {
    "runner_group_uuid": "value",
    "organization_uuid": "value"
  }
}