Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -651,6 +651,10 @@ const ToolTasks: ToolTasksApi
single release binary and `ToolTasks.npm(...)` a single npm package; group
several of either with {@link toolchain}.

const ZUKE_ACTION: "zuke-build/zuke"
The name a {@link CiPinResolver} is asked for the prelude action, so a
repository that pins its own actions can pin this one the same way.

const defaultRenderer: Renderer
The built-in renderer: Zuke's ruled headers and summary table.

Expand Down Expand Up @@ -2064,6 +2068,34 @@ interface CiActionRef
version?: string
The version the SHA corresponds to, e.g. `v7.0.1`.

interface CiBootstrap
The single step every GitHub job starts with: the `zuke-build/zuke` composite
action, which hardens the runner, checks the repository out, and installs
Deno if asked — the three steps a Zuke job used to spell out separately.

It is the default because those three are not three decisions. They are one
prelude whose parts only work in one order, and writing them out three times
per workflow meant three pinned SHAs to keep current in every generated file
rather than one, inside an action that is itself versioned and tested.

The {@link CiHardenRunner} and {@link CiCheckout} options are still how a job
configures it — they become the action's inputs. What changes is how many
steps that renders, not what a build declares. A job that opts out of either
with `harden: false` or `checkout: false` falls back to the separate steps,
since one action cannot do half of itself.

action?: CiUses
The pinned action reference. Defaults to the release this version of Zuke
was built against, or to whatever a `pins` resolver returns for
{@link ZUKE_ACTION} — which is the form to prefer, because a pin baked into
a published package goes stale between releases and a bot's bump to the
generated file would be reverted by the next regeneration.
denoVersion?: string
Install this Deno version, for a job that runs `deno` directly rather than
through the `./zuke` launcher (which bootstraps its own).
name?: string
The step name. Defaults to `"Harden and check out with Zuke"`.

interface CiCheckout
The repository checkout, emitted as an `actions/checkout` step after any
{@link CiHardenRunner} and before the job's own steps. Like hardening, the
Expand Down Expand Up @@ -2210,6 +2242,8 @@ interface CiInvocation
Harden this job's runner, overriding the pipeline default.
checkout?: CiCheckout | false
Check out in this job, overriding the pipeline default.
bootstrap?: CiBootstrap | false
The prelude action for this job, overriding the pipeline default.
if?: string
A condition gating the job.
env?: Record<string, string>
Expand Down Expand Up @@ -2258,6 +2292,9 @@ interface CiJob
checkout?: CiCheckout | false
Check the repository out before this job's steps. Overrides
{@link CiPipeline.checkout}; pass `false` to opt out.
bootstrap?: CiBootstrap | false
The prelude action for this job. Overrides {@link CiPipeline.bootstrap};
pass `false` to render hardening and checkout as separate steps instead.
env?: Record<string, string>
Environment variables for the job.
if?: string
Expand Down Expand Up @@ -2293,6 +2330,10 @@ interface CiPipeline
checkout?: CiCheckout
Check the repository out in every job, unless a job overrides it or opts out
with `checkout: false`. GitHub only.
bootstrap?: CiBootstrap | false
The prelude action every job starts with, unless a job says otherwise with
`bootstrap: false`. Defaults to the `zuke-build/zuke` action; see
{@link CiBootstrap}. GitHub only.
jobs?: CiJob[]
The jobs to run. Defaults to a single `build` job that runs the build.

