@substrat-run/cli 0.46.0 → 0.47.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.
@@ -9,29 +9,44 @@
9
9
  * fleet takes more than one request: the command says so, and running it again continues.
10
10
  * - `rollback` returns the driver to the immediately previous good release.
11
11
  *
12
- * What is packed is the driver's own package only: every `driver_<name>/…/*.py` under `--dir`, by
13
- * its path relative to it. `__pycache__` is skipped. Anything else is refused by name, vendored
14
- * packages included: a release is one `driver_` package (the platform's module rule), so a driver
15
- * that needs a third-party package cannot be published yet.
12
+ * What is packed is the driver's own package, every `driver_<name>/…/*.py` under `--dir`, and a
13
+ * `python_modules/` directory next to it (#2390). Paths are relative to `--dir`. `__pycache__`
14
+ * is skipped, and so are the two markers `pywrangler sync` writes into `python_modules/`
15
+ * (`.synced` and `pyvenv.cfg`), which the output names. Anything else is refused by the same
16
+ * module rule the upload applies: one `driver_` package, and vendored paths that do not shadow
17
+ * the runtime or the entry. The workers runtime SDK a sync installs is refused, not dropped.
18
+ *
19
+ * What vouches for what (D-63): the source commit vouches for the driver package and for the
20
+ * pyproject/lock its dependencies were installed from. `python_modules/` is install output, which
21
+ * git normally ignores, so it is not held to the commit; its bytes are vouched for by the release
22
+ * sha256 alone, which covers every vendored name and byte. The output says so for every release
23
+ * that carries one, pinned or not.
16
24
  */
17
25
  import { spawnSync } from 'node:child_process';
18
- import { lstatSync, readdirSync, readFileSync } from 'node:fs';
26
+ import { existsSync, lstatSync, readdirSync, readFileSync } from 'node:fs';
19
27
  import { join, relative, sep } from 'node:path';
20
- import { STORE_RELEASE_MAX_BYTES } from '@substrat-run/contracts';
28
+ import { classifyPythonStoreModule, STORE_RELEASE_MAX_BYTES, STORE_RELEASE_MAX_MODULES } from '@substrat-run/contracts';
21
29
  import { planeFor } from './plane.js';
22
- const DRIVER_MODULE = /^driver_[a-z0-9_]+\/(?:[A-Za-z_][A-Za-z0-9_]*\/)*[A-Za-z_][A-Za-z0-9_]*\.py$/;
23
30
  function base64(bytes) {
24
31
  let text = '';
25
32
  for (let i = 0; i < bytes.length; i += 0x8000)
26
33
  text += String.fromCharCode(...bytes.subarray(i, i + 0x8000));
27
34
  return btoa(text);
28
35
  }
29
- /** How deep, and how many files, a driver's package may go: past either it is not one package. */
36
+ /** How deep a driver's tree may go: past it, it is not one package. How many files is the release's own limit. */
30
37
  const MAX_DEPTH = 16;
31
- const MAX_FILES = 2000;
38
+ /** Where a release's dependencies are, under `--dir`: the one directory the commit does not vouch for. */
39
+ const VENDORED_DIR = 'python_modules';
40
+ /**
41
+ * The markers `pywrangler sync` writes into `python_modules/` beside what it installs: install
42
+ * output, not a dependency. The walk skips exactly these; the upload still refuses them by name.
43
+ */
44
+ export const INSTALLER_MARKERS = [`${VENDORED_DIR}/.synced`, `${VENDORED_DIR}/pyvenv.cfg`];
45
+ const isVendored = (file) => file.startsWith(`${VENDORED_DIR}/`);
32
46
  /**
33
- * Every file under `dir`, by its path relative to it, `__pycache__` and `.pyc` left out. A symbolic
34
- * link is refused, not followed: it could pack a file from outside `dir`, or loop forever.
47
+ * Every file under `dir`, by its path relative to it, `__pycache__`, `.pyc` and the
48
+ * {@link INSTALLER_MARKERS} left out. A symbolic link is refused, not followed: it could pack a
49
+ * file from outside `dir`, or loop forever.
35
50
  */
36
51
  export function packedFilesOf(dir) {
37
52
  const out = [];
@@ -48,19 +63,27 @@ export function packedFilesOf(dir) {
48
63
  walk(path, depth + 1);
49
64
  }
50
65
  else if (!name.endsWith('.pyc')) {
51
- out.push(relative(dir, path).split(sep).join('/'));
52
- if (out.length > MAX_FILES)
53
- throw new Error(`'${dir}' holds more than ${MAX_FILES} files`);
66
+ const file = relative(dir, path).split(sep).join('/');
67
+ if (INSTALLER_MARKERS.includes(file))
68
+ continue;
69
+ out.push(file);
70
+ if (out.length > STORE_RELEASE_MAX_MODULES) {
71
+ throw new Error(`'${dir}' holds more than ${STORE_RELEASE_MAX_MODULES} files; a release carries at most ${STORE_RELEASE_MAX_MODULES} modules`);
72
+ }
54
73
  }
55
74
  }
56
75
  };
57
76
  walk(dir, 0);
58
77
  return out;
59
78
  }
