Each job of a native run writes a receipt: the commit, the source fingerprint before and after the run, the definition digest it ran under, the executor, the outcome and the log digest, signed by the service. Only a signed passed receipt under the check’s registered digest becomes L2 evidence. Use the printed definition to register a check exactly as it ran.
Usage
overlane ci receipts runArguments
| Argument | Required | Description |
|---|---|---|
run |
yes | The run ID |
Examples
overlane ci receipts run_abc123
overlane ci receipts run_abc123 --jsonBehavior
- Effect:
read(changes nothing). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: no. Accepts--force: no. - Machine-readable description:
overlane schema ci receipts.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"receipts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"receipt": {
"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
},
"jobId": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"checkId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"commitSha": {
"type": "string",
"pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
},
"definitionDigest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"sourceFingerprint": {
"anyOf": [
{
"type": "object",
"properties": {
"before": {
"type": "object",
"properties": {
"algorithm": {
"type": "string",
"const": "git-ls-files-v1"
},
"digest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"files": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"algorithm",
"digest",
"files"
],
"additionalProperties": false
},
"after": {
"type": "object",
"properties": {
"algorithm": {
"type": "string",
"const": "git-ls-files-v1"
},
"digest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"files": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"algorithm",
"digest",
"files"
],
"additionalProperties": false
}
},
"required": [
"before",
"after"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"executor": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "overlane-ci"
},
"identity": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"image": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"kind",
"identity",
"image"
],
"additionalProperties": false
},
"startedAt": {
"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": {
"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)))$"
},
"outcome": {
"type": "string",
"enum": [
"passed",
"failed",
"skipped",
"inconclusive",
"stale",
"missing",
"waived",
"infrastructure-interrupted",
"source-changed",
"unavailable"
]
},
"exitStatus": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"artifactDigest": {
"anyOf": [
{
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
{
"type": "null"
}
]
}
},
"required": [
"schemaVersion",
"tenantId",
"projectId",
"runId",
"jobId",
"checkId",
"commitSha",
"definitionDigest",
"sourceFingerprint",
"executor",
"startedAt",
"finishedAt",
"outcome",
"exitStatus",
"artifactDigest"
],
"additionalProperties": false
},
"signed": {
"type": "boolean"
},
"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
}
]
}
},
"required": [
"receipt",
"signed",
"definition"
],
"additionalProperties": false
}
}
},
"required": [
"tenantId",
"runId",
"receipts"
],
"additionalProperties": false
}See exit codes for the status the process returns.