org.tangled.ci.defs
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"externalSource": {
"properties": {
"link": {
"format": "uri",
"type": "string"
},
"name": {
"description": "human-readable name of external source",
"type": "string"
}
},
"required": [
"link"
],
"type": "object"
},
"fileSource": {
"properties": {
"commit": {
"maxLength": 128,
"minLength": 40,
"type": "string"
},
"lines": {
"ref": "#lineRange",
"type": "ref"
},
"path": {
"minLength": 1,
"type": "string"
},
"repo": {
"format": "did",
"type": "string"
}
},
"required": [
"repo",
"commit",
"path"
],
"type": "object"
},
"lineRange": {
"properties": {
"end": {
"minimum": 1,
"type": "integer"
},
"start": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"start",
"end"
],
"type": "object"
},
"pipeline": {
"description": "A CI pipeline. Record-like, but owned by the spindle rather than a PDS.",
"properties": {
"commit": {
"description": "Commit Id this pipeline is running on",
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"id": {
"description": "Spindle-local pipeline id",
"format": "record-key",
"type": "string"
},
"repo": {
"description": "Repository DID",
"format": "did",
"type": "string"
},
"sourceRepo": {
"description": "Repository DID that the commit was checked out from, if different from repo (e.g. a fork for a fork-based pull request)",
"format": "did",
"type": "string"
},
"trigger": {
"closed": false,
"description": "Trigger event that triggered this pipeline.",
"refs": [
"org.tangled.event.push",
"org.tangled.event.pullRequest",
"org.tangled.ci.trigger.manual",
"org.tangled.ci.trigger.schedule"
],
"type": "union"
},
"workflows": {
"description": "Triggered workflows",
"items": {
"ref": "#workflowRun",
"type": "ref"
},
"maxLength": 50,
"minLength": 1,
"type": "array"
}
},
"required": [
"id",
"repo",
"trigger",
"commit",
"workflows"
],
"type": "object"
},
"workflow": {
"description": "A workflow definition",
"properties": {
"hash": {
"description": "Fingerprint of the workflow definition as resolved by the spindle.",
"type": "string"
},
"id": {
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"name": {
"description": "Human-readable name of the workflow",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"source": {
"refs": [
"#fileSource",
"#externalSource"
],
"type": "union"
},
"triggers": {
"description": "Event types that triggers this workflow.",
"items": {
"knownValues": [
"org.tangled.event.push",
"org.tangled.event.pullRequest",
"org.tangled.ci.trigger.manual",
"org.tangled.ci.trigger.schedule"
],
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"source",
"triggers"
],
"type": "object"
},
"workflowRun": {
"properties": {
"definition": {
"description": "Workflow definition where this workflow run is originated from.",
"ref": "#workflow",
"type": "ref"
},
"error": {
"type": "string"
},
"finishedAt": {
"format": "datetime",
"type": "string"
},
"id": {
"description": "Pipeline-local workflow id, usually same as name.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"name": {
"description": "Human-readable name of the workflow",
"maxLength": 128,
"type": "string"
},
"startedAt": {
"format": "datetime",
"type": "string"
},
"status": {
"description": "Workflow status",
"enum": [
"pending",
"blocked",
"running",
"failed",
"timeout",
"cancelled",
"success"
],
"type": "string"
}
},
"required": [
"definition",
"id",
"status"
],
"type": "object"
}
},
"id": "org.tangled.ci.defs",
"lexicon": 1
}
Metadata
- DID
-
did:plc:wshs7t2adsemcrrd4snkeqli - CID
-
bafyreifdgsa5sfvbwxxqdvsiiskgv7w6clvk6tgpermitz5ciabv4vch2m - Indexed At
- 2026-10-28 14:06 UTC
- AT-URI
-
at://did:plc:wshs7t2adsemcrrd4snkeqli/com.atproto.lexicon.schema/org.tangled.ci.defs
Referenced Schemas (4)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A pipeline the spindle started on a workflow's cron schedule.
-
org.tangled.ci.triggerPipeline procedure
Trigger a pipeline at an explicit commit. Runs the named workflows, or every workflow defined in the repo when none are named.