Expand Down
58 changes: 58 additions & 0 deletions src/data/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -1171,6 +1171,36 @@
}
]
},
{
"name": "CiBootstrap",
"kind": "interface",
"doc": "The single step every GitHub job starts with: the `zuke-build/zuke` composite\naction, which hardens the runner, checks the repository out, and installs\nDeno if asked — the three steps a Zuke job used to spell out separately.\n\nIt is the default because those three are not three decisions. They are one\nprelude whose parts only work in one order, and writing them out three times\nper workflow meant three pinned SHAs to keep current in every generated file\nrather than one, inside an action that is itself versioned and tested.\n\nThe {@link CiHardenRunner} and {@link CiCheckout} options are still how a job\nconfigures it — they become the action's inputs. What changes is how many\nsteps that renders, not what a build declares. A job that opts out of either\nwith `harden: false` or `checkout: false` falls back to the separate steps,\nsince one action cannot do half of itself.",
"signature": "interface CiBootstrap",
"deprecated": false,
"members": [
{
"name": "action",
"kind": "property",
"optional": true,
"signature": "action?: CiUses",
"doc": "The pinned action reference. Defaults to the release this version of Zuke\nwas built against, or to whatever a `pins` resolver returns for\n{@link ZUKE_ACTION} — which is the form to prefer, because a pin baked into\na published package goes stale between releases and a bot's bump to the\ngenerated file would be reverted by the next regeneration."
},
{
"name": "denoVersion",
"kind": "property",
"optional": true,
"signature": "denoVersion?: string",
"doc": "Install this Deno version, for a job that runs `deno` directly rather than\nthrough the `./zuke` launcher (which bootstraps its own)."
},
{
"name": "name",
"kind": "property",
"optional": true,
"signature": "name?: string",
"doc": "The step name. Defaults to `\"Harden and check out with Zuke\"`."
}
]
},
{
"name": "cicd",
"kind": "function",
Expand Down Expand Up @@ -1510,6 +1540,13 @@
"signature": "checkout?: CiCheckout | false",
"doc": "Check out in this job, overriding the pipeline default."
},
{
"name": "bootstrap",
"kind": "property",
"optional": true,
"signature": "bootstrap?: CiBootstrap | false",
"doc": "The prelude action for this job, overriding the pipeline default."
},
{
"name": "if",
"kind": "property",
Expand Down Expand Up @@ -1631,6 +1668,13 @@
"signature": "checkout?: CiCheckout | false",
"doc": "Check the repository out before this job's steps. Overrides\n{@link CiPipeline.checkout}; pass `false` to opt out."
},
{
"name": "bootstrap",
"kind": "property",
"optional": true,
"signature": "bootstrap?: CiBootstrap | false",
"doc": "The prelude action for this job. Overrides {@link CiPipeline.bootstrap};\npass `false` to render hardening and checkout as separate steps instead."
},
{
"name": "env",
"kind": "property",
Expand Down Expand Up @@ -1717,6 +1761,13 @@
"signature": "checkout?: CiCheckout",
"doc": "Check the repository out in every job, unless a job overrides it or opts out\nwith `checkout: false`. GitHub only."
},
{
"name": "bootstrap",
"kind": "property",
"optional": true,
"signature": "bootstrap?: CiBootstrap | false",
"doc": "The prelude action every job starts with, unless a job says otherwise with\n`bootstrap: false`. Defaults to the `zuke-build/zuke` action; see\n{@link CiBootstrap}. GitHub only."
},
{
"name": "jobs",
"kind": "property",
Expand Down Expand Up @@ -7462,6 +7513,13 @@
"doc": "The resolution strategy the wrapper must use when nothing overrides it:\n`\"node_modules\"` for a JS-ecosystem tool installed under `node_modules`,\n`\"path\"` for a natively installed one. Required, with no default: an\nnpm-distributed wrapper that forgot to override `defaultResolution()` is\nexactly the bug this kit exists to catch, and a default would let that\nwrapper's test pass by saying nothing."
}
]
},
{
"name": "ZUKE_ACTION",
"kind": "variable",
"doc": "The name a {@link CiPinResolver} is asked for the prelude action, so a\nrepository that pins its own actions can pin this one the same way.",
"signature": "const ZUKE_ACTION: zuke-build/zuke",
"deprecated": false
}
]
},
Expand Down
Loading