dev.knotless.queue

lexicons.knotless.dev

Documentation

Kept in the account of whoever wrote it; for a private repository, in their repo inside the repository's space. Readers take the latest about a pull from the repository's owner or a collaborator, who may merge it, and from no one else. A pull is in the queue while that is `queued` and the pull is open, in the order of those records' keys. A runner the repository names takes queued pulls in that order, a few at a time, squashes each onto the branch as a commit of its own, runs the workflows that run on a pull into the branch once, at the last of them, and once those pass moves the branch there, marking each pull `merged` with a dev.knotless.state. One that does not apply, or that its checks find breaks the branch, it marks `ejected`.

main record

Kept in the account of whoever wrote it; for a private repository, in their repo inside the repository's space. Readers take the latest about a pull from the repository's owner or a collaborator, who may merge it, and from no one else. A pull is in the queue while that is `queued` and the pull is open, in the order of those records' keys. A runner the repository names takes queued pulls in that order, a few at a time, squashes each onto the branch as a commit of its own, runs the workflows that run on a pull into the branch once, at the last of them, and once those pass moves the branch there, marking each pull `merged` with a dev.knotless.state. One that does not apply, or that its checks find breaks the branch, it marks `ejected`.

Record Key tid Timestamp-based ID

Properties

checks array of ref #failedCheck Optional

For `ejected` by a batch that failed its checks, those that did not pass.

maxLength: 64 items
commit string Optional

For `ejected`, the hex object ID of the pull's head that was turned away.

maxLength: 64 bytesminLength: 40 bytes
createdAt string datetime Required

An RFC 3339 formatted timestamp.

reason string Optional

For `ejected`, why: the paths it conflicts in, or the checks that failed and where to read their logs.

maxLength: 4096 bytesmaxGraphemes: 1000 graphemes
state string Required

`queued` puts the pull at the back of the queue; `left` takes it out; `ejected` is the runner turning it away, saying why in `reason`.

maxLength: 64 bytes
Known values: queued, left, ejected
subject string at-uri Required

The dev.knotless.pull queued, taken out or turned away.

View raw schema
{
  "description": "Kept in the account of whoever wrote it; for a private repository, in their repo inside the repository's space. Readers take the latest about a pull from the repository's owner or a collaborator, who may merge it, and from no one else. A pull is in the queue while that is `queued` and the pull is open, in the order of those records' keys. A runner the repository names takes queued pulls in that order, a few at a time, squashes each onto the branch as a commit of its own, runs the workflows that run on a pull into the branch once, at the last of them, and once those pass moves the branch there, marking each pull `merged` with a dev.knotless.state. One that does not apply, or that its checks find breaks the branch, it marks `ejected`.",
  "key": "tid",
  "record": {
    "properties": {
      "checks": {
        "description": "For `ejected` by a batch that failed its checks, those that did not pass.",
        "items": {
          "ref": "#failedCheck",
          "type": "ref"
        },
        "maxLength": 64,
        "type": "array"
      },
      "commit": {
        "description": "For `ejected`, the hex object ID of the pull's head that was turned away.",
        "maxLength": 64,
        "minLength": 40,
        "type": "string"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "reason": {
        "description": "For `ejected`, why: the paths it conflicts in, or the checks that failed and where to read their logs.",
        "maxGraphemes": 1000,
        "maxLength": 4096,
        "type": "string"
      },
      "repo": {
        "description": "The repository the pull is on.",
        "ref": "dev.knotless.defs#repoRef",
        "type": "ref"
      },
      "state": {
        "description": "`queued` puts the pull at the back of the queue; `left` takes it out; `ejected` is the runner turning it away, saying why in `reason`.",
        "knownValues": [
          "queued",
          "left",
          "ejected"
        ],
        "maxLength": 64,
        "type": "string"
      },
      "subject": {
        "description": "The dev.knotless.pull queued, taken out or turned away.",
        "format": "at-uri",
        "type": "string"
      }
    },
    "required": [
      "repo",
      "subject",
      "state",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
failedCheck object

A run of the batch that did not pass, as the runner filed it.

Properties

check string at-uri Optional

The dev.knotless.check record of the run, with its steps and log.

status string Optional

How it ended, as dev.knotless.check's status says.

maxLength: 64 bytes
Known values: failure, error, cancelled
workflow string Required

The workflow's name, as its file in .knotless/workflows names it.

maxLength: 256 bytes
View raw schema
{
  "description": "A run of the batch that did not pass, as the runner filed it.",
  "properties": {
    "check": {
      "description": "The dev.knotless.check record of the run, with its steps and log.",
      "format": "at-uri",
      "type": "string"
    },
    "status": {
      "description": "How it ended, as dev.knotless.check's status says.",
      "knownValues": [
        "failure",
        "error",
        "cancelled"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "workflow": {
      "description": "The workflow's name, as its file in .knotless/workflows names it.",
      "maxLength": 256,
      "type": "string"
    }
  },
  "required": [
    "workflow"
  ],
  "type": "object"
}

Lexicon Garden

@