Skip to content

overlane ci run

Start a pipeline run for a commit

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Starts the pipeline from .overlane/ci.yml at a commit (default: the working copy’s HEAD and branch). The file is read from the repository, never sent. A failed run exits 1; a run held by the pull request’s cost gate exits 6 and names the setting to raise. A native project needs a repository (overlane repo create).

Usage

overlane ci run [--commit SHA] [--ref BRANCH] [--repo REPO] [--pull N] [--approval ID] [--dry-run]

Flags

Flag Type Required Default Description
--commit string no The full commit SHA (default: HEAD)
--ref string no The branch (default: the current branch)
--repo string no The repository, when the project has several
--pull string no Run as the pull request with this number (its head must be the commit)
--approval string no Run an action that an approval covers; get the ID from overlane guard approvals list
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane ci run
overlane ci run --commit 0123456789abcdef0123456789abcdef01234567 --ref main --dry-run

Behavior

  • Effect: write (changes local or hosted state).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: yes. Accepts --force: no.
  • Machine-readable description: overlane schema ci run.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "tenantId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
          "description": "tenant identifier"
        },
        "run": {
          "type": "object",
          "properties": {
            "schemaVersion": {
              "type": "string",
              "const": "1"
            },
            "tenantId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
              "description": "tenant identifier"
            },
            "projectId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
              "description": "project identifier"
            },
            "runId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "provider": {
              "type": "string",
              "enum": [
                "overlane",
                "github",
                "gitlab"
              ]
            },
            "repoId": {
              "type": [
                "string",
                "null"
              ]
            },
            "repository": {
              "type": [
                "string",
                "null"
              ]
            },
            "commitSha": {
              "type": "string",
              "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
            },
            "ref": {
              "type": "string",
              "maxLength": 200
            },
            "trigger": {
              "type": "string",
              "enum": [
                "push",
                "pull_request",
                "schedule",
                "manual"
              ]
            },
            "pullNumber": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            },
            "fork": {
              "type": "boolean"
            },
            "status": {
              "type": "string",
              "enum": [
                "queued",
                "running",
                "passed",
                "failed",
                "cancelled",
                "held"
              ]
            },
            "reason": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "supersededBy": {
              "type": [
                "string",
                "null"
              ]
            },
            "configDigest": {
              "type": "string",
              "pattern": "^sha256:[0-9a-f]{64}$"
            },
            "jobs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "tenantId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
                    "description": "tenant identifier"
                  },
                  "jobId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "queued",
                      "running",
                      "passed",
                      "failed",
                      "cancelled",
                      "held"
                    ]
                  },
                  "route": {
                    "type": "object",
                    "properties": {
                      "target": {
                        "type": "string",
                        "const": "containers"
                      },
                      "instance": {
                        "type": "string",
                        "enum": [
                          "standard-3",
                          "standard-4"
                        ]
                      },
                      "reason": {
                        "type": "string",
                        "maxLength": 300
                      },
                      "database": {
                        "type": "object",
                        "properties": {
                          "engine": {
                            "type": "string",
                            "enum": [
                              "postgres",
                              "sqlite"
                            ]
                          },
                          "runtime": {
                            "type": "string",
                            "enum": [
                              "durable-object-sqlite",
                              "pglite",
                              "external",
                              "container"
                            ]
                          },
                          "sizeMb": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "exclusiveMinimum": 0,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "reason": {
                            "type": "string",
                            "maxLength": 500
                          }
                        },
                        "required": [
                          "engine",
                          "runtime",
                          "sizeMb",
                          "reason"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "target",
                      "instance",
                      "reason"
                    ],
                    "additionalProperties": false
                  },
                  "steps": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "exitCode": {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        },
                        "durationMs": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "attempt": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 2
                        },
                        "skipped": {
                          "default": false,
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "name",
                        "exitCode",
                        "durationMs",
                        "attempt",
                        "skipped"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "cache": {
                    "type": "object",
                    "properties": {
                      "key": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "hit": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key",
                      "hit"
                    ],
                    "additionalProperties": false
                  },
                  "flaky": {
                    "type": "boolean"
                  },
                  "logUri": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "logDigest": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^sha256:[0-9a-f]{64}$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "durationMs": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "billedMinutes": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "costMicros": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "startedAt": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "finishedAt": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "tenantId",
                  "jobId",
                  "name",
                  "status",
                  "route",
                  "steps",
                  "cache",
                  "flaky",
                  "logUri",
                  "logDigest",
                  "durationMs",
                  "billedMinutes",
                  "costMicros",
                  "startedAt",
                  "finishedAt"
                ],
                "additionalProperties": false
              }
            },
            "totalMinutes": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "totalCostMicros": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            "finishedAt": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "schemaVersion",
            "tenantId",
            "projectId",
            "runId",
            "provider",
            "repoId",
            "repository",
            "commitSha",
            "ref",
            "trigger",
            "pullNumber",
            "fork",
            "status",
            "reason",
            "supersededBy",
            "configDigest",
            "jobs",
            "totalMinutes",
            "totalCostMicros",
            "createdAt",
            "finishedAt"
          ],
          "additionalProperties": false
        },
        "replay": {
          "type": "boolean"
        },
        "cancelled": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "tenantId",
        "run",
        "replay",
        "cancelled"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "const": true
        },
        "service": {
          "type": "string"
        },
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "body": {},
              "note": {
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "additionalProperties": false
          }
        },
        "commands": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "action": {
                "type": "string",
                "enum": [
                  "write",
                  "append",
                  "delete"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "action",
              "description"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "dryRun",
        "requests",
        "commands",
        "writes",
        "notes"
      ],
      "additionalProperties": false
    }
  ]
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.