dev.knotless.check
Kept in the runner's account, keyed `<owner hash>.<repo key>.<ref hash>.<commit>.<workflow>`, where each hash is the first 26 characters of the lowercase unpadded base32 SHA-256 of the owner's DID or the full ref name (for a pull's run, the pull's AT-URI), so each commit keeps its own check of each workflow, replaced only when that commit runs again. A pull's run is keyed `<owner hash>.<repo key>.<pull hash>.<commit>.<baseCommit>.<workflow>`, so a run against a newer base is a check of its own. A merge queue's batch's run is keyed the same way, with the hash of `queue <branch>` (the branch's full ref name) in place of the pull's, its last commit and the branch's tip it was built on. A runner may delete checks of no more use: a batch's, a closed pull's, ones superseded by a newer run of the same workflow, and the default branch's after a while. Readers trust only a runner the repository names.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | knotless.dev |
| Indexed |
Record
record · key anyProperties
baseCommit
stringFor a pull's run, the hex object ID of the tip of the branch the pull is into that its head was merged with: the run is of that merge, as merging the pull would make it, so it is current only while both the head and the base are where they were. For a batch's run, the tip of the branch the batch was built on.
minLength: 40maxLength: 64
batch
arrayFor a run of a merge queue's batch (dev.knotless.queue): the pulls it would land, in order, each squashed as a commit of its own onto `baseCommit`, the tip of the branch `ref` names, and `commit` the last of them. Once every run of the batch passes, the branch moves to `commit`.
maxLength: 64
The hex object ID the ref pointed at.
minLength: 40maxLength: 64
error
stringWhy the workflow did not run: for `error`, or for a `failure` of a pull that does not merge, the paths that conflict.
maxLength: 4096
finishedAt
string · datetimegeneration
integerThe ref's generation at that commit.
minimum: 1
log
blobEvery step's output, interleaved as it was written; the tail, when there was more.
maxSize: 1000000accept: text/plain
outputs
arrayWhat the run made to be looked at, such as screenshots of the pages a change moved, in the order of their names. Kinds unknown to a reader are passed over.
maxLength: 32
pull
string · at-uriThe dev.knotless.pull record, for a run of the pull's head.
queue
stringFor a pull's run, where its workflow runs in the merge queue, when not only on each batch: `first`, as the workflow's `queue: first` asks, is a pre-flight, which a queued pull must pass at its head before it goes into a batch.
maxLength: 64knownValues: first
The full ref name the run was for, such as refs/heads/main; for a pull's run, its head branch in the repository the pull brings it from.
maxLength: 1024
The repository whose ref moved, or the target of the pull.
skipped
stringFor a `success` that ran no step: why, as people read it, such as the paths its workflow names, none of which the change touched. Its steps are then each `skipped`.
maxLength: 4000maxGraphemes: 1000
`queued` is a run filed and waiting for a job on its runner, no step started yet: it is filed `running` once it starts, its `startedAt` then. `failure` is a step that exited non-zero or ran out of time, or a pull's head that conflicts with its base; `error` is the runner failing to run the workflow at all; `cancelled` is a run stopped before it finished: for a newer commit's run of the workflow on the same ref or pull, as its pull moved to another head or base or closed, as the merge queue dropped its batch, or as the runner stopped. A `success` with `skipped` ran no step, as the change touched none of the paths the workflow names, and passes as any `success` does.
maxLength: 64knownValues: queued | running | success | failure | error | cancelled
steps
arrayThe workflow's name, which is also the last part of the record key.
maxLength: 64
#batched
objectA pull in a merge queue's batch, as the run squashed it.
#image
objectA picture a run made, as an output.
#step
objectProperties
durationMs
integerHow long the step ran, in milliseconds.
minimum: 0
exitCode
integerAbsent when the step was killed, for running out of time or as its run was cancelled.
The step's name in the workflow, or `step <n>` for one with none.
maxLength: 256
`cancelled` is the step running when its run was cancelled.
maxLength: 64knownValues: success | failure | skipped | cancelled
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
dev.knotless.queue
recordA pull put in the merge queue of the branch it targets, taken out of it, or turned away by the runner that lands the queue.
-
dev.knotless.getCheck
queryA check of one of a repository's workflows.
-
dev.knotless.getQueue
queryA repository's merge queues.
-
dev.knotless.listRuns
queryWhat a repository's runners ran: every run of its workflows, and the workflows themselves.
-
dev.knotless.state
recordA pull or issue opened, closed or merged, or a pull pointed at another target branch; or a thread on a pull's lines resolved or opened again.