putitoutthere 0.2.44 → 0.2.46

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/MIGRATIONS.md +41 -0
  3. package/dist/advance-floating-major.d.ts +23 -0
  4. package/dist/advance-floating-major.d.ts.map +1 -0
  5. package/dist/advance-floating-major.js +52 -0
  6. package/dist/advance-floating-major.js.map +1 -0
  7. package/dist/advance-v0.d.ts +19 -0
  8. package/dist/advance-v0.d.ts.map +1 -0
  9. package/dist/advance-v0.js +24 -0
  10. package/dist/advance-v0.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +73 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/fold-action-bundle.d.ts +27 -0
  16. package/dist/fold-action-bundle.d.ts.map +1 -0
  17. package/dist/fold-action-bundle.js +34 -0
  18. package/dist/fold-action-bundle.js.map +1 -0
  19. package/dist/force-move-tag.d.ts +18 -0
  20. package/dist/force-move-tag.d.ts.map +1 -0
  21. package/dist/force-move-tag.js +21 -0
  22. package/dist/force-move-tag.js.map +1 -0
  23. package/dist/git.d.ts +43 -0
  24. package/dist/git.d.ts.map +1 -1
  25. package/dist/git.js +63 -0
  26. package/dist/git.js.map +1 -1
  27. package/dist/verify/bundle-cli/compute-stage-suffix.d.ts +15 -0
  28. package/dist/verify/bundle-cli/compute-stage-suffix.d.ts.map +1 -0
  29. package/dist/verify/bundle-cli/compute-stage-suffix.js +22 -0
  30. package/dist/verify/bundle-cli/compute-stage-suffix.js.map +1 -0
  31. package/dist/verify/bundle-cli/index.d.ts +25 -0
  32. package/dist/verify/bundle-cli/index.d.ts.map +1 -0
  33. package/dist/verify/bundle-cli/index.js +69 -0
  34. package/dist/verify/bundle-cli/index.js.map +1 -0
  35. package/dist/verify/bundle-cli/read-python-source.d.ts +16 -0
  36. package/dist/verify/bundle-cli/read-python-source.d.ts.map +1 -0
  37. package/dist/verify/bundle-cli/read-python-source.js +29 -0
  38. package/dist/verify/bundle-cli/read-python-source.js.map +1 -0
  39. package/dist/verify/bundle-cli/types.d.ts +22 -0
  40. package/dist/verify/bundle-cli/types.d.ts.map +1 -0
  41. package/dist/verify/bundle-cli/types.js +5 -0
  42. package/dist/verify/bundle-cli/types.js.map +1 -0
  43. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -15,6 +15,7 @@ are prefixed `**BREAKING**` and link to the matching section in
