@stringsync/splates 0.0.54 → 0.0.55

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 CHANGED
@@ -62,7 +62,7 @@ Keep sensitive information out of them.
62
62
  **Heavy jobs.** Hooks (`postCheckout`, `postRewrite`, `preMerge`) run in one
63
63
  of the machine's heavy-job slots, two by default (`SPLATES_HEAVY_JOBS` sets
64
64
  how many), so several agents testing at once queue rather than run the
65
- machine out of memory. `splates heavy -- <command>` runs anything else as
65
+ machine out of memory. `splates run -- <command>` runs anything else as
66
66
  heavy, such as a test suite an agent runs mid-task, in a slot too.
67
67
 
68
68
  **Pushing.** With `remote: "origin"` in `splates.config.ts`, each task's
@@ -253,26 +253,9 @@ serving on this machine.
253
253
 
254
254
  ### Worker providers
255
255
 
256
- To have splates make workers when agents queue for want of a slot, name the
257
- cloud account to make them in as `splates.config.ts`'s `cloud`, in the repo
258
- `splates server` starts in:
259
-
260
- ```ts
261
- import { AwsCloud } from "@stringsync/splates-server/cloud";
262
- import type { ConfigFile } from "@stringsync/splates-server/config";
263
-
264
- export default { cloud: new AwsCloud() } satisfies ConfigFile;
265
- ```
266
-
267
- `AwsCloud` comes with splates, signed with the AWS CLI's sign-in or the
268
- instance role. Another is a class that implements
269
- `CloudProvider` from `@stringsync/splates-server/cloud`: making, listing and
270
- deleting tagged machines, snapshots, SSH keys and firewalls through the
271
- cloud's API, with its machine types and prices. splates makes both the
272
- workers and the coordinator's box (`splates server deploy`) over it.
273
-
274
- For machines that are not a cloud's, give it a `workerProvider` instead, any
275
- object that implements `WorkerProvider`:
256
+ To have splates make workers when agents queue for want of a slot, give
257
+ `splates.config.ts` a `workerProvider`, in the repo `splates server` starts in,
258
+ any object that implements `WorkerProvider`:
276
259
 
277
260
  ```ts
278
261
  import type { ConfigFile } from "@stringsync/splates-server/config";
@@ -306,9 +289,9 @@ rate cap, and `splates worker remove` destroys its machine.
306
289
 
307
290
  The worker budget is in dollars, at each type's list price, so every figure is
308
291
  an estimate: a rate cap on what the made workers running at once cost an hour
309
- ($0.25/h by default), and limits on what they cost in a day ($5) and a month
310
- ($75), from the start of each in local time. Past the rate cap no worker is
311
- made, and the queue says which limit holds it, as `rate cap $0.25/h reached`.
292
+ ($1/h by default), and limits on what they cost in a day ($15) and a month
293
+ ($200), from the start of each in local time. Past the rate cap no worker is
294
+ made, and the queue says which limit holds it, as `rate cap $1.00/h reached`.
312
295
  Once a day's or month's limit is spent, made workers take nothing new, their
313
296
  agents are asked to stop at a checkpoint, and each is destroyed once its last
314
297
  agent ends. Each limit warns at 80%, 90% and 100%, once in its window, by Web
package/handoff.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ /** Set by `checkout.ts` once `splates dev` is mounted on this process. */
2
+ export declare const devMounted: {
3
+ value: boolean;
4
+ };
5
+ /** The nearest directory at or above `cwd` that is a splates checkout. */
6
+ export declare function checkoutAbove(cwd: string): string | null;
7
+ /**
8
+ * The release has no `splates dev`, and would print help and exit 0, which
9
+ * reads as a passing `splates dev test`. Standing in a checkout, run the
10
+ * checkout's own `bin/splates` instead; anywhere else, fail saying so.
11
+ * Returns the exit code, or null when `argv` is no `dev` command.
12
+ */
13
+ export declare function handOffDev(argv: string[], cwd: string): Promise<number | null>;