79
+ /** The {@link INSTALLER_MARKERS} present under `dir`: what the walk skipped. */
80
+ export const skippedInstallerMarkersOf = (dir) => INSTALLER_MARKERS.filter((file) => existsSync(join(dir, file)));
60
81
  /**
61
- * The commit `dir` is checked out at, for the files about to be packed. Refused unless every one
62
- * of them is tracked and unchanged there: an untracked, ignored or edited file is not that
63
- * commit, so the bundle would carry bytes the commit a reviewer reads does not.
82
+ * The commit `dir` is checked out at, for the driver's files about to be packed. Refused unless
83
+ * every one of them is tracked and unchanged there, and nothing else under `dir` but
84
+ * `python_modules/` is changed or deleted: an untracked, ignored or edited file is not that
85
+ * commit, so the bundle would carry bytes the commit a reviewer reads does not. `python_modules/`
86
+ * is held to neither check: it is install output, and the release sha256 vouches for its bytes.
64
87
  */
65
88
  export function sourceCommitOf(dir, files) {
66
89
  const git = (...args) => spawnSync('git', ['-C', dir, ...args], { encoding: 'utf8' });
@@ -71,11 +94,11 @@ export function sourceCommitOf(dir, files) {
71
94
  if (tracked.status !== 0)
72
95
  throw new Error(`git ls-files failed in '${dir}'`);
73
96
  const known = new Set(tracked.stdout.split('\0').filter(Boolean));
74
- const untracked = files.filter((file) => !known.has(file));
97
+ const untracked = files.filter((file) => !isVendored(file) && !known.has(file));
75
98
  if (untracked.length > 0) {
76
99
  throw new Error(`${untracked.join(', ')} ${untracked.length === 1 ? 'is' : 'are'} not committed (untracked or ignored), so the bundle is not commit ${head.stdout.trim()}`);
77
100
  }
78
- const dirty = git('status', '--porcelain', '--', '.');
101
+ const dirty = git('status', '--porcelain', '--', '.', `:(exclude)${VENDORED_DIR}`);
79
102
  if (dirty.status !== 0 || dirty.stdout.trim() !== '') {
80
103
  throw new Error(`'${dir}' has uncommitted changes, so the bundle is not commit ${head.stdout.trim()}; commit them, or pass --commit`);
81
104
  }
@@ -84,16 +107,18 @@ export function sourceCommitOf(dir, files) {
84
107
  /** The driver's package under `dir`, as the upload body. `entry` is the module with the class. */
85
108
  export function packStoreDriverDir(dir, entry, sourceCommit) {
86
109
  const files = packedFilesOf(dir);
87
- const refused = files.filter((path) => !DRIVER_MODULE.test(path));
88
- if (refused.length > 0) {
89
- throw new Error(`only the driver's own package is published (driver_<name>/…/*.py); refused: ${refused.join(', ')}. ` +
90
- 'Vendored packages are not supported: a release is one driver_ package.');
91
- }
92
- const packages = new Set(files.map((path) => path.split('/')[0]));
110
+ const packages = new Set();
111
+ const classes = new Map(files.map((path) => [path, classifyPythonStoreModule(path)]));
112
+ for (const classified of classes.values())
113
+ if (classified.kind === 'driver')
114
+ packages.add(classified.packageName);
93
115
  if (packages.size !== 1)
94
116
  throw new Error(`'${dir}' must hold exactly one driver_ package, not ${[...packages].join(', ') || 'none'}`);
95
- if (!files.includes(entry))
117
+ const entryClass = classes.get(entry);
118
+ if (!entryClass)
96
119
  throw new Error(`'${dir}' has no ${entry}`);
120
+ if (entryClass.kind !== 'driver')
121
+ throw new Error(`'${entry}' is not a driver module`);
97
122
  let total = 0;
98
123
  const modules = files.map((name) => {
99
124
  const content = readFileSync(join(dir, name));
@@ -104,6 +129,20 @@ export function packStoreDriverDir(dir, entry, sourceCommit) {
104
129
  throw new Error(`the package is ${total} bytes; a release carries at most ${STORE_RELEASE_MAX_BYTES}`);
105
130
  return { sourceCommit, entry, modules };
106
131
  }
132
+ /**
133
+ * What `upload` says about what vouches for the release it stored, beyond its sha256 and commit:
134
+ * the installer markers the walk skipped, and, when it carries `python_modules/`, that those bytes
135
+ * are vouched for by the sha256 only. Said for every such release, whether it is pinned yet or not.
136
+ */
137
+ export function storeDriverPackLines(input) {
138
+ const lines = input.skipped.length > 0 ? [` skipped the installer's markers: ${input.skipped.join(', ')}`] : [];
139
+ const vendored = input.files.filter(isVendored).length;
140
+ if (vendored > 0) {
141
+ lines.push(` ${VENDORED_DIR}/: ${vendored} file(s) vouched for by sha256 ${input.sha256} only, not by commit ${input.sourceCommit}; ` +
142
+ 'the commit vouches for the driver package and the pyproject/lock it was installed from');
143
+ }
144
+ return lines;
145
+ }
107
146
  /** A release is named by its sha256 as `upload` printed it; anything else is refused before a request. */
108
147
  export const isReleaseSha = (value) => value !== undefined && /^[0-9a-f]{64}$/.test(value);
109
148
  export const uploadStoreDriverRelease = (input) => planeFor(input.controlPlaneUrl, input.header).uploadStoreDriverRelease(input.driver, input.body);
@@ -1 +1 @@
1
- {"version":3,"file":"store-driver.js","sourceRoot":"","sources":["../src/store-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-driver.js","sourceRoot":"","sources":["../src/store-driver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/cli",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "description": "The substrat CLI — authenticated deploy tooling: push a vertical to the platform, manage its versions and channels",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -31,14 +31,14 @@
31
31
  "@babel/parser": "^7.29.7",
32
32
  "esbuild": "^0.28.2",
33
33
  "@substrat-run/boundary-lint": "^0.8.0",
34
- "@substrat-run/contracts": "^0.150.0",
35
- "@substrat-run/model-view": "^0.3.0",
36
- "@substrat-run/control-plane-client": "^0.3.1"
34
+ "@substrat-run/control-plane-client": "^0.3.2",
35
+ "@substrat-run/model-view": "^0.4.0",
36
+ "@substrat-run/contracts": "^0.151.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^22.20.5",
40
40
  "typescript": "^7.0.0",
41
- "vitest": "^5.0.3"
41
+ "vitest": "^5.0.5"
42
42
  },
43
43
  "publishConfig": {
44
44
  "access": "public"