@colony2/c2j 0.0.80 → 0.0.82
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/README.md +47 -13
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -84,29 +84,23 @@ See [Extension ops](EXTENSION_OPS.md) for authoring, publishing, and invoking pr
|
|
|
84
84
|
## Nix package
|
|
85
85
|
|
|
86
86
|
The Nix package contains only the `c2j` executable, with no Node/npm wrapper or
|
|
87
|
-
bundled tool runtimes. Linux and macOS
|
|
88
|
-
|
|
89
|
-
GitHub asset publication succeed, Nix and npm publish in parallel from the same
|
|
90
|
-
release tag.
|
|
87
|
+
bundled tool runtimes. The package definition supports Linux and macOS on x86-64
|
|
88
|
+
and ARM64 for local builds. CI does not build or publish the Nix package.
|
|
91
89
|
|
|
92
90
|
```bash
|
|
93
|
-
cachix use colony2
|
|
94
91
|
nix run github:colony-2/c2j/main#c2j -- version
|
|
95
92
|
# Install into your profile:
|
|
96
93
|
nix profile add github:colony-2/c2j/main#c2j
|
|
97
94
|
```
|
|
98
95
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
commit
|
|
102
|
-
|
|
103
|
-
the execution environment when needed.
|
|
96
|
+
Pin a commit instead of `main` for reproducible builds. New revisions may require
|
|
97
|
+
local compilation because there is no automatic Cachix publication. `main` builds
|
|
98
|
+
report `unstable-<commit>` as their version. Runtime tools such as Git, Nix, pnpm,
|
|
99
|
+
and uv are supplied separately by the execution environment when needed.
|
|
104
100
|
|
|
105
101
|
Maintainers: `nix build .#c2j` builds the executable; `nix flake check` also runs
|
|
106
102
|
its installation checks. After changing Go dependencies, update `vendorHash` in
|
|
107
|
-
`nix/package.nix` to the hash reported by a build with `lib.fakeHash`.
|
|
108
|
-
all four platforms, pushes with `CACHIX_COLONY2_AUTHKEY`, verifies downloads into
|
|
109
|
-
an empty store with builds disabled, and pins each commit's package in Cachix.
|
|
103
|
+
`nix/package.nix` to the hash reported by a build with `lib.fakeHash`.
|
|
110
104
|
|
|
111
105
|
## Quick Start
|
|
112
106
|
|
|
@@ -531,12 +525,52 @@ owned by the worker user with no group/other permissions. See the
|
|
|
531
525
|
[supplied-lease guide](GUIDE-Run-With-Lease.md) for dispatcher/library integration,
|
|
532
526
|
exit behavior, and the JobDB v0.0.22 server requirement.
|
|
533
527
|
|
|
528
|
+
### Deleting jobs
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
c2j delete --self --older-than 720h --dry-run
|
|
532
|
+
c2j delete --cell backend --cell frontend --recipe build
|
|
533
|
+
c2j delete --job-id JOB1 --job-id JOB2 --json
|
|
534
|
+
c2j delete --created-before 2026-10-01T00:00:00Z --dry-run
|
|
535
|
+
c2j delete --all --embed --dry-run
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
Use the usual `--jobdb`, environment, or project configuration to select a tenant;
|
|
539
|
+
`--embed` uses local JobDB. Deletion requires an explicit selector or `--all`.
|
|
540
|
+
It does not implicitly select the current cell: use `--self` for that.
|
|
541
|
+
`--cell` matches the owning repository across all refs, as `c2j list` does;
|
|
542
|
+
workspace overrides do not change job ownership. Repeat `--cell` or `--job-id`
|
|
543
|
+
to select any of those values. Different selectors intersect.
|
|
544
|
+
|
|
545
|
+
`--created-before` is an exclusive creation-time cutoff, not a completion-time
|
|
546
|
+
cutoff. Alternatively, `--older-than` takes a positive Go duration (`720h` is
|
|
547
|
+
30 days); the cutoff is calculated once per invocation. `--all` cannot combine
|
|
548
|
+
with selectors. Status filtering is not supported; matching unfinished jobs
|
|
549
|
+
are included.
|
|
550
|
+
|
|
551
|
+
`--dry-run` reports matches without deleting; it does not reserve those matches
|
|
552
|
+
for a later call. Both text and JSON output include resolved selection criteria
|
|
553
|
+
and matched/deleted counts. Missing and already-hidden jobs do not count.
|
|
554
|
+
|
|
555
|
+
Deletion hides jobs from normal job and schedule-run listings, cancels unfinished
|
|
556
|
+
jobs, and revokes their leases. Completed outcomes, history, and artifacts remain
|
|
557
|
+
accessible by direct lookup and to surviving clones. It does not reclaim disk
|
|
558
|
+
space, cascade to children/clones/schedules, undo external effects, or forcibly
|
|
559
|
+
stop worker processes. This uses JobDB's bulk deletion API; remote servers must
|
|
560
|
+
support it (JobDB `20269bd` / `v0.0.46` or later, with a compatible backend).
|
|
561
|
+
Unsupported backends return an error; c2j never falls back to listing and deleting
|
|
562
|
+
jobs individually.
|
|
563
|
+
|
|
534
564
|
### Recipe timeouts and recovery
|
|
535
565
|
|
|
536
566
|
c2j does not set default job or built-in op timeouts. Set `timeout` on a recipe
|
|
537
567
|
or node to bound its execution. Command `inputs.timeout` and extension manifest
|
|
538
568
|
`timeout` remain supported; an enclosing deadline can end execution sooner.
|
|
539
569
|
|
|
570
|
+
For pending external input, a late response can be accepted until a worker claims
|
|
571
|
+
the timeout work. Once the timeout wins, later responses are rejected. Accepting
|
|
572
|
+
a late response does not extend an enclosing recipe or scope deadline.
|
|
573
|
+
|
|
540
574
|
Recipe and nested execution timeouts retain their original scope budget across
|
|
541
575
|
worker recovery. Cached completed tasks remain replayable; new work does not
|
|
542
576
|
receive a fresh budget merely because execution resumed. See
|