15
15
  - Added: `putitoutthere verify npm-tarball` — a new `verify` subcommand that downloads a published npm tarball back from the registry and asserts it honors the shape it declared: main/noarch rows must contain every directory entry their `package.json` `files[]` declares (present and non-empty), and `--per-triple` asserts each synthesized platform package ships a non-`package.json` file (its `.node` / executable). Absorbs the two inline verification blocks the reusable e2e workflow (`e2e-fixture-job.yml`) previously carried as untested bash — same row selection, same `npm view` packument-lag retry, same `::error::` messages — into one colocated-tested engine command invoked from both former sites (part of epic #442). `verify` is now a command family: bare `verify` (and the new explicit spelling `verify posture`) is the unchanged #414 OIDC-vs-token publish/trust posture check; `verify npm-tarball` is this new artifact-content check. #443. (verified by: integration, e2e/CLI)
16
16
  - Added: `putitoutthere verify crate` — the crates-side sibling of `verify npm-tarball` (#443). Reads a published `.crate` back off the `cargo-http-registry` disk root the engine published to, extracts it, and asserts the crate ships its source tree (`src/lib.rs` or `src/main.rs` surfaces) — proof the publish shipped real contents, not an empty or silently no-op'd tarball. Absorbs the inline `.crate` verification block the reusable e2e workflow (`e2e-fixture-job.yml`, #334) carried as untested bash — same crates-row selection, same present-and-non-empty `.crate` guard, same `::error::`/`ok:` messages — into one colocated-tested engine command invoked from its former site (part of epic #442). Takes `--matrix <plan-json>` and `--registry-root <dir>`; unlike the npm sibling it reads local disk (same host, same job), so there is no HTTP download or retry. #449. (verified by: integration, e2e/CLI)
17
17
  - Added: `putitoutthere verify wheel` — the pypi-side sibling of the verify family (#443, #449). Asserts a built maturin artifact under `<path>/dist` carries the planned version: a wheel row's first `*.whl` must have a `*.dist-info/METADATA` `Version:` equal to `--version`, and an sdist row (`--target sdist`) must produce a `*.tar.gz` whose filename contains it. Absorbs the inline "Verify wheel/sdist version matches matrix.version" bash block the reusable e2e workflow (`e2e-fixture-job.yml`, #276) carried as untested bash — same file selection, same `::error::`/`ok wheel:`/`ok sdist:` messages, same exit code — into one colocated-tested engine command. The wheel's METADATA is read with a dependency-free pure-Node zip reader (no `unzip`), so the command runs on every platform the maturin matrix builds on, Windows included. Takes `--path <pkg-dir>`, `--version <planned>`, and `--target <sdist|triple>`. #450. (verified by: integration, e2e/CLI)
18
+ - Added: `putitoutthere verify bundle-cli` — the last member of the `verify` family (#443, #449, #450). Asserts a maturin bundled-CLI wheel under `<path>/dist` contains its cross-compiled binary: the wheel's first `*.whl` must carry an entry whose path ends `<stage_suffix>/<bin>`, where `stage_suffix` is `--stage-to` with `[tool.maturin].python-source` (or the legacy `python_source`) subtracted from the front, and `<bin>` gains a `.exe` suffix on a Windows `--target`. This is the codified engine twin of the inline "bundle_cli — verify wheel contains `<stage_to>/<bin>`" bash block the reusable release workflow (`_matrix.yml`, #282/#358) carries — same wheel selection, same python-source stripping, same `(^|/)<stage_suffix>/<expected>$` match, same `::error::`/`ok bundle_cli:` messages and exit code — now colocated-tested, reusing the same dependency-free pure-Node zip reader as `verify wheel` (no `unzip`, Windows included). Takes `--path <pkg-dir>`, `--stage-to <dir>`, `--bin <name>`, and `--target <triple>`. Note: `_matrix.yml` invokes the engine only via `action.yml` (which has no `verify` surface) and builds no `dist/`, so its inline copy stays until the reusable workflow gains a way to call the engine; the tested command is the single source of truth going forward. #451. (verified by: integration, e2e/CLI)
18
19
 
19
20
  ### Changed
20
21
 
package/MIGRATIONS.md CHANGED
@@ -21,6 +21,47 @@ Each section covers five things, in order:
21
21
 
22
22
  ## Unreleased
23
23
 
24
+ ### New `verify bundle-cli` subcommand
25
+
26
+ **Summary.** `putitoutthere verify bundle-cli` completes the `verify` command
27
+ family (alongside `verify posture`, `verify npm-tarball`, `verify crate`, and
28
+ `verify wheel`). It asserts a maturin bundled-CLI wheel under `<path>/dist`
29
+ contains its cross-compiled binary at a path ending `<stage_suffix>/<bin>`,
30
+ where `stage_suffix` is `--stage-to` with `[tool.maturin].python-source` (or
31
+ the legacy `python_source`) subtracted from the front, and `<bin>` gains a
32
+ `.exe` suffix on a Windows `--target`. It codifies, as one colocated-tested
33
+ engine command, the inline "bundle_cli — verify wheel contains
34
+ `<stage_to>/<bin>`" bash block the reusable release workflow carries
35
+ (`_matrix.yml`, #282/#358); the behavior is unchanged — same wheel selection,
36
+ same python-source stripping, same match, same error messages and exit code.
37
+ The wheel is read with the same dependency-free pure-Node zip reader as
38
+ `verify wheel` (no `unzip`), so it runs on every platform the maturin matrix
39
+ builds on, Windows included. Unlike the earlier siblings' single copies —
40
+ which lived in `e2e-fixture-job.yml`, a workflow that runs `node
41
+ dist/cli-bin.js verify …` directly — this check's only copy lives in
42
+ `_matrix.yml`, which invokes the engine solely via `action.yml` (no `verify`
43
+ surface) and builds no `dist/`; that inline copy therefore stays in place
44
+ until the reusable workflow gains a way to call the engine, with the tested
45
+ command as the single source of truth going forward.
46
+
47
+ **Required changes.** None. Additive. Consumers compose with the reusable
48
+ workflow, not the CLI directly (design-commitment #10); this subcommand is
49
+ an internal seam.
50
+
51
+ **Deprecations removed.** None.
52
+
53
+ **Behavior changes without code changes.** None.
54
+
55
+ **Verification.** With a maturin bundled-CLI wheel under `<path>/dist`,
56
+ `putitoutthere verify bundle-cli --path <path> --stage-to <dir> --bin <name> --target <triple>`
57
+ prints `ok bundle_cli: <stage_suffix>/<bin> present in <wheel>` and exits 0
58
+ when the binary is staged; a wheel missing it exits 1 with `wheel <name>
59
+ missing bundle_cli binary at <stage_suffix>/<bin>` followed by a `wheel
60
+ contents:` listing, and a package with no wheel under `dist/` exits 1 with
61
+ `no wheel produced under <dir>`.
62
+
63
+ ---
64
+
24
65
  ### New `verify wheel` subcommand
25
66
 
26
67
  **Summary.** `putitoutthere verify wheel` joins the `verify` command family
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `putitoutthere advance-floating-major` — move the floating `v<major>` tag
3
+ * to the newest release in its major line (#446, epic #442).
4
+ *
5
+ * Extraction of `release-npm.yml`'s inline "Move floating major tag" bash.
6
+ * Scaffolded consumer workflows reference
7
+ * `thekevinscott/putitoutthere@v<major>` (the community `actions/checkout@v4`
8
+ * convention); the canonical per-release tag is
9
+ * `putitoutthere-v<x.y.z>`, so this keeps a floating `v<major>` pointing at
10
+ * the latest release in the major line. Idempotent: a re-run is a no-op
11
+ * when the floating tag already matches the latest release.
12
+ *
13
+ * Reuses the release path's own resolvers rather than re-globbing/sorting
14
+ * in parallel: `lastTag` finds the highest release tag for the (single)
15
+ * package the config declares, `parseTagVersion` reads the version back
16
+ * out, and the shared `forceMoveTag` performs the move — so the floating
17
+ * tag can never track a release the publish path wouldn't recognize.
18
+ * Synchronous, per the engine convention.
19
+ */
20
+ export declare function advanceFloatingMajor(opts: {
21
+ cwd: string;
22
+ }): number;
23
+ //# sourceMappingURL=advance-floating-major.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-floating-major.d.ts","sourceRoot":"","sources":["../src/advance-floating-major.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAiClE"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * `putitoutthere advance-floating-major` — move the floating `v<major>` tag
3
+ * to the newest release in its major line (#446, epic #442).
4
+ *
5
+ * Extraction of `release-npm.yml`'s inline "Move floating major tag" bash.
6
+ * Scaffolded consumer workflows reference
7
+ * `thekevinscott/putitoutthere@v<major>` (the community `actions/checkout@v4`
8
+ * convention); the canonical per-release tag is
9
+ * `putitoutthere-v<x.y.z>`, so this keeps a floating `v<major>` pointing at
10
+ * the latest release in the major line. Idempotent: a re-run is a no-op
11
+ * when the floating tag already matches the latest release.
12
+ *
13
+ * Reuses the release path's own resolvers rather than re-globbing/sorting
14
+ * in parallel: `lastTag` finds the highest release tag for the (single)
15
+ * package the config declares, `parseTagVersion` reads the version back
16
+ * out, and the shared `forceMoveTag` performs the move — so the floating
17
+ * tag can never track a release the publish path wouldn't recognize.
18
+ * Synchronous, per the engine convention.
19
+ */
20
+ import { join } from 'node:path';
21
+ import { loadConfig } from './config.js';
22
+ import { forceMoveTag } from './force-move-tag.js';
23
+ import { fetchTagsForce, lastTag, tagCommit, tagList } from './git.js';
24
+ import { parseTagVersion } from './tag-template.js';
25
+ export function advanceFloatingMajor(opts) {
26
+ const gitOpts = { cwd: opts.cwd };
27
+ const config = loadConfig(join(opts.cwd, 'putitoutthere.toml'));
28
+ const pkg = config.packages[0];
29
+ // Refresh remote tags (force, so a tag moved on the remote since checkout
30
+ // doesn't reject the fetch — #199) before re-deriving "latest release".
31
+ fetchTagsForce(gitOpts);
32
+ const latest = lastTag(pkg.name, pkg.tag_format, gitOpts);
33
+ if (latest === null) {
34
+ process.stdout.write('No putitoutthere-v* tags yet; nothing to track.\n');
35
+ return 0;
36
+ }
37
+ // `lastTag` only returns a strict-semver tag, so parse + split can't miss.
38
+ const version = parseTagVersion(pkg.tag_format, pkg.name, latest);
39
+ const major = version.split('.')[0];
40
+ const floating = `v${major}`;
41
+ const target = tagCommit(latest, gitOpts);
42
+ const existing = tagList(floating, gitOpts);
43
+ const current = existing.length > 0 ? tagCommit(floating, gitOpts) : null;
44
+ if (current === target) {
45
+ process.stdout.write(`Floating tag ${floating} already at ${latest}; no update.\n`);
46
+ return 0;
47
+ }
48
+ process.stdout.write(`Moving floating tag ${floating} -> ${target} (latest release ${latest})\n`);
49
+ forceMoveTag(floating, target, gitOpts);
50
+ return 0;
51
+ }
52
+ //# sourceMappingURL=advance-floating-major.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-floating-major.js","sourceRoot":"","sources":["../src/advance-floating-major.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,IAAqB;IACxD,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;IAEhC,0EAA0E;IAC1E,wEAAwE;IACxE,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC;IACX,CAAC;IAED,2EAA2E;IAC3E,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAE,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,eAAe,MAAM,gBAAgB,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,QAAQ,OAAO,MAAM,oBAAoB,MAAM,KAAK,CAC5E,CAAC;IACF,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `putitoutthere advance-v0` — force-move the floating `v0` tag to HEAD
3
+ * (#446, epic #442).
4
+ *
5
+ * Extraction of `advance-v0.yml`'s inline "Force-move v0 to bundle commit"
6
+ * bash. `v0` tracks main HEAD (not the latest release), so every push to
7
+ * main advances it to a fresh bundle commit so
8
+ * `uses: thekevinscott/putitoutthere@v0` resolves to a runnable action.
9
+ * The workflow's Fold step (`fold-bundle`) synthesizes that commit first;
10
+ * this then points `v0` at it.
11
+ *
12
+ * Synchronous, per the engine convention. Reuses the shared `forceMoveTag`
13
+ * so the local `git tag -f` + ref-scoped force-push match the
14
+ * floating-major mover exactly.
15
+ */
16
+ export declare function advanceV0(opts: {
17
+ cwd: string;
18
+ }): number;
19
+ //# sourceMappingURL=advance-v0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-v0.d.ts","sourceRoot":"","sources":["../src/advance-v0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAKvD"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `putitoutthere advance-v0` — force-move the floating `v0` tag to HEAD
3
+ * (#446, epic #442).
4
+ *
5
+ * Extraction of `advance-v0.yml`'s inline "Force-move v0 to bundle commit"
6
+ * bash. `v0` tracks main HEAD (not the latest release), so every push to
7
+ * main advances it to a fresh bundle commit so
8
+ * `uses: thekevinscott/putitoutthere@v0` resolves to a runnable action.
9
+ * The workflow's Fold step (`fold-bundle`) synthesizes that commit first;
10
+ * this then points `v0` at it.
11
+ *
12
+ * Synchronous, per the engine convention. Reuses the shared `forceMoveTag`
13
+ * so the local `git tag -f` + ref-scoped force-push match the
14
+ * floating-major mover exactly.
15
+ */
16
+ import { forceMoveTag } from './force-move-tag.js';
17
+ import { headCommit } from './git.js';
18
+ export function advanceV0(opts) {
19
+ const target = headCommit({ cwd: opts.cwd });
20
+ process.stdout.write(`Moving v0 -> ${target}\n`);
21
+ forceMoveTag('v0', target, { cwd: opts.cwd });
22
+ return 0;
23
+ }
24
+ //# sourceMappingURL=advance-v0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-v0.js","sourceRoot":"","sources":["../src/advance-v0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,UAAU,SAAS,CAAC,IAAqB;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,IAAI,CAAC,CAAC;IACjD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC"}
package/dist/cli.d.ts CHANGED
@@ -52,7 +52,10 @@ interface ParsedFlags {
52
52
  registry?: string | undefined;
53
53
  registryRoot?: string | undefined;
54
54
  target?: string | undefined;
55
+ stageTo?: string | undefined;
56
+ bin?: string | undefined;
55
57
  perTriple: boolean;
58
+ subject?: string | undefined;
56
59
  }
57
60
  export declare function parseFlags(argv: readonly string[]): ParsedFlags;
58
61
  export declare function run(argv: readonly string[]): Promise<number>;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAkFH,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IAGd,KAAK,EAAE,OAAO,CAAC;IAIf,MAAM,EAAE,OAAO,CAAC;IAIhB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAIrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGlC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAiC/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0TlE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAgGH,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IAGd,KAAK,EAAE,OAAO,CAAC;IAIf,MAAM,EAAE,OAAO,CAAC;IAIhB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAIrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAIlC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAoC/D;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiWlE"}
package/dist/cli.js CHANGED
@@ -40,7 +40,10 @@
40
40
  * so a preview-only mode is meaningful there and is supported (#403).
41
41
  */
42
42
  import { isAbsolute, resolve } from 'node:path';
43
+ import { advanceFloatingMajor } from './advance-floating-major.js';
44
+ import { advanceV0 } from './advance-v0.js';
43
45
  import { runChecks } from './check.js';
46
+ import { foldActionBundle } from './fold-action-bundle.js';
44
47
  import { computePlanStatus } from './plan-status.js';
45
48
  import { publish } from './publish.js';
46
49
  import { reconcile } from './reconcile.js';
@@ -48,6 +51,7 @@ import { releaseGithub } from './release-github/index.js';
48
51
  import { formatStatusRow } from './status-format.js';
49
52
  import { computeStatus } from './status.js';
50
53
  import { formatVerifyRow } from './verify/posture-format.js';
54
+ import { verifyBundleCli } from './verify/bundle-cli/index.js';
51
55
  import { verifyCrate } from './verify/crate/index.js';
52
56
  import { verifyNpmTarball } from './verify/npm-tarball/index.js';
53
57
  import { verifyWheel } from './verify/wheel/index.js';
@@ -64,6 +68,9 @@ const COMMANDS = [
64
68
  'reconcile',
65
69
  'verify',
66
70
  'release-github',
71
+ 'advance-v0',
72
+ 'advance-floating-major',
73
+ 'fold-bundle',
67
74
  'write-version',
68
75
  'write-crate-version',
69
76
  'write-launcher',
@@ -86,7 +93,11 @@ function printUsage() {
86
93
  ' verify npm-tarball Assert a published npm tarball honors package.json files[] (#443)',
87
94
  ' verify crate Assert a published .crate ships its source tree (#449)',
88
95
  ' verify wheel Assert a built wheel/sdist carries the planned version (#450)',
96
+ ' verify bundle-cli Assert a maturin wheel contains its staged bundle_cli binary (#451)',
89
97
  ' release-github Cut a GitHub Release for each new tag on HEAD (#444)',
98
+ ' advance-v0 Force-move the floating v0 tag to HEAD (#446)',
99
+ ' advance-floating-major Move the floating v<major> tag to the latest release (#446)',
100
+ ' fold-bundle Commit the built dist-action/ bundle on top of HEAD (#446)',
90
101
  ' write-version Bump a package manifest to the planned version (pre-build; #276)',
91
102
  ' write-crate-version Bump a crate Cargo.toml to the planned version (pre-build; #366)',
92
103
  ' write-launcher Generate the bundled-cli npm launcher script (pre-build; #299)',
@@ -95,13 +106,16 @@ function printUsage() {
95
106
  'Options:',
96
107
  ' --cwd <path> working directory',
97
108
  ' --config <path> path to putitoutthere.toml',
109
+ ' --subject <s> bundle-commit subject line (fold-bundle)',
98
110
  ' --path <dir> package or crate directory (write-version / write-crate-version)',
99
111
  ' --version <v> planned version (write-version / write-crate-version)',
100
112
  ' --release-packages <spec> manual-release spec (plan / publish)',
101
113
  ' --matrix <json> plan matrix (verify npm-tarball)',
102
114
  ' --registry <url> registry to read from (verify npm-tarball); default real npm',
103
115
  ' --registry-root <dir> cargo-http-registry disk root to read .crate files from (verify crate)',
104
- ' --target <t> matrix target: `sdist` or a wheel triple (verify wheel)',
116
+ ' --target <t> matrix target: `sdist` or a wheel triple (verify wheel / bundle-cli)',
117
+ ' --stage-to <dir> wheel-relative dir the bundle_cli binary is staged into (verify bundle-cli)',
118
+ ' --bin <name> bundle_cli binary name (verify bundle-cli)',
105
119
  ' --per-triple verify synthesized per-triple tarballs (verify npm-tarball)',
106
120
  ' --check exit non-zero when status finds drift',
107
121
  ' --dry-run report what reconcile would do without writing tags',
@@ -155,6 +169,15 @@ export function parseFlags(argv) {
155
169
  else if (a === '--target') {
156
170
  out.target = argv[++i];
157
171
  }
172
+ else if (a === '--subject') {
173
+ out.subject = argv[++i];
174
+ }
175
+ else if (a === '--stage-to') {
176
+ out.stageTo = argv[++i];
177
+ }
178
+ else if (a === '--bin') {
179
+ out.bin = argv[++i];
180
+ }
158
181
  else if (a === '--per-triple') {
159
182
  out.perTriple = true;
160
183
  }
@@ -366,6 +389,31 @@ export async function run(argv) {
366
389
  target: flags.target,
367
390
  });
368
391
  }
392
+ if (sub === 'bundle-cli') {
393
+ // #451: assert the maturin bundled-CLI wheel under <path>/dist
394
+ // contains its cross-compiled binary at <stage_to>/<bin>. Reads
395
+ // the wheel zip with the same pure-Node reader (no unzip), so it
396
+ // runs on the Windows maturin rows too.
397
+ if (!flags.path) {
398
+ throw new Error('verify bundle-cli requires --path <pkg-dir>');
399
+ }
400
+ if (!flags.stageTo) {
401
+ throw new Error('verify bundle-cli requires --stage-to <dir>');
402
+ }
403
+ if (!flags.bin) {
404
+ throw new Error('verify bundle-cli requires --bin <name>');
405
+ }
406
+ if (flags.target === undefined) {
407
+ throw new Error('verify bundle-cli requires --target <triple>');
408
+ }
409
+ return verifyBundleCli({
410
+ cwd: flags.cwd,
411
+ path: flags.path,
412
+ stageTo: flags.stageTo,
413
+ bin: flags.bin,
414
+ target: flags.target,
415
+ });
416
+ }
369
417
  if (sub !== 'posture') {
370
418
  throw new Error(`unknown verify subcommand: ${sub}`);
371
419
  }
@@ -397,6 +445,30 @@ export async function run(argv) {
397
445
  // auth and operates on `--cwd` (the checked-out repo).
398
446
  return releaseGithub({ cwd: flags.cwd });
399
447
  }
448
+ case 'advance-v0': {
449
+ // #446: force-move the floating `v0` tag to HEAD. Invoked by
450
+ // `advance-v0.yml` after `fold-bundle` synthesizes the bundle
451
+ // commit, so `uses: …@v0` resolves to a runnable action. Shares
452
+ // `forceMoveTag` with the floating-major mover.
453
+ return advanceV0({ cwd: flags.cwd });
454
+ }
455
+ case 'advance-floating-major': {
456
+ // #446: move the floating `v<major>` tag to the newest release in
457
+ // its major line. Invoked by `release-npm.yml`'s dogfood publish
458
+ // job; reads the release tag via the same `lastTag` resolver the
459
+ // publish path uses. Idempotent.
460
+ return advanceFloatingMajor({ cwd: flags.cwd });
461
+ }
462
+ case 'fold-bundle': {
463
+ // #446: commit the freshly-built `dist-action/` bundle on top of
464
+ // HEAD, forwarding the parent body under `--subject` so a
465
+ // `release:` trailer survives. Invoked by both `release-npm.yml`
466
+ // and `advance-v0.yml` (differing only in the subject).
467
+ if (!flags.subject) {
468
+ throw new Error('fold-bundle: --subject <line> is required');
469
+ }
470
+ return foldActionBundle({ cwd: flags.cwd, subject: flags.subject });
471
+ }
400
472
  case 'write-launcher': {
401
473
  // #299: pre-build hook used by `_matrix.yml`'s npm bundled-cli
402
474
  // main row. Authors `bin/<bin>.js` + `package.json#bin` in
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `putitoutthere fold-bundle` — synthesize the action-bundle commit
3
+ * (#446, epic #442).
4
+ *
5
+ * Extraction of the identical Fold step both `release-npm.yml` and
6
+ * `advance-v0.yml` carried inline (they differed only in the commit
7
+ * subject). `dist-action/` is gitignored on main and exists only on tag
8
+ * commits, so before a tag can point at a commit that has
9
+ * `dist-action/index.js`, the freshly-built bundle is staged and committed
10
+ * on top of HEAD.
11
+ *
12
+ * The new commit forwards the parent's full body under `subject` so any
13
+ * `release:` trailer the operator wrote survives into HEAD — otherwise the
14
+ * publish-time plan re-derivation reads a trailer-less bundle commit,
15
+ * defaults the bump to `patch`, and silently downgrades the release (the
16
+ * 0.2.0-landed-as-0.1.52 incident; notes/handoff/2026-04-24-dist-action.md).
17
+ *
18
+ * Throws when nothing is staged — `build:action` should always have
19
+ * produced output, so an empty index is an unexpected state the release
20
+ * must abort on rather than commit nothing (matches the bash
21
+ * `git diff --cached --quiet` guard).
22
+ */
23
+ export declare function foldActionBundle(opts: {
24
+ cwd: string;
25
+ subject: string;
26
+ }): number;
27
+ //# sourceMappingURL=fold-action-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-action-bundle.d.ts","sourceRoot":"","sources":["../src/fold-action-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAW/E"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `putitoutthere fold-bundle` — synthesize the action-bundle commit
3
+ * (#446, epic #442).
4
+ *
5
+ * Extraction of the identical Fold step both `release-npm.yml` and
6
+ * `advance-v0.yml` carried inline (they differed only in the commit
7
+ * subject). `dist-action/` is gitignored on main and exists only on tag
8
+ * commits, so before a tag can point at a commit that has
9
+ * `dist-action/index.js`, the freshly-built bundle is staged and committed
10
+ * on top of HEAD.
11
+ *
12
+ * The new commit forwards the parent's full body under `subject` so any
13
+ * `release:` trailer the operator wrote survives into HEAD — otherwise the
14
+ * publish-time plan re-derivation reads a trailer-less bundle commit,
15
+ * defaults the bump to `patch`, and silently downgrades the release (the
16
+ * 0.2.0-landed-as-0.1.52 incident; notes/handoff/2026-04-24-dist-action.md).
17
+ *
18
+ * Throws when nothing is staged — `build:action` should always have
19
+ * produced output, so an empty index is an unexpected state the release
20
+ * must abort on rather than commit nothing (matches the bash
21
+ * `git diff --cached --quiet` guard).
22
+ */
23
+ import { addForce, commitBody, commitWithBody, hasStagedChanges } from './git.js';
24
+ export function foldActionBundle(opts) {
25
+ const gitOpts = { cwd: opts.cwd };
26
+ addForce('dist-action/', gitOpts);
27
+ if (!hasStagedChanges(gitOpts)) {
28
+ throw new Error('No bundle changes to commit (unexpected — build:action should have produced output).');
29
+ }
30
+ const parentBody = commitBody('HEAD', gitOpts);
31
+ commitWithBody(opts.subject, parentBody, gitOpts);
32
+ return 0;
33
+ }
34
+ //# sourceMappingURL=fold-action-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-action-bundle.js","sourceRoot":"","sources":["../src/fold-action-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,IAAsC;IACrE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Force-move a tag to a commit, on the local repo and the remote — the one
3
+ * shared tag-move both floating-tag advancers use (#446, epic #442).
4
+ *
5
+ * The repo previously carried this two-line sequence twice in inline bash:
6
+ * `release-npm.yml`'s "Move floating major tag" (advancing `v<major>` to
7
+ * the latest release) and `advance-v0.yml`'s "Force-move v0" (advancing
8
+ * `v0` to HEAD). Consolidating them here means the local-tag write and the
9
+ * ref-scoped force-push can never disagree between the two sites.
10
+ *
11
+ * `git tag -f` overwrites the local tag; `git push --force origin
12
+ * refs/tags/<name>` publishes that move, ref-scoped so it touches no other
13
+ * tag. Force is intrinsic — a floating tag by definition moves, so the
14
+ * remote update is a non-fast-forward the push must be allowed to make.
15
+ */
16
+ import { type GitOptions } from './git.js';
17
+ export declare function forceMoveTag(name: string, target: string, opts?: GitOptions): void;
18
+ //# sourceMappingURL=force-move-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"force-move-tag.d.ts","sourceRoot":"","sources":["../src/force-move-tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAY,KAAK,UAAU,EAAmB,MAAM,UAAU,CAAC;AAEtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAGtF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Force-move a tag to a commit, on the local repo and the remote — the one
3
+ * shared tag-move both floating-tag advancers use (#446, epic #442).
4
+ *
5
+ * The repo previously carried this two-line sequence twice in inline bash:
6
+ * `release-npm.yml`'s "Move floating major tag" (advancing `v<major>` to
7
+ * the latest release) and `advance-v0.yml`'s "Force-move v0" (advancing
8
+ * `v0` to HEAD). Consolidating them here means the local-tag write and the
9
+ * ref-scoped force-push can never disagree between the two sites.
10
+ *
11
+ * `git tag -f` overwrites the local tag; `git push --force origin
12
+ * refs/tags/<name>` publishes that move, ref-scoped so it touches no other
13
+ * tag. Force is intrinsic — a floating tag by definition moves, so the
14
+ * remote update is a non-fast-forward the push must be allowed to make.
15
+ */
16
+ import { forceTag, pushTagRefForce } from './git.js';
17
+ export function forceMoveTag(name, target, opts = {}) {
18
+ forceTag(name, target, opts);
19
+ pushTagRefForce(name, opts);
20
+ }
21
+ //# sourceMappingURL=force-move-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"force-move-tag.js","sourceRoot":"","sources":["../src/force-move-tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAmB,eAAe,EAAE,MAAM,UAAU,CAAC;AAEtE,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,OAAmB,EAAE;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
package/dist/git.d.ts CHANGED
@@ -21,6 +21,27 @@ export declare function diffNames(from: string, to: string, opts?: GitOptions):
21
21
  export declare function tagList(glob: string, opts?: GitOptions): string[];
22
22
  export declare function createTag(name: string, sha: string, opts?: TagOptions): void;
23
23
  export declare function pushTag(name: string, opts?: GitOptions): void;
24
+ /**
25
+ * `git fetch --tags --force origin` — refresh every remote tag, forcing
26
+ * updates for tags that moved on the remote. The `--force` is load-bearing
27
+ * (#199): without it a tag the remote force-moved since checkout is
28
+ * rejected as a non-fast-forward, failing the fetch. Used before the
29
+ * floating-major-tag move re-derives "latest release" from local tags.
30
+ */
31
+ export declare function fetchTagsForce(opts?: GitOptions): void;
32
+ /**
33
+ * `git tag -f <name> <target>` — create or move a lightweight tag to
34
+ * `target`, overwriting an existing tag of the same name. The local half of
35
+ * a floating-tag move; pair with `pushTagRefForce` to publish it.
36
+ */
37
+ export declare function forceTag(name: string, target: string, opts?: GitOptions): void;
38
+ /**
39
+ * `git push --force origin refs/tags/<name>` — force-publish a single moved
40
+ * tag, ref-scoped so it is invisible to every other tag. The remote half of
41
+ * a floating-tag move: unlike `pushTagRef` (which fails on a non-fast-
42
+ * forward), this overwrites the remote tag, which floating tags require.
43
+ */
44
+ export declare function pushTagRefForce(name: string, opts?: GitOptions): void;
24
45
  /**
25
46
  * The tags whose commit is HEAD — `git tag --points-at HEAD`. Lists exactly
26
47
  * the tags the engine just created on this commit, with no fetch and no
@@ -37,6 +58,28 @@ export declare function tagsPointingAtHead(opts?: GitOptions): string[];
37
58
  * prevent. Distinct from `pushTag`, which pushes by bare name (#444).
38
59
  */
39
60
  export declare function pushTagRef(name: string, opts?: GitOptions): void;
61
+ /**
62
+ * `git add -f <pathspec>` — stage `pathspec`, overriding `.gitignore`. The
63
+ * action bundle (`dist-action/`) is gitignored on main and exists only on
64
+ * tag commits, so folding it in requires the force flag.
65
+ */
66
+ export declare function addForce(pathspec: string, opts?: GitOptions): void;
67
+ /**
68
+ * Whether the index holds staged changes — `git diff --cached --quiet`
69
+ * exits non-zero when there are. Returns `true` when something is staged,
70
+ * `false` on a clean index. Used to guard the fold against committing
71
+ * nothing when `build:action` produced no bundle output.
72
+ */
73
+ export declare function hasStagedChanges(opts?: GitOptions): boolean;
74
+ /**
75
+ * `git commit -m <subject> -m <body>` — commit the staged index with a
76
+ * two-paragraph message. git joins the two `-m` values with a blank line,
77
+ * producing `<subject>\n\n<body>`, so passing the parent commit's full body
78
+ * as `body` forwards it verbatim into the new commit (the trailer-forward
79
+ * the fold relies on so a `release:` trailer survives — see
80
+ * notes/handoff/2026-04-24-dist-action.md).
81
+ */
82
+ export declare function commitWithBody(subject: string, body: string, opts?: GitOptions): void;
40
83
  /**
41
84
  * The commit a tag points at. `rev-list -n 1` dereferences an annotated
42
85
  * tag down to the commit it ultimately references.
package/dist/git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAW,SAAQ,UAAU;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgDD,wBAAgB,UAAU,CAAC,IAAI,GAAE,UAAe,GAAG,MAAM,CAExD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAGrE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,EAAE,CAM1E;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,UAAe,GACpB,MAAM,EAAE,CAIV;AAID,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,EAAE,CAIrE;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,UAAe,GACpB,IAAI,CAGN;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,UAAe,GAAG,MAAM,EAAE,CAIlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAErE;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,MAAM,GAAG,IAAI,CAmBf"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAW,SAAQ,UAAU;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgDD,wBAAgB,UAAU,CAAC,IAAI,GAAE,UAAe,GAAG,MAAM,CAExD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAGrE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,EAAE,CAM1E;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,UAAe,GACpB,MAAM,EAAE,CAIV;AAID,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,EAAE,CAIrE;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,UAAe,GACpB,IAAI,CAGN;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,UAAe,GAAG,IAAI,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,UAAe,GAAG,MAAM,EAAE,CAIlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEpE;AAID;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAO/D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAEzF;AAID;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAErE;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,MAAM,GAAG,IAAI,CAmBf"}
package/dist/git.js CHANGED
@@ -89,6 +89,33 @@ export function createTag(name, sha, opts = {}) {
89
89
  export function pushTag(name, opts = {}) {
90
90
  run(['push', 'origin', name], opts);
91
91
  }
92
+ /**
93
+ * `git fetch --tags --force origin` — refresh every remote tag, forcing
94
+ * updates for tags that moved on the remote. The `--force` is load-bearing
95
+ * (#199): without it a tag the remote force-moved since checkout is
96
+ * rejected as a non-fast-forward, failing the fetch. Used before the
97
+ * floating-major-tag move re-derives "latest release" from local tags.
98
+ */
99
+ export function fetchTagsForce(opts = {}) {
100
+ run(['fetch', '--tags', '--force', 'origin'], opts);
101
+ }
102
+ /**
103
+ * `git tag -f <name> <target>` — create or move a lightweight tag to
104
+ * `target`, overwriting an existing tag of the same name. The local half of
105
+ * a floating-tag move; pair with `pushTagRefForce` to publish it.
106
+ */
107
+ export function forceTag(name, target, opts = {}) {
108
+ run(['tag', '-f', name, target], opts);
109
+ }
110
+ /**
111
+ * `git push --force origin refs/tags/<name>` — force-publish a single moved
112
+ * tag, ref-scoped so it is invisible to every other tag. The remote half of
113
+ * a floating-tag move: unlike `pushTagRef` (which fails on a non-fast-
114
+ * forward), this overwrites the remote tag, which floating tags require.
115
+ */
116
+ export function pushTagRefForce(name, opts = {}) {
117
+ run(['push', '--force', 'origin', `refs/tags/${name}`], opts);
118
+ }
92
119
  /**
93
120
  * The tags whose commit is HEAD — `git tag --points-at HEAD`. Lists exactly
94
121
  * the tags the engine just created on this commit, with no fetch and no
@@ -113,6 +140,42 @@ export function tagsPointingAtHead(opts = {}) {
113
140
  export function pushTagRef(name, opts = {}) {
114
141
  run(['push', 'origin', `refs/tags/${name}`], opts);
115
142
  }
143
+ /* ---------------------------- staging ---------------------------- */
144
+ /**
145
+ * `git add -f <pathspec>` — stage `pathspec`, overriding `.gitignore`. The
146
+ * action bundle (`dist-action/`) is gitignored on main and exists only on
147
+ * tag commits, so folding it in requires the force flag.
148
+ */
149
+ export function addForce(pathspec, opts = {}) {
150
+ run(['add', '-f', pathspec], opts);
151
+ }
152
+ /**
153
+ * Whether the index holds staged changes — `git diff --cached --quiet`
154
+ * exits non-zero when there are. Returns `true` when something is staged,
155
+ * `false` on a clean index. Used to guard the fold against committing
156
+ * nothing when `build:action` produced no bundle output.
157
+ */
158
+ export function hasStagedChanges(opts = {}) {
159
+ try {
160
+ run(['diff', '--cached', '--quiet'], opts);
161
+ return false;
162
+ }
163
+ catch {
164
+ return true;
165
+ }
166
+ }
167
+ /**
168
+ * `git commit -m <subject> -m <body>` — commit the staged index with a
169
+ * two-paragraph message. git joins the two `-m` values with a blank line,
170
+ * producing `<subject>\n\n<body>`, so passing the parent commit's full body
171
+ * as `body` forwards it verbatim into the new commit (the trailer-forward
172
+ * the fold relies on so a `release:` trailer survives — see
173
+ * notes/handoff/2026-04-24-dist-action.md).
174
+ */
175
+ export function commitWithBody(subject, body, opts = {}) {
176
+ run(['commit', '-m', subject, '-m', body], opts);
177
+ }
178
+ /* ------------------------------ tags ------------------------------ */
116
179
  /**
117
180
  * The commit a tag points at. `rev-list -n 1` dereferences an annotated
118
181
  * tag down to the commit it ultimately references.
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The wheel-relative directory the bundle_cli binary is expected at (#451).
3
+ *
4
+ * The engine analogue of the bash
5
+ * `stage_suffix="${STAGE_TO#./}"`
6
+ * `if [ -n "$python_source" ]; then stripped="${stage_suffix#"$python_source"/}"; … fi`
7
+ * — drop a single leading `./` from `stage_to`, then, when a non-empty
8
+ * `python-source` is an exact leading path segment, subtract it (maturin
9
+ * strips that dir from the wheel layout). A `python-source` that is set but
10
+ * is *not* a prefix of `stage_to` leaves the suffix unchanged — that
11
+ * combination is the consumer's misconfiguration to surface, not this
12
+ * function's to paper over, matching the bash's `!=` guard.
13
+ */
14
+ export declare function computeStageSuffix(stageTo: string, pythonSource: string): string;
15
+ //# sourceMappingURL=compute-stage-suffix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-stage-suffix.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/compute-stage-suffix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAOhF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The wheel-relative directory the bundle_cli binary is expected at (#451).
3
+ *
4
+ * The engine analogue of the bash
5
+ * `stage_suffix="${STAGE_TO#./}"`
6
+ * `if [ -n "$python_source" ]; then stripped="${stage_suffix#"$python_source"/}"; … fi`
7
+ * — drop a single leading `./` from `stage_to`, then, when a non-empty
8
+ * `python-source` is an exact leading path segment, subtract it (maturin
9
+ * strips that dir from the wheel layout). A `python-source` that is set but
10
+ * is *not* a prefix of `stage_to` leaves the suffix unchanged — that
11
+ * combination is the consumer's misconfiguration to surface, not this
12
+ * function's to paper over, matching the bash's `!=` guard.
13
+ */
14
+ export function computeStageSuffix(stageTo, pythonSource) {
15
+ const stageSuffix = stageTo.replace(/^\.\//, '');
16
+ if (pythonSource === '') {
17
+ return stageSuffix;
18
+ }
19
+ const prefix = `${pythonSource}/`;
20
+ return stageSuffix.startsWith(prefix) ? stageSuffix.slice(prefix.length) : stageSuffix;
21
+ }
22
+ //# sourceMappingURL=compute-stage-suffix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-stage-suffix.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/compute-stage-suffix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,YAAoB;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,YAAY,GAAG,CAAC;IAClC,OAAO,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACzF,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * `putitoutthere verify bundle-cli` — assert a maturin bundled-CLI wheel
3
+ * contains its cross-compiled binary at `<stage_to>/<bin>` (#451, epic #442).
4
+ *
5
+ * Extraction of the inline "bundle_cli — verify wheel contains
6
+ * <stage_to>/<bin>" bash block in `.github/workflows/_matrix.yml`. That step
7
+ * guards the #282/#358 contract: a `[package.bundle_cli]` build must stage
8
+ * its per-target binary into the wheel, so a consumer who declares a bundled
9
+ * CLI actually ships one. Without it, a build that silently failed to stage
10
+ * the binary would still produce a wheel and go green — the release surprise
11
+ * the no-surprises commitment exists to catch.
12
+ *
13
+ * The binary's expected path is `<stage_suffix>/<bin><ext>` where
14
+ * `stage_suffix` is `stage_to` with `[tool.maturin].python-source`
15
+ * subtracted (maturin strips that dir from the wheel layout) and `ext` is
16
+ * `.exe` on a Windows target. The wheel is a zip; its entries are read with
17
+ * the pure-Node reader `verify wheel` (#450) already ships — no `unzip`, so
18
+ * this runs on every platform the maturin matrix builds on, Windows
19
+ * included — and the match mirrors the bash `grep -qE
20
+ * "(^|/)<stage_suffix>/<expected>$"`. Synchronous throughout. Returns the
21
+ * process exit code (0 ok, 1 on a miss).
22
+ */
23
+ import type { VerifyBundleCliOptions } from './types.js';
24
+ export declare function verifyBundleCli(opts: VerifyBundleCliOptions): number;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CA4CpE"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * `putitoutthere verify bundle-cli` — assert a maturin bundled-CLI wheel
3
+ * contains its cross-compiled binary at `<stage_to>/<bin>` (#451, epic #442).
4
+ *
5
+ * Extraction of the inline "bundle_cli — verify wheel contains
6
+ * <stage_to>/<bin>" bash block in `.github/workflows/_matrix.yml`. That step
7
+ * guards the #282/#358 contract: a `[package.bundle_cli]` build must stage
8
+ * its per-target binary into the wheel, so a consumer who declares a bundled
9
+ * CLI actually ships one. Without it, a build that silently failed to stage
10
+ * the binary would still produce a wheel and go green — the release surprise
11
+ * the no-surprises commitment exists to catch.
12
+ *
13
+ * The binary's expected path is `<stage_suffix>/<bin><ext>` where
14
+ * `stage_suffix` is `stage_to` with `[tool.maturin].python-source`
15
+ * subtracted (maturin strips that dir from the wheel layout) and `ext` is
16
+ * `.exe` on a Windows target. The wheel is a zip; its entries are read with
17
+ * the pure-Node reader `verify wheel` (#450) already ships — no `unzip`, so
18
+ * this runs on every platform the maturin matrix builds on, Windows
19
+ * included — and the match mirrors the bash `grep -qE
20
+ * "(^|/)<stage_suffix>/<expected>$"`. Synchronous throughout. Returns the
21
+ * process exit code (0 ok, 1 on a miss).
22
+ */
23
+ import { readFileSync } from 'node:fs';
24
+ import { basename, isAbsolute, join, resolve } from 'node:path';
25
+ import { findDistFile } from '../wheel/find-dist-file.js';
26
+ import { readZipEntry } from '../wheel/read-zip-entry.js';
27
+ import { computeStageSuffix } from './compute-stage-suffix.js';
28
+ import { readPythonSource } from './read-python-source.js';
29
+ export function verifyBundleCli(opts) {
30
+ const pkgDir = isAbsolute(opts.path) ? opts.path : resolve(opts.cwd, opts.path);
31
+ const distDir = join(pkgDir, 'dist');
32
+ const wheel = findDistFile(distDir, '.whl');
33
+ if (wheel === null) {
34
+ process.stdout.write(`::error::no wheel produced under ${distDir}\n`);
35
+ return 1;
36
+ }
37
+ const stageSuffix = computeStageSuffix(opts.stageTo, readPythonSource(pkgDir));
38
+ const ext = opts.target.includes('windows') ? '.exe' : '';
39
+ const expected = `${opts.bin}${ext}`;
40
+ const suffix = `${stageSuffix}/${expected}`;
41
+ // The bash `unzip -l | awk '{print $NF}' | grep -qE "(^|/)…$"` over the
42
+ // wheel's entry names. The bash regex only ever anchors a fixed path suffix
43
+ // (`stage_suffix`/`bin` are literal paths, never patterns), so match it as
44
+ // a literal: `(^|/)<suffix>$` holds exactly when the entry is `<suffix>` or
45
+ // ends with `/<suffix>`, i.e. `"/"+name` ends with `"/"+suffix`. Building a
46
+ // RegExp from the interpolated path would both mis-handle a `.`/`+` in a
47
+ // real path and open a regex-injection seam (CodeQL) for zero benefit.
48
+ // `readZipEntry` visits entries until one matches, so the matcher doubles
49
+ // as the "wheel contents" collector: on a miss it has walked (and recorded)
50
+ // every name for the diagnostic listing the bash dumps with `unzip -l`; on
51
+ // a hit it short-circuits, and the listing is not needed.
52
+ const entries = [];
53
+ const present = readZipEntry(readFileSync(wheel), (name) => {
54
+ entries.push(name);
55
+ return `/${name}`.endsWith(`/${suffix}`);
56
+ }) !== null;
57
+ const base = basename(wheel);
58
+ if (!present) {
59
+ process.stdout.write(`::error::wheel ${base} missing bundle_cli binary at ${suffix}\n`);
60
+ process.stdout.write('wheel contents:\n');
61
+ for (const name of entries) {
62
+ process.stdout.write(`${name}\n`);
63
+ }
64
+ return 1;
65
+ }
66
+ process.stdout.write(`ok bundle_cli: ${suffix} present in ${base}\n`);
67
+ return 0;
68
+ }
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAE5C,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QACzD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,KAAK,IAAI,CAAC;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,IAAI,iCAAiC,MAAM,IAAI,CAClE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,eAAe,IAAI,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Read `[tool.maturin].python-source` (or the legacy `python_source`
3
+ * spelling) from a package's `pyproject.toml`, normalized (#451).
4
+ *
5
+ * The engine analogue of the inline `python3 - <<PY … tomllib …` block in
6
+ * `.github/workflows/_matrix.yml`'s "bundle_cli — verify wheel contains …"
7
+ * step. maturin strips this directory from the wheel layout, so it is
8
+ * subtracted from the front of `stage_to` before the binary path is built
9
+ * (see `computeStageSuffix`). Missing file, missing table, or missing key
10
+ * all resolve to `""` — the same "unset ⇒ leave stage_suffix unchanged"
11
+ * behaviour as the bash. Both spellings are honoured because maturin has
12
+ * accepted either across releases. Normalization mirrors the bash: drop a
13
+ * single leading `./` and any trailing slashes.
14
+ */
15
+ export declare function readPythonSource(pkgDir: string): string;
16
+ //# sourceMappingURL=read-python-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-python-source.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUvD"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Read `[tool.maturin].python-source` (or the legacy `python_source`
3
+ * spelling) from a package's `pyproject.toml`, normalized (#451).
4
+ *
5
+ * The engine analogue of the inline `python3 - <<PY … tomllib …` block in
6
+ * `.github/workflows/_matrix.yml`'s "bundle_cli — verify wheel contains …"
7
+ * step. maturin strips this directory from the wheel layout, so it is
8
+ * subtracted from the front of `stage_to` before the binary path is built
9
+ * (see `computeStageSuffix`). Missing file, missing table, or missing key
10
+ * all resolve to `""` — the same "unset ⇒ leave stage_suffix unchanged"
11
+ * behaviour as the bash. Both spellings are honoured because maturin has
12
+ * accepted either across releases. Normalization mirrors the bash: drop a
13
+ * single leading `./` and any trailing slashes.
14
+ */
15
+ import { existsSync, readFileSync } from 'node:fs';
16
+ import { join } from 'node:path';
17
+ import { parse as parseToml } from 'smol-toml';
18
+ export function readPythonSource(pkgDir) {
19
+ const pyproject = join(pkgDir, 'pyproject.toml');
20
+ if (!existsSync(pyproject)) {
21
+ return '';
22
+ }
23
+ const cfg = parseToml(readFileSync(pyproject, 'utf8'));
24
+ const maturin = cfg.tool?.maturin;
25
+ const raw = maturin?.['python-source'] ?? maturin?.python_source;
26
+ const src = typeof raw === 'string' ? raw : '';
27
+ return src.replace(/^\.\//, '').replace(/\/+$/, '');
28
+ }
29
+ //# sourceMappingURL=read-python-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-python-source.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/read-python-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAM/C,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgC,CAAC;IACtF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,OAAO,EAAE,aAAa,CAAC;IACjE,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Option shape for `verify bundle-cli` (#451).
3
+ */
4
+ export interface VerifyBundleCliOptions {
5
+ /** Working dir `--path` resolves against (default process.cwd()). */
6
+ cwd: string;
7
+ /** Package dir; the built wheel lives under `<path>/dist`. */
8
+ path: string;
9
+ /**
10
+ * The `bundle_cli.stage_to` path the binary was staged into, relative to
11
+ * the wheel root (a `[tool.maturin].python-source` prefix is subtracted).
12
+ */
13
+ stageTo: string;
14
+ /** The `bundle_cli.bin` name (a `.exe` suffix is added on Windows targets). */
15
+ bin: string;
16
+ /**
17
+ * The matrix row's target triple. A triple containing `windows` selects
18
+ * the `.exe` binary suffix; any other value adds none.
19
+ */
20
+ target: string;
21
+ }
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/verify/bundle-cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Option shape for `verify bundle-cli` (#451).
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/verify/bundle-cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "putitoutthere",
3
- "version": "0.2.44",
3
+ "version": "0.2.46",
4
4
  "description": "Polyglot release orchestrator for crates.io, PyPI, and npm",
5
5
  "license": "MIT",
6
6
  "repository": {