@kici-dev/compiler 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +37 -7
- package/dist/commands/approve.d.ts +12 -0
- package/dist/commands/approve.js +5 -2
- package/dist/commands/compile.js +4 -2
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/endpoints.js +4 -6
- package/dist/commands/held-run-client.d.ts +21 -1
- package/dist/commands/held-run-client.js +34 -15
- package/dist/commands/hook.js +22 -20
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.js +2 -1
- package/dist/commands/init.d.ts +9 -2
- package/dist/commands/init.js +43 -16
- package/dist/commands/login.js +1 -1
- package/dist/commands/orchestrators.js +3 -2
- package/dist/commands/reject.d.ts +12 -0
- package/dist/commands/reject.js +5 -2
- package/dist/commands/report/collect.d.ts +82 -0
- package/dist/commands/report/collect.js +234 -0
- package/dist/commands/report/identity.d.ts +48 -0
- package/dist/commands/report/identity.js +49 -0
- package/dist/commands/report/index.d.ts +63 -0
- package/dist/commands/report/index.js +119 -0
- package/dist/commands/report/upload.d.ts +38 -0
- package/dist/commands/report/upload.js +64 -0
- package/dist/commands/run-hold-watch.js +2 -2
- package/dist/commands/run.js +6 -3
- package/dist/commands/runs/show.js +80 -1
- package/dist/commands/types.js +51 -8
- package/dist/execution/sdk-alias.js +4 -2
- package/dist/fixtures/compiler.js +2 -1
- package/dist/format.js +3 -3
- package/dist/generators/secrets-dts.d.ts +8 -2
- package/dist/generators/secrets-dts.js +3 -2
- package/dist/hooks/installer.js +2 -1
- package/dist/llm-context/llms-architecture.txt +35 -13
- package/dist/llm-context/llms-cli.txt +142 -28
- package/dist/llm-context/llms-features-execution.txt +2017 -0
- package/dist/llm-context/llms-features.txt +298 -1483
- package/dist/llm-context/llms-full.txt +3008 -1698
- package/dist/llm-context/llms-getting-started.txt +145 -12
- package/dist/llm-context/llms-patterns.txt +176 -1
- package/dist/llm-context/llms-providers.txt +11 -27
- package/dist/llm-context/llms-sdk-runtime.txt +25 -4
- package/dist/llm-context/llms-sdk.txt +31 -1
- package/dist/llm-context/llms.txt +22 -14
- package/dist/local-plane/paths.d.ts +15 -0
- package/dist/local-plane/paths.js +22 -1
- package/dist/local-plane/plane-manager.js +2 -2
- package/dist/local-plane/port-holder.js +1 -1
- package/dist/local-plane/postgres.d.ts +3 -16
- package/dist/local-plane/postgres.js +10 -15
- package/dist/lockfile/generator.d.ts +12 -0
- package/dist/lockfile/generator.js +47 -14
- package/dist/postinstall.js +2 -1
- package/dist/remote/config.d.ts +2 -15
- package/dist/remote/config.js +2 -16
- package/dist/remote/dashboard-client.d.ts +39 -0
- package/dist/remote/dashboard-client.js +41 -0
- package/dist/remote/oauth.js +7 -5
- package/dist/remote/uploader.js +2 -2
- package/dist/templates/package-json.js +1 -1
- package/dist/test-runner/dry-run.js +4 -2
- package/dist/test-runner/git-detector.js +2 -1
- package/dist/test-runner/job-executor.js +2 -1
- package/dist/test-runner/payload-builder.js +11 -17
- package/dist/types.d.ts +33 -3
- package/dist/validation/validator.js +23 -6
- package/package.json +16 -11
- package/sbom.spdx.json +953 -901
|
@@ -340,8 +340,11 @@ kici logout
|
|
|
340
340
|
This:
|
|
341
341
|
|
|
342
342
|
1. Revokes the PAT on the server (preventing further use)
|
|
343
|
-
2.
|
|
344
|
-
3.
|
|
343
|
+
2. Detaches the local dev plane if it is attached, so a logged-out user is not left with a hybrid plane holding an orphaned orchestrator key
|
|
344
|
+
3. Clears the auth fields from the local config file — the PAT, its id and expiry, your email, and the active organization
|
|
345
|
+
4. Preserves the connection settings (per-org default clusters, Platform endpoint, orchestrator endpoint, OIDC issuer, routing key)
|
|
346
|
+
|
|
347
|
+
Server revocation is best-effort: if the network call fails, the local config is still cleared.
|
|
345
348
|
|
|
346
349
|
## Organization management
|
|
347
350
|
|
|
@@ -502,11 +505,13 @@ Every `/api/v1/*` mutation that touches tenant-plane data is recorded in the ups
|
|
|
502
505
|
|
|
503
506
|
The CLI stores authentication data in `~/.kici/config` with `0600` permissions (owner read/write only). The config file contains:
|
|
504
507
|
|
|
505
|
-
- PAT token
|
|
506
|
-
-
|
|
508
|
+
- PAT token, its server-side id, and its expiry date
|
|
509
|
+
- The email address from your OIDC token
|
|
507
510
|
- Active organization ID
|
|
508
511
|
- Per-org default orchestrator clusters
|
|
509
|
-
- Platform endpoint URL
|
|
512
|
+
- Platform endpoint URL, orchestrator endpoint URL, and the OIDC issuer the PAT was minted against
|
|
513
|
+
- Routing key for webhook source identification
|
|
514
|
+
- API key, when you logged in with `--token`
|
|
510
515
|
|
|
511
516
|
## Troubleshooting
|
|
512
517
|
|
|
@@ -540,11 +545,11 @@ Two ways forward:
|
|
|
540
545
|
|
|
541
546
|
A port below 1024 fails the same way, with a permissions message rather than an "in use" one: those ports need elevated privileges. Pick a port above 1024. A value that is not a port number at all — non-numeric, negative, or above 65535 — is rejected before the login starts, naming the value you set.
|
|
542
547
|
|
|
543
|
-
### Device
|
|
548
|
+
### Device code expired
|
|
544
549
|
|
|
545
550
|
This is the device flow's own expiry, not the browser flow's callback timeout above.
|
|
546
551
|
|
|
547
|
-
The device
|
|
552
|
+
The device code is issued by the identity provider, which also sets how long it lives. The CLI prints the lifetime with the code (`Code expires in N minutes`) and polls until you approve or the code expires. On expiry it stops with `Device code expired`. If that happens:
|
|
548
553
|
|
|
549
554
|
- Run `kici login --device` again to get a new code
|
|
550
555
|
- Ensure you're using the correct URL displayed by the CLI
|
|
@@ -605,7 +610,7 @@ The full command reference is split by area:
|
|
|
605
610
|
- [Authoring & local dev](https://docs.kici.dev/user/cli/authoring-and-local/) — `compile`, `preview`, `local`, `fixture`, `types`, `workflows`, `hook`, `docs`
|
|
606
611
|
- [Runs & approvals](https://docs.kici.dev/user/cli/runs-and-approvals/) — `run`, `runs`, `reject`, `approve`
|
|
607
612
|
- [Account & org](https://docs.kici.dev/user/cli/account-and-org/) — `login`, `logout`, `init`, `org`, `pat`, `secrets`, `admin`, `orchestrators`, `endpoints`
|
|
608
|
-
- [Notifications & diagnostics](https://docs.kici.dev/user/cli/notifications-and-diagnostics/) — `notifications`, `verify-attestation`, `diagnostics`, `doctor`
|
|
613
|
+
- [Notifications & diagnostics](https://docs.kici.dev/user/cli/notifications-and-diagnostics/) — `notifications`, `verify-attestation`, `diagnostics`, `doctor`, `report`
|
|
609
614
|
|
|
610
615
|
Each area page carries a `## Guide` section (worked examples and command-by-command narrative) and a `## Reference` section (the always-current generated signature list for that area's commands).
|
|
611
616
|
|
|
@@ -1166,6 +1171,7 @@ Step entries carry their own capability flags, so the orchestrator can reason ab
|
|
|
1166
1171
|
|
|
1167
1172
|
| Flag | Meaning |
|
|
1168
1173
|
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1174
|
+
| `hasOutputs` | The step declares an output schema, so the run has typed outputs to record for it. Present on every step entry. |
|
|
1169
1175
|
| `hasCheck` | The step declares an idempotent `check` facet, so a run can be dispatched in check mode. See [idempotent steps and check mode](https://docs.kici.dev/user/idempotent-steps/). |
|
|
1170
1176
|
| `hasWhenInSync` | The step declares a `whenInSync` facet that produces its outputs when `check` reports no drift. |
|
|
1171
1177
|
| `hasRules` | The step has conditional rules (evaluated agent-side). |
|
|
@@ -1787,7 +1793,7 @@ export const pushMain = fixture('push-main', {
|
|
|
1787
1793
|
|
|
1788
1794
|
Source: https://docs.kici.dev/user/workflow-patterns/
|
|
1789
1795
|
|
|
1790
|
-
Practical patterns for building real-world KiCI workflows in TypeScript. The patterns are organised across
|
|
1796
|
+
Practical patterns for building real-world KiCI workflows in TypeScript. The patterns are organised across seven pages -- start with [Basic CI](https://docs.kici.dev/user/patterns/basic/) if you're new, or jump to [Integrations](https://docs.kici.dev/user/patterns/integrations/) if you're wiring up a non-GitHub forge or a generic webhook.
|
|
1791
1797
|
|
|
1792
1798
|
| Page | Covers |
|
|
1793
1799
|
| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -1795,6 +1801,8 @@ Practical patterns for building real-world KiCI workflows in TypeScript. The pat
|
|
|
1795
1801
|
| [Conditionals & matrix](https://docs.kici.dev/user/patterns/conditionals-matrix/) | Conditional execution with rules, matrix builds (static + dynamic), and dynamic job generation. |
|
|
1796
1802
|
| [Integrations](https://docs.kici.dev/user/patterns/integrations/) | Workflow chaining, generic webhooks, Stripe handlers, self-hosted git forges (Forgejo / Gitea / Gogs), plain GitHub repo webhooks (no GitHub App). |
|
|
1797
1803
|
| [Scheduling & events](https://docs.kici.dev/user/patterns/scheduling-and-events/) | Nightly cron, workflow-complete-triggered deploys, custom event chaining. |
|
|
1804
|
+
| [Git credentials](https://docs.kici.dev/user/patterns/git-credentials/) | Declaring named git credentials from the secrets backend, and pushing from a job (including to the job's own repository). |
|
|
1805
|
+
| [Host restart](https://docs.kici.dev/user/patterns/host-restart/) | `restartHost()` and `waitForHostAlive()` -- reboot the host a workflow runs on and resume in a second job pinned to the same host. |
|
|
1798
1806
|
| [Pattern reference](https://docs.kici.dev/user/patterns/reference/) | Step context, the examples repository, and GitHub check run output -- cross-cutting reference shared by every pattern above. |
|
|
1799
1807
|
|
|
1800
1808
|
## See also
|
|
@@ -2153,7 +2161,6 @@ Synopsis: `kici init [options]`
|
|
|
2153
2161
|
| `--private-registry <url>` | | Scaffold a workflow registries: entry pointing at <url> |
|
|
2154
2162
|
| `--private-registry-scope <scope>` | | Optional npm package scope (e.g. @my-org) for the private registry |
|
|
2155
2163
|
| `--private-registry-secret <ref>` | `production:NPM_TOKEN` | Qualified secret reference (env:NAME) the private registry token comes from |
|
|
2156
|
-
| `--use-verdaccio-local` | `false` | |
|
|
2157
2164
|
|
|
2158
2165
|
### `kici login`
|
|
2159
2166
|
|
|
@@ -2428,7 +2435,7 @@ Generate a fixture template for an event type. Useful for creating custom test p
|
|
|
2428
2435
|
kici fixture <event> [options]
|
|
2429
2436
|
```
|
|
2430
2437
|
|
|
2431
|
-
**Valid events:** `pr:open`, `pr:sync`, `pr:close`, `pr:reopen`, `push`, `tag`, `comment`, `review`, `review_comment`, `release`, `dispatch`, `create`, `delete`, `status`, `workflow_run`, `fork`, `star`, `watch`, `kici_event`, `workflow_complete`, `job_complete`, `generic_webhook`, `schedule`, `lifecycle` (many support `:action` suffixes, e.g. `comment:edited`, `release:published`, `lifecycle:workflow_complete`). `webhook:<source>` is a shorthand alias for `generic_webhook:<source>`.
|
|
2438
|
+
**Valid events:** `pr:open`, `pr:sync`, `pr:close`, `pr:reopen`, `push`, `tag`, `comment`, `review`, `review_comment`, `release`, `dispatch`, `create`, `delete`, `status`, `workflow_run`, `fork`, `star`, `watch`, `kici_event`, `workflow_complete`, `workflows_failed_batch`, `job_complete`, `generic_webhook`, `schedule`, `lifecycle` (many support `:action` suffixes, e.g. `comment:edited`, `release:published`, `lifecycle:workflow_complete`). `webhook:<source>` is a shorthand alias for `generic_webhook:<source>`.
|
|
2432
2439
|
|
|
2433
2440
|
**Examples:**
|
|
2434
2441
|
|
|
@@ -2458,7 +2465,7 @@ Generate TypeScript declaration files from orchestrator environment metadata. Th
|
|
|
2458
2465
|
kici types [options]
|
|
2459
2466
|
```
|
|
2460
2467
|
|
|
2461
|
-
**Prerequisites:**
|
|
2468
|
+
**Prerequisites:** Authenticate via `kici login` to fetch the real key set. Without it, `kici types` writes an empty stub (see "Offline behavior" below).
|
|
2462
2469
|
|
|
2463
2470
|
**Output:** `.kici/types/secrets.d.ts`
|
|
2464
2471
|
|
|
@@ -2480,7 +2487,9 @@ kici types --kici-dir packages/app/.kici
|
|
|
2480
2487
|
|
|
2481
2488
|
After generating types, `ctx.secrets.get('MY_KEY')` and `ctx.secrets.expose('DB_HOST')` gain autocomplete and type checking in your IDE.
|
|
2482
2489
|
|
|
2483
|
-
**Git workflow:**
|
|
2490
|
+
**Git workflow:** `.kici/types/secrets.d.ts` is a local development aid, not source — its content is a snapshot of one org's secret keys fetched from the Platform. `kici init` gitignores `.kici/types/`, so the file stays out of version control. Each team member runs `kici types` (or an authenticated `kici compile`) to generate their own copy. Do not commit it: a stale committed copy would type-check against secret keys that no longer exist.
|
|
2491
|
+
|
|
2492
|
+
**Offline behavior:** When the Platform cannot be reached — not logged in, no active org, or offline — `kici types` never fails. If a `secrets.d.ts` already exists, `kici types` keeps it untouched, so a transient outage does not wipe your real key set. If the file is absent (a fresh clone or unauthenticated CI), `kici types` writes a valid empty stub. Type checking then degrades to "no known keys" (any key name is accepted) rather than breaking with "module has no exported member". Run `kici types` again once authenticated to refresh it.
|
|
2484
2493
|
|
|
2485
2494
|
**Auto-regeneration:** `kici compile` automatically runs `kici types` after successful compilation when authenticated. See the [kici compile](https://docs.kici.dev/user/cli/authoring-and-local/#kici-compile) section for details.
|
|
2486
2495
|
|
|
@@ -2565,7 +2574,7 @@ kici docs llm sdk | claude -- "Read this and help me author a deploy workflow"
|
|
|
2565
2574
|
kici docs llm --out kici-llms-index.txt
|
|
2566
2575
|
```
|
|
2567
2576
|
|
|
2568
|
-
Bundles are regenerated from `docs/` every time `@kici-dev/compiler` is built, so they always match your installed CLI version. The index lists each task bundle — `getting-started`, `sdk`, `sdk-runtime`, `cli`, `patterns`, `features`, `providers`, `architecture` — with its size and a one-line purpose; pass the bundle id as the topic. Every cross-reference link inside a bundle is an absolute `docs.kici.dev` URL. The same files are published online following the [llms.txt convention](https://llmstxt.org/).
|
|
2577
|
+
Bundles are regenerated from `docs/` every time `@kici-dev/compiler` is built, so they always match your installed CLI version. The index lists each task bundle — `getting-started`, `sdk`, `sdk-runtime`, `cli`, `patterns`, `features`, `features-execution`, `providers`, `architecture` — with its size and a one-line purpose; pass the bundle id as the topic. Every cross-reference link inside a bundle is an absolute `docs.kici.dev` URL. The same files are published online following the [llms.txt convention](https://llmstxt.org/).
|
|
2569
2578
|
|
|
2570
2579
|
## Reference
|
|
2571
2580
|
|
|
@@ -2963,9 +2972,9 @@ kici diagnostics --json
|
|
|
2963
2972
|
Walk your KiCI setup end to end and print the exact next command for each
|
|
2964
2973
|
problem found. Where `kici diagnostics` shows the org's infrastructure, `kici
|
|
2965
2974
|
doctor` checks **your own setup**: it runs six checks in onboarding order —
|
|
2966
|
-
login (stored, unexpired credentials), active organization, a
|
|
2967
|
-
|
|
2968
|
-
|
|
2975
|
+
login (stored, unexpired credentials), active organization, a present, fresh,
|
|
2976
|
+
and committed lock file, a live token probe against the platform, a connected
|
|
2977
|
+
orchestrator for the org, and whether every workflow's `runsOn` labels are
|
|
2969
2978
|
satisfiable by a connected agent or scaler. Each check reports pass/warn/fail
|
|
2970
2979
|
with the fix command (e.g. `kici login`, `kici org use <name>`,
|
|
2971
2980
|
`kici compile`), so the first failing row tells you exactly what to run next.
|
|
@@ -2987,6 +2996,60 @@ kici doctor --json
|
|
|
2987
2996
|
The command exits `0` when every check passes, `1` when any check warns, and
|
|
2988
2997
|
`2` when any check fails, so it also works as a CI preflight.
|
|
2989
2998
|
|
|
2999
|
+
### kici report
|
|
3000
|
+
|
|
3001
|
+
Gather a diagnostic bundle to share when you report a problem. `kici doctor`
|
|
3002
|
+
tells you what is wrong; `kici report` packages the context somebody else needs
|
|
3003
|
+
to see it. The bundle holds your CLI, Node and orchestrator versions, your
|
|
3004
|
+
redacted configuration, and your project's workflow and lock-file state. With
|
|
3005
|
+
`--run` it also holds the failing run's detail and logs.
|
|
3006
|
+
|
|
3007
|
+
```bash
|
|
3008
|
+
kici report [options]
|
|
3009
|
+
```
|
|
3010
|
+
|
|
3011
|
+
The command writes a ZIP and prints its path and `sha256`. It does not send
|
|
3012
|
+
anything. Open the file and read it before you share it.
|
|
3013
|
+
|
|
3014
|
+
```bash
|
|
3015
|
+
# Bundle your setup
|
|
3016
|
+
kici report
|
|
3017
|
+
|
|
3018
|
+
# Scope it to the run that failed, and say what went wrong
|
|
3019
|
+
kici report --run 8f3c1d2e --message "matrix job hangs on macOS"
|
|
3020
|
+
|
|
3021
|
+
# Choose the output path and attach your own metadata
|
|
3022
|
+
kici report -o /tmp/bug.zip --metadata ticket=1234 --metadata severity=high
|
|
3023
|
+
```
|
|
3024
|
+
|
|
3025
|
+
**Redaction.** KiCI removes known secret shapes — API keys, tokens, `Authorization`
|
|
3026
|
+
headers, private keys, passwords in connection URLs — from configuration and
|
|
3027
|
+
from log text. This is best effort. A secret in a format KiCI does not
|
|
3028
|
+
recognize can survive, so review the bundle before you share it. `--no-redact`
|
|
3029
|
+
turns redaction off and prints a warning; use it only on a bundle you keep.
|
|
3030
|
+
|
|
3031
|
+
**Sending it privately.** Add `--upload` to send the bundle to KiCI over a
|
|
3032
|
+
one-time upload link. The bundle goes straight to KiCI storage, and the command
|
|
3033
|
+
prints a reference id to quote:
|
|
3034
|
+
|
|
3035
|
+
```bash
|
|
3036
|
+
kici report --run 8f3c1d2e --upload --message "matrix job hangs on macOS"
|
|
3037
|
+
```
|
|
3038
|
+
|
|
3039
|
+
Uploads are private, are kept for 90 days, and are yours to withdraw:
|
|
3040
|
+
|
|
3041
|
+
```bash
|
|
3042
|
+
# See what you have sent
|
|
3043
|
+
kici report list
|
|
3044
|
+
|
|
3045
|
+
# Delete an uploaded bundle
|
|
3046
|
+
kici report withdraw <ref>
|
|
3047
|
+
```
|
|
3048
|
+
|
|
3049
|
+
Anyone in your organization can upload a report. By default you see and
|
|
3050
|
+
withdraw your own; a member with the `support:admin` permission can manage
|
|
3051
|
+
every report in the organization.
|
|
3052
|
+
|
|
2990
3053
|
## Reference
|
|
2991
3054
|
|
|
2992
3055
|
<!-- BEGIN GENERATED: kici-notifications-and-diagnostics (do not edit; run the doc generator) -->
|
|
@@ -3194,6 +3257,49 @@ Synopsis: `kici notifications subscriptions remove <id> [options]`
|
|
|
3194
3257
|
| ------------ | ------- | ---------------------------------------------- |
|
|
3195
3258
|
| `--org <id>` | | Target organization (overrides the active org) |
|
|
3196
3259
|
|
|
3260
|
+
### `kici report`
|
|
3261
|
+
|
|
3262
|
+
Gather a redacted diagnostic bundle to share when reporting an issue
|
|
3263
|
+
|
|
3264
|
+
Synopsis: `kici report [options]`
|
|
3265
|
+
|
|
3266
|
+
**Options**
|
|
3267
|
+
|
|
3268
|
+
| Option | Default | Description |
|
|
3269
|
+
| ------------------------ | ------- | ------------------------------------------------------------ |
|
|
3270
|
+
| `--run <id>` | | Scope the bundle to a failing run |
|
|
3271
|
+
| `-o, --output <path>` | | Where to write the bundle ZIP |
|
|
3272
|
+
| `--metadata <key=value>` | | Attach metadata (repeatable) |
|
|
3273
|
+
| `--no-redact` | | Do NOT redact secrets (prints a loud warning) |
|
|
3274
|
+
| `--upload` | | Upload the bundle privately to KiCI and print a reference id |
|
|
3275
|
+
| `--message <text>` | | Describe the problem (sent with --upload) |
|
|
3276
|
+
| `--email <address>` | | Contact address for follow-up (sent with --upload) |
|
|
3277
|
+
| `--kici-dir <path>` | `.kici` | Path to the .kici directory |
|
|
3278
|
+
|
|
3279
|
+
### `kici report list`
|
|
3280
|
+
|
|
3281
|
+
List the issue reports you have uploaded
|
|
3282
|
+
|
|
3283
|
+
Synopsis: `kici report list [options]`
|
|
3284
|
+
|
|
3285
|
+
**Options**
|
|
3286
|
+
|
|
3287
|
+
| Option | Default | Description |
|
|
3288
|
+
| -------- | ------- | --------------- |
|
|
3289
|
+
| `--json` | `false` | Output raw JSON |
|
|
3290
|
+
|
|
3291
|
+
### `kici report withdraw`
|
|
3292
|
+
|
|
3293
|
+
Withdraw an uploaded report and delete its bundle
|
|
3294
|
+
|
|
3295
|
+
Synopsis: `kici report withdraw <ref>`
|
|
3296
|
+
|
|
3297
|
+
**Arguments**
|
|
3298
|
+
|
|
3299
|
+
| Argument | Required | Variadic | Description |
|
|
3300
|
+
| -------- | -------- | -------- | -------------------------------------- |
|
|
3301
|
+
| `ref` | yes | no | Reference id of the report to withdraw |
|
|
3302
|
+
|
|
3197
3303
|
### `kici verify-attestation`
|
|
3198
3304
|
|
|
3199
3305
|
Verify a KiCI provenance attestation bundle offline
|
|
@@ -3509,7 +3615,11 @@ kici runs list --json | jq '.runs[].runId'
|
|
|
3509
3615
|
#### kici runs show
|
|
3510
3616
|
|
|
3511
3617
|
Show a run's summary header plus its jobs-and-steps tree (name, status,
|
|
3512
|
-
duration, exit code).
|
|
3618
|
+
duration, exit code). A run that never started a step also prints why: the
|
|
3619
|
+
run-level failure, and per job the reason it did not run — a job a
|
|
3620
|
+
[context](https://docs.kici.dev/user/contexts/#protection-rules) rejected names the context and the
|
|
3621
|
+
rule. Any approval hold on the run is listed too, with its context, hold type,
|
|
3622
|
+
status and reason. If the run id is not on the Platform but exists in your
|
|
3513
3623
|
local run history (from `kici run <event> --local`), the local record is shown instead.
|
|
3514
3624
|
|
|
3515
3625
|
```bash
|
|
@@ -3690,10 +3800,12 @@ Synopsis: `kici approve <run-id> [options]`
|
|
|
3690
3800
|
|
|
3691
3801
|
**Options**
|
|
3692
3802
|
|
|
3693
|
-
| Option
|
|
3694
|
-
|
|
|
3695
|
-
| `--job <name>`
|
|
3696
|
-
| `--step <index>`
|
|
3803
|
+
| Option | Default | Description |
|
|
3804
|
+
| -------------------- | ------- | -------------------------------------------------------------------------------------------- |
|
|
3805
|
+
| `--job <name>` | | Approve the hold for a specific job |
|
|
3806
|
+
| `--step <index>` | | Approve a step-scoped hold (requires --job) |
|
|
3807
|
+
| `--hold-type <type>` | | Approve the hold of this type (reviewer, timer, concurrency, security) — a job can carry two |
|
|
3808
|
+
| `--hold <id>` | | Approve one hold by its id, as listed when nothing else separates them |
|
|
3697
3809
|
|
|
3698
3810
|
### `kici reject`
|
|
3699
3811
|
|
|
@@ -3709,11 +3821,13 @@ Synopsis: `kici reject <run-id> [options]`
|
|
|
3709
3821
|
|
|
3710
3822
|
**Options**
|
|
3711
3823
|
|
|
3712
|
-
| Option
|
|
3713
|
-
|
|
|
3714
|
-
| `--job <name>`
|
|
3715
|
-
| `--step <index>`
|
|
3716
|
-
| `--
|
|
3824
|
+
| Option | Default | Description |
|
|
3825
|
+
| -------------------- | ------- | ------------------------------------------------------------------------------------------- |
|
|
3826
|
+
| `--job <name>` | | Reject the hold for a specific job |
|
|
3827
|
+
| `--step <index>` | | Reject a step-scoped hold (requires --job) |
|
|
3828
|
+
| `--hold-type <type>` | | Reject the hold of this type (reviewer, timer, concurrency, security) — a job can carry two |
|
|
3829
|
+
| `--hold <id>` | | Reject one hold by its id, as listed when nothing else separates them |
|
|
3830
|
+
| `--reason <text>` | | Reason for the rejection |
|
|
3717
3831
|
|
|
3718
3832
|
### `kici run`
|
|
3719
3833
|
|
|
@@ -3911,7 +4025,7 @@ Synopsis: `kici runs rerun <run-id> [options]`
|
|
|
3911
4025
|
|
|
3912
4026
|
### `kici runs show`
|
|
3913
4027
|
|
|
3914
|
-
Show a run summary with its jobs and steps
|
|
4028
|
+
Show a run summary with its jobs and steps, why a job did not run, and any approval hold
|
|
3915
4029
|
|
|
3916
4030
|
Synopsis: `kici runs show <run-id> [options]`
|
|
3917
4031
|
|