full diff

dev.knotless.check

From
bafyreifkgxw4uzha5r64m7b5yo6qog3j2gehn2d4ew2i427xcdeivbjvce indexed 2026-10-28 21:21 UTC View this version
To
bafyreihn2rnl7lgu3c2pwbfnrv4vq4q2prq2nbcatgbg5ue4ylkeuobgty indexed 2026-11-03 03:00 UTC View this version

Compatibility

backward compatible No changes detected.

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "batched": {
55 "description": "A pull in a merge queue's batch, as the run squashed it.",
66 "properties": {
77 "commit": {
88 "description": "The hex object ID of the pull's own commit in the batch.",
99 "maxLength": 64,
1010 "minLength": 40,
1111 "type": "string"
1212 },
1313 "head": {
1414 "description": "The hex object ID of the pull's head that was squashed.",
1515 "maxLength": 64,
1616 "minLength": 40,
1717 "type": "string"
1818 },
1919 "pull": {
2020 "description": "The dev.knotless.pull record.",
2121 "format": "at-uri",
2222 "type": "string"
2323 }
2424 },
2525 "required": [
2626 "pull",
2727 "commit"
2828 ],
2929 "type": "object"
3030 },
3131 "image": {
3232 "description": "A picture a run made, as an output.",
3333 "properties": {
3434 "alt": {
3535 "description": "What the picture shows, from its file's name, for whoever reads it without seeing it: a person or an agent.",
3636 "maxGraphemes": 300,
3737 "maxLength": 3000,
3838 "type": "string"
3939 },
4040 "image": {
4141 "accept": [
4242 "image/png",
4343 "image/jpeg",
4444 "image/webp",
4545 "image/gif"
4646 ],
4747 "maxSize": 1000000,
4848 "type": "blob"
4949 }
5050 },
5151 "required": [
5252 "image",
5353 "alt"
5454 ],
5555 "type": "object"
5656 },
5757 "main": {
58 "description": "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 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.",
58 "description": "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.",
5959 "key": "any",
6060 "record": {
6161 "properties": {
6262 "baseCommit": {
63 "description": "For 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.",
63 "description": "For 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.",
6464 "maxLength": 64,
6565 "minLength": 40,
6666 "type": "string"
6767 },
6868 "batch": {
6969 "description": "For 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`.",
7070 "items": {
7171 "ref": "#batched",
7272 "type": "ref"
7373 },
7474 "maxLength": 64,
7575 "type": "array"
7676 },
7777 "commit": {
7878 "description": "The hex object ID the ref pointed at.",
7979 "maxLength": 64,
8080 "minLength": 40,
8181 "type": "string"
8282 },
8383 "error": {
8484 "description": "Why the workflow did not run: for `error`, or for a `failure` of a pull that does not merge, the paths that conflict.",
8585 "maxLength": 4096,
8686 "type": "string"
8787 },
8888 "finishedAt": {
8989 "format": "datetime",
9090 "type": "string"
9191 },
9292 "generation": {
9393 "description": "The ref's generation at that commit.",
9494 "minimum": 1,
9595 "type": "integer"
9696 },
9797 "log": {
9898 "accept": [
9999 "text/plain"
100100 ],
101101 "description": "Every step's output, interleaved as it was written; the tail, when there was more.",
102102 "maxSize": 1000000,
103103 "type": "blob"
104104 },
105105 "outputs": {
106106 "description": "What 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.",
107107 "items": {
108108 "refs": [
109109 "#image"
110110 ],
111111 "type": "union"
112112 },
113113 "maxLength": 32,
114114 "type": "array"
115115 },
116116 "pull": {
117117 "description": "The dev.knotless.pull record, for a run of the pull's head.",
118118 "format": "at-uri",
119119 "type": "string"
120120 },
121121 "queue": {
122122 "description": "For 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.",
123123 "knownValues": [
124124 "first"
125125 ],
126126 "maxLength": 64,
127127 "type": "string"
128128 },
129129 "ref": {
130130 "description": "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.",
131131 "maxLength": 1024,
132132 "type": "string"
133133 },
134134 "repo": {
135135 "description": "The repository whose ref moved, or the target of the pull.",
136136 "ref": "dev.knotless.defs#repoRef",
137137 "type": "ref"
138138 },
139139 "skipped": {
140140 "description": "For 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`.",
141141 "maxGraphemes": 1000,
142142 "maxLength": 4000,
143143 "type": "string"
144144 },
145145 "startedAt": {
146146 "format": "datetime",
147147 "type": "string"
148148 },
149149 "status": {
150 "description": "`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 for a newer commit's run of the workflow on the same ref or pull. A `success` with `skipped` ran no step, as the change touched none of the paths the workflow names, and passes as any `success` does.",
150 "description": "`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.",
151151 "knownValues": [
152152 "queued",
153153 "running",
154154 "success",
155155 "failure",
156156 "error",
157157 "cancelled"
158158 ],
159159 "maxLength": 64,
160160 "type": "string"
161161 },
162162 "steps": {
163163 "description": "Each step the workflow has, in order. Absent for `error`.",
164164 "items": {
165165 "ref": "#step",
166166 "type": "ref"
167167 },
168168 "maxLength": 256,
169169 "type": "array"
170170 },
171171 "workflow": {
172172 "description": "The workflow's name, which is also the last part of the record key.",
173173 "maxLength": 64,
174174 "type": "string"
175175 }
176176 },
177177 "required": [
178178 "repo",
179179 "ref",
180180 "commit",
181181 "workflow",
182182 "status",
183183 "startedAt"
184184 ],
185185 "type": "object"
186186 },
187187 "type": "record"
188188 },
189189 "step": {
190190 "properties": {
191191 "durationMs": {
192192 "description": "How long the step ran, in milliseconds.",
193193 "minimum": 0,
194194 "type": "integer"
195195 },
196196 "exitCode": {
197 "description": "Absent when the step was killed for running out of time.",
197 "description": "Absent when the step was killed, for running out of time or as its run was cancelled.",
198198 "type": "integer"
199199 },
200200 "name": {
201201 "description": "The step's name in the workflow, or `step <n>` for one with none.",
202202 "maxLength": 256,
203203 "type": "string"
204204 },
205205 "status": {
206206 "description": "`cancelled` is the step running when its run was cancelled.",
207207 "knownValues": [
208208 "success",
209209 "failure",
210210 "skipped",
211211 "cancelled"
212212 ],
213213 "maxLength": 64,
214214 "type": "string"
215215 }
216216 },
217217 "required": [
218218 "name",
219219 "status"
220220 ],
221221 "type": "object"
222222 }
223223 },
224224 "description": "What a workflow did at a commit a ref pointed at, or at the head of a pull, as the runner that ran it reports.",
225225 "id": "dev.knotless.check",
226226 "lexicon": 1
227227}

Compare other versions