Skip to content

overlane ci check set

Register or replace a check's definition from JSON

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Registers the check’s resolved definition: \{"kind":"argv","argv":[...],"image":...,"toolVersions":\{...\}\} or a pipeline job as printed by overlane ci receipts --json. Replacing a definition changes its digest, so passes under the old one stop counting. A policy-class change: it is gated by the project’s autonomy mode and audited.

Usage

overlane ci check set check [--file PATH] [--definition JSON] [--dry-run]

Arguments

Argument Required Description
check yes The check ID, snake_case, as tasks name it in requiredChecks

Flags

Flag Type Required Default Description
--file string no A JSON file holding the definition
--definition string no The definition as JSON text, instead of –file
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane ci check set unit_tests --file checks/unit_tests.json
overlane ci check set lint --definition '{"kind":"argv","argv":["pnpm","lint"],"image":"node:22.20.0-bookworm-slim","toolVersions":{"node":"22.20.0"}}' --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 check set.

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"
        },
        "projectId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
          "description": "project identifier"
        },
        "checkId": {
          "type": "string",
          "maxLength": 128,
          "pattern": "^[a-z][a-z0-9_]*$"
        },
        "definition": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "argv"
                },
                "argv": {
                  "minItems": 1,
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  }
                },
                "image": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "toolVersions": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "additionalProperties": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  }
                }
              },
              "required": [
                "kind",
                "argv",
                "image",
                "toolVersions"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "const": "workflow-job"
                },
                "provider": {
                  "type": "string",
                  "enum": [
                    "overlane",
                    "github",
                    "gitlab"
                  ]
                },
                "workflow": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "job": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "spec": {},
                "image": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "toolVersions": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "additionalProperties": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  }
                }
              },
              "required": [
                "kind",
                "provider",
                "workflow",
                "job",
                "spec",
                "image",
                "toolVersions"
              ],
              "additionalProperties": false
            }
          ]
        },
        "definitionDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "registeredAt": {
          "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)))$"
        },
        "registeredBy": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      },
      "required": [
        "tenantId",
        "projectId",
        "checkId",
        "definition",
        "definitionDigest",
        "registeredAt",
        "registeredBy"
      ],
      "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.