putitoutthere 0.2.29 → 0.2.31

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 (150) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/MIGRATIONS.md +1311 -0
  3. package/README.md +373 -41
  4. package/action.yml +9 -0
  5. package/dist/action.d.ts.map +1 -1
  6. package/dist/action.js +28 -6
  7. package/dist/action.js.map +1 -1
  8. package/dist/cascade.js +14 -7
  9. package/dist/cascade.js.map +1 -1
  10. package/dist/check-crate-size.d.ts +26 -0
  11. package/dist/check-crate-size.d.ts.map +1 -0
  12. package/dist/check-crate-size.js +99 -0
  13. package/dist/check-crate-size.js.map +1 -0
  14. package/dist/check.d.ts.map +1 -1
  15. package/dist/check.js +116 -16
  16. package/dist/check.js.map +1 -1
  17. package/dist/cli.d.ts +17 -4
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +173 -22
  20. package/dist/cli.js.map +1 -1
  21. package/dist/completeness.js +6 -3
  22. package/dist/completeness.js.map +1 -1
  23. package/dist/config.d.ts +2 -0
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +20 -5
  26. package/dist/config.js.map +1 -1
  27. package/dist/ensure-tag.d.ts +17 -0
  28. package/dist/ensure-tag.d.ts.map +1 -0
  29. package/dist/ensure-tag.js +28 -0
  30. package/dist/ensure-tag.js.map +1 -0
  31. package/dist/env.js +6 -3
  32. package/dist/env.js.map +1 -1
  33. package/dist/error-codes.d.ts +89 -0
  34. package/dist/error-codes.d.ts.map +1 -1
  35. package/dist/error-codes.js +102 -0
  36. package/dist/error-codes.js.map +1 -1
  37. package/dist/git.d.ts +5 -0
  38. package/dist/git.d.ts.map +1 -1
  39. package/dist/git.js +19 -6
  40. package/dist/git.js.map +1 -1
  41. package/dist/glob.d.ts +9 -0
  42. package/dist/glob.d.ts.map +1 -1
  43. package/dist/glob.js +29 -1
  44. package/dist/glob.js.map +1 -1
  45. package/dist/handlers/crates.d.ts +15 -0
  46. package/dist/handlers/crates.d.ts.map +1 -1
  47. package/dist/handlers/crates.js +84 -9
  48. package/dist/handlers/crates.js.map +1 -1
  49. package/dist/handlers/npm-platform.d.ts +11 -0
  50. package/dist/handlers/npm-platform.d.ts.map +1 -1
  51. package/dist/handlers/npm-platform.js +91 -8
  52. package/dist/handlers/npm-platform.js.map +1 -1
  53. package/dist/handlers/npm.d.ts.map +1 -1
  54. package/dist/handlers/npm.js +59 -9
  55. package/dist/handlers/npm.js.map +1 -1
  56. package/dist/handlers/pypi.d.ts +0 -6
  57. package/dist/handlers/pypi.d.ts.map +1 -1
  58. package/dist/handlers/pypi.js +28 -10
  59. package/dist/handlers/pypi.js.map +1 -1
  60. package/dist/log.js +16 -8
  61. package/dist/log.js.map +1 -1
  62. package/dist/normalize-artifacts.js +8 -4
  63. package/dist/normalize-artifacts.js.map +1 -1
  64. package/dist/plan-skew.d.ts +14 -0
  65. package/dist/plan-skew.d.ts.map +1 -0
  66. package/dist/plan-skew.js +28 -0
  67. package/dist/plan-skew.js.map +1 -0
  68. package/dist/plan-status-types.d.ts +42 -0
  69. package/dist/plan-status-types.d.ts.map +1 -0
  70. package/dist/plan-status-types.js +10 -0
  71. package/dist/plan-status-types.js.map +1 -0
  72. package/dist/plan-status.d.ts +23 -0
  73. package/dist/plan-status.d.ts.map +1 -0
  74. package/dist/plan-status.js +66 -0
  75. package/dist/plan-status.js.map +1 -0
  76. package/dist/plan.d.ts +8 -0
  77. package/dist/plan.d.ts.map +1 -1
  78. package/dist/plan.js +125 -25
  79. package/dist/plan.js.map +1 -1
  80. package/dist/preflight.d.ts +79 -0
  81. package/dist/preflight.d.ts.map +1 -1
  82. package/dist/preflight.js +715 -33
  83. package/dist/preflight.js.map +1 -1
  84. package/dist/publish.d.ts +7 -0
  85. package/dist/publish.d.ts.map +1 -1
  86. package/dist/publish.js +49 -18
  87. package/dist/publish.js.map +1 -1
  88. package/dist/python-versions.d.ts +40 -0
  89. package/dist/python-versions.d.ts.map +1 -0
  90. package/dist/python-versions.js +142 -0
  91. package/dist/python-versions.js.map +1 -0
  92. package/dist/reconcile-types.d.ts +36 -0
  93. package/dist/reconcile-types.d.ts.map +1 -0
  94. package/dist/reconcile-types.js +9 -0
  95. package/dist/reconcile-types.js.map +1 -0
  96. package/dist/reconcile.d.ts +21 -0
  97. package/dist/reconcile.d.ts.map +1 -0
  98. package/dist/reconcile.js +54 -0
  99. package/dist/reconcile.js.map +1 -0
  100. package/dist/release-packages.d.ts +33 -0
  101. package/dist/release-packages.d.ts.map +1 -0
  102. package/dist/release-packages.js +74 -0
  103. package/dist/release-packages.js.map +1 -0
  104. package/dist/resolve-tag-commit.d.ts +22 -0
  105. package/dist/resolve-tag-commit.d.ts.map +1 -0
  106. package/dist/resolve-tag-commit.js +26 -0
  107. package/dist/resolve-tag-commit.js.map +1 -0
  108. package/dist/retry.js +14 -7
  109. package/dist/retry.js.map +1 -1
  110. package/dist/status-classify.d.ts +17 -0
  111. package/dist/status-classify.d.ts.map +1 -0
  112. package/dist/status-classify.js +37 -0
  113. package/dist/status-classify.js.map +1 -0
  114. package/dist/status-format.d.ts +9 -0
  115. package/dist/status-format.d.ts.map +1 -0
  116. package/dist/status-format.js +19 -0
  117. package/dist/status-format.js.map +1 -0
  118. package/dist/status-types.d.ts +31 -0
  119. package/dist/status-types.d.ts.map +1 -0
  120. package/dist/status-types.js +8 -0
  121. package/dist/status-types.js.map +1 -0
  122. package/dist/status.d.ts +28 -0
  123. package/dist/status.d.ts.map +1 -0
  124. package/dist/status.js +72 -0
  125. package/dist/status.js.map +1 -0
  126. package/dist/tag-template.js +2 -1
  127. package/dist/tag-template.js.map +1 -1
  128. package/dist/trailer.js +16 -9
  129. package/dist/trailer.js.map +1 -1
  130. package/dist/types.d.ts +11 -0
  131. package/dist/types.d.ts.map +1 -1
  132. package/dist/types.js +4 -2
  133. package/dist/types.js.map +1 -1
  134. package/dist/verbose.js +7 -4
  135. package/dist/verbose.js.map +1 -1
  136. package/dist/wheel-abi.d.ts +37 -0
  137. package/dist/wheel-abi.d.ts.map +1 -0
  138. package/dist/wheel-abi.js +118 -0
  139. package/dist/wheel-abi.js.map +1 -0
  140. package/dist/write-crate-version.d.ts +32 -0
  141. package/dist/write-crate-version.d.ts.map +1 -0
  142. package/dist/write-crate-version.js +52 -0
  143. package/dist/write-crate-version.js.map +1 -0
  144. package/dist/write-launcher.d.ts +82 -0
  145. package/dist/write-launcher.d.ts.map +1 -0
  146. package/dist/write-launcher.js +236 -0
  147. package/dist/write-launcher.js.map +1 -0
  148. package/dist/write-version.js +2 -1
  149. package/dist/write-version.js.map +1 -1
  150. package/package.json +4 -2
@@ -30,6 +30,7 @@ import { execFileSync } from 'node:child_process';
30
30
  import { readFileSync, writeFileSync } from 'node:fs';
31
31
  import { join, relative } from 'node:path';
32
32
  import { TransientError } from '../types.js';
33
+ import { ErrorCodes } from '../error-codes.js';
33
34
  import { buildSubprocessEnv, nonEmpty } from '../env.js';
34
35
  import { USER_AGENT } from '../version.js';
35
36
  const REGISTRY = 'https://crates.io';
@@ -40,10 +41,12 @@ async function isPublishedImpl(pkg, version, _ctx) {
40
41
  method: 'GET',
41
42
  headers: { 'user-agent': USER_AGENT },
42
43
  });
43
- if (res.status === 200)
44
+ if (res.status === 200) {
44
45
  return true;
45
- if (res.status === 404)
46
+ }
47
+ if (res.status === 404) {
46
48
  return false;
49
+ }
47
50
  if (res.status >= 500) {
48
51
  throw new TransientError(`crates.io GET ${url} returned ${res.status}`);
49
52
  }
@@ -70,8 +73,9 @@ function writeVersionImpl(pkg, version, _ctx) {
70
73
  catch (err) {
71
74
  return Promise.reject(err instanceof Error ? err : new Error(String(err)));
72
75
  }
73
- if (updated === original)
76
+ if (updated === original) {
74
77
  return Promise.resolve([]);
78
+ }
75
79
  writeFileSync(cargoPath, updated, 'utf8');
76
80
  return Promise.resolve([cargoPath]);
77
81
  }
@@ -175,6 +179,26 @@ async function publishImpl(pkg, version, ctx) {
175
179
  url: `${fallbackUrl.replace(/\/$/, '')}/api/v1/crates/${crateNameFor(pkg)}/${version}`,
176
180
  };
177
181
  }
182
+ // crates.io's Trusted Publishing binds to an already-published
183
+ // crate: the OIDC mint succeeds and the exchanged token reaches
184
+ // cargo, but the registry returns a 404 ("crate `<name>` does not
185
+ // exist or you do not have permission to publish to it") on the
186
+ // very first publish. The naive "auth failed?" interpretation
187
+ // sends consumers down a credentials rabbit-hole when the real
188
+ // fix is one bootstrap publish with a classic CARGO_REGISTRY_TOKEN.
189
+ // Detect this exact shape and surface the bootstrap hint inline.
190
+ // Suppressed under the e2e seam (primary override in effect) — the
191
+ // alt-registry is configured `--no-auth` and doesn't model TP, so
192
+ // a 404 there is a different bug. #284.
193
+ if (primaryOverride === undefined &&
194
+ looksLikeFirstPublishTpRejection(stderr)) {
195
+ throw new Error([
196
+ `[${ErrorCodes.CRATES_FIRST_PUBLISH_TP_REJECTED}] cargo publish: crates.io rejected publishing "${crateNameFor(pkg)}" because the crate has never been published.`,
197
+ 'crates.io Trusted Publishing binds to an already-published crate, so the very first release of a new crate name cannot use the TP path.',
198
+ 'Bootstrap by setting CARGO_REGISTRY_TOKEN (a classic crates.io API token) for the first publish; every release after that can use trusted publishing.',
199
+ stderr ? `\n--- cargo stderr ---\n${stderr}` : '',
200
+ ].filter((s) => s.length > 0).join('\n'), { cause: err });
201
+ }
178
202
  const base = err instanceof Error ? err.message : String(err);
179
203
  throw new Error(`cargo publish failed${stderr ? `:\n${stderr}` : `: ${base}`}`, { cause: err });
180
204
  }
@@ -195,10 +219,35 @@ async function publishImpl(pkg, version, ctx) {
195
219
  * wouldn't trigger the fallback.
196
220
  */
197
221
  function isRateLimited(stderr) {
198
- if (!stderr)
222
+ if (!stderr) {
199
223
  return false;
224
+ }
200
225
  return /status\s+429\b/i.test(stderr) || /429\s+Too\s+Many\s+Requests/i.test(stderr);
201
226
  }
227
+ /**
228
+ * Match cargo's stderr shape when crates.io rejects the TP exchange
229
+ * because the crate has never been published. The fixture at
230
+ * `test/integration/fixtures/registry-responses/crates-io/publish-first-publish-tp-rejected.txt`
231
+ * captures the canonical shape; the catalog at
232
+ * `notes/upstream-behaviors.md` is the source of truth for the contract.
233
+ *
234
+ * Two anchors keep false positives out: a 404-status line and either
235
+ * the registry's "crate `<name>` does not exist" prose or the
236
+ * "trusted publish" mention. An unrelated 404 in some other cargo
237
+ * subcommand (e.g. a missing index file) won't carry the prose; an
238
+ * unrelated `does not exist` (e.g. a missing dependency) won't carry
239
+ * the 404 status.
240
+ */
241
+ export function looksLikeFirstPublishTpRejection(stderr) {
242
+ if (!stderr) {
243
+ return false;
244
+ }
245
+ if (!/status\s+404\b/i.test(stderr)) {
246
+ return false;
247
+ }
248
+ return (/crate\s+`[^`]+`\s+does\s+not\s+exist/i.test(stderr) ||
249
+ /trusted\s+publish/i.test(stderr));
250
+ }
202
251
  /* ------------------------------ internals ------------------------------ */
203
252
  /** The published name. Falls back to the pilot package name if no
204
253
  * explicit `crate` field is set. */
@@ -220,8 +269,9 @@ export function replaceCargoVersion(source, version) {
220
269
  throw new Error('Cargo.toml: no [package].version field found');
221
270
  }
222
271
  const [, pre, prefix, old, suffix] = m;
223
- if (old === version)
272
+ if (old === version) {
224
273
  return source;
274
+ }
225
275
  const start = m.index + pre.length;
226
276
  const end = start + prefix.length + old.length + suffix.length;
227
277
  return source.slice(0, start) + prefix + version + suffix + source.slice(end);
@@ -241,8 +291,9 @@ export function scanDirtyOutsideManifest(cwd, pkgPath, artifactsRoot, siblingPac
241
291
  encoding: 'utf8',
242
292
  stdio: ['ignore', 'pipe', 'pipe'],
243
293
  });
244
- if (!topOut.trim())
294
+ if (!topOut.trim()) {
245
295
  return null;
296
+ }
246
297
  }
247
298
  catch {
248
299
  return null;
@@ -294,14 +345,16 @@ export function scanDirtyOutsideManifest(cwd, pkgPath, artifactsRoot, siblingPac
294
345
  const siblingRels = [];
295
346
  for (const p of siblingPackagePaths ?? []) {
296
347
  const r = relative(cwd, p);
297
- if (r === '' || r.startsWith('..'))
348
+ if (r === '' || r.startsWith('..')) {
298
349
  continue;
350
+ }
299
351
  siblingRels.push(r.replace(/\\/g, '/'));
300
352
  }
301
353
  const unexpected = [];
302
354
  for (const raw of porcelain.split('\n')) {
303
- if (raw.length < 4)
355
+ if (raw.length < 4) {
304
356
  continue;
357
+ }
305
358
  // Porcelain v1: "XY path" or "XY old -> new" for renames. Index 3+
306
359
  // is the path; strip quoting if git applied any.
307
360
  const rest = raw.slice(3);
@@ -309,8 +362,9 @@ export function scanDirtyOutsideManifest(cwd, pkgPath, artifactsRoot, siblingPac
309
362
  const path = rest.includes(' -> ') ? rest.split(' -> ').pop() : rest;
310
363
  /* v8 ignore next -- quoted-path rendering not exercised by current tests */
311
364
  const normalized = path.startsWith('"') && path.endsWith('"') ? path.slice(1, -1) : path;
312
- if (normalized === managedRel)
365
+ if (normalized === managedRel) {
313
366
  continue;
367
+ }
314
368
  if (artifactsRel !== '' &&
315
369
  (normalized === artifactsRel ||
316
370
  normalized === `${artifactsRel}/` ||
@@ -331,9 +385,30 @@ function relativeOrSelf(base, target) {
331
385
  /* v8 ignore next -- relative() only returns '' when base === target */
332
386
  return r === '' ? target : r;
333
387
  }
388
+ /**
389
+ * Latest published version of the crate, or null when it has never been
390
+ * published (404). GET /api/v1/crates/{name} → `crate.newest_version`.
391
+ * Reuses `crateNameFor` so this read resolves the crates.io name exactly
392
+ * as `isPublished` / `publish` do. Any non-200/404 is surfaced as a
393
+ * TransientError; the read-only caller renders that as "unreachable".
394
+ */
395
+ async function latestVersionImpl(pkg, _ctx) {
396
+ const crateName = crateNameFor(pkg);
397
+ const url = `${REGISTRY}/api/v1/crates/${encodeURIComponent(crateName)}`;
398
+ const res = await fetch(url, { method: 'GET', headers: { 'user-agent': USER_AGENT } });
399
+ if (res.status === 200) {
400
+ const body = (await res.json());
401
+ return body.crate?.newest_version ?? null;
402
+ }
403
+ if (res.status === 404) {
404
+ return null;
405
+ }
406
+ throw new TransientError(`crates.io GET ${url} returned ${res.status}`);
407
+ }
334
408
  export const crates = {
335
409
  kind: 'crates',
336
410
  isPublished: isPublishedImpl,
411
+ latestVersion: latestVersionImpl,
337
412
  writeVersion: writeVersionImpl,
338
413
  publish: publishImpl,
339
414
  };
@@ -1 +1 @@
1
- {"version":3,"file":"crates.js","sourceRoot":"","sources":["../../src/handlers/crates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crates.js","sourceRoot":"","sources":["../../src/handlers/crates.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,17 @@ export declare function platformArtifactName(pkgName: string, mode: NpmBuildMode
102
102
  * write.
103
103
  */
104
104
  export declare function looksLikePublishOverRace(stderr: string | undefined): boolean;
105
+ /**
106
+ * Match npm's Sigstore/Rekor transparency-log dedupe error. The same
107
+ * retry-on-transient-network-error that produces the publish-over race
108
+ * (above) also re-submits an identical `--provenance` attestation; Rekor
109
+ * rejects the duplicate with `TLOG_CREATE_ENTRY_ERROR` / "an equivalent
110
+ * entry already exists in the transparency log". Unlike the publish-over
111
+ * race, a 409 here does NOT by itself prove the package landed (the first
112
+ * submit may have written the Rekor entry but failed the registry PUT),
113
+ * so callers must re-probe `npm view` to disambiguate.
114
+ */
115
+ export declare function looksLikeTlogDuplicate(stderr: string | undefined): boolean;
105
116
  interface OsCpu {
106
117
  os: string[];
107
118
  cpu: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"npm-platform.d.ts","sourceRoot":"","sources":["../../src/handlers/npm-platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD;;;0DAG0D;AAC1D,eAAO,MAAM,sBAAsB,sDAAuD,CAAC;AAE3F;;sEAEsE;AACtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,SAAS,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GAChE,SAAS,CAAC;AAEd;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE,CAQ7E;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,6EAA6E;IAC7E,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,GAAG,GACP,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuCrD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACzD,MAAM,CAsBR;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,MAAM,CAGR;AA6HD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG5E;AA4BD,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AA8CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAQnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM/E"}
1
+ {"version":3,"file":"npm-platform.d.ts","sourceRoot":"","sources":["../../src/handlers/npm-platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD;;;0DAG0D;AAC1D,eAAO,MAAM,sBAAsB,sDAAuD,CAAC;AAE3F;;sEAEsE;AACtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,SAAS,CAAC,YAAY,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GAChE,SAAS,CAAC;AAEd;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE,CAQ7E;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,6EAA6E;IAC7E,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,GAAG,GACP,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuCrD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACzD,MAAM,CAsBR;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,MAAM,CAGR;AAwKD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK1E;AAuDD,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AA8CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAQnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM/E"}
@@ -23,7 +23,7 @@
23
23
  * Issue #19. Plan: §13.7, §12.2.
24
24
  */
25
25
  import { execFileSync } from 'node:child_process';
26
- import { cpSync, mkdtempSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
26
+ import { chmodSync, cpSync, mkdtempSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
27
27
  import { tmpdir } from 'node:os';
28
28
  import { join } from 'node:path';
29
29
  import { sanitizeArtifactName } from '../config.js';
@@ -46,8 +46,9 @@ export const ALLOWED_NAME_VARIABLES = ['name', 'scope', 'base', 'triple', 'mode'
46
46
  * "vanilla — no platform packages".
47
47
  */
48
48
  export function normalizeBuild(build) {
49
- if (build === undefined)
49
+ if (build === undefined) {
50
50
  return [];
51
+ }
51
52
  const arr = typeof build === 'string' ? [build] : build;
52
53
  return arr.map((e) => typeof e === 'string'
53
54
  ? { mode: e, name: DEFAULT_NAME_TEMPLATE }
@@ -162,6 +163,16 @@ function synthesizePlatformPackage(pkg, entry, target, platformName, version, ct
162
163
  }
163
164
  const { os, cpu, libc } = targetToOsCpu(target);
164
165
  const fileList = readdirSync(staging);
166
+ const mainFile = pickMainFile(fileList, entry.mode);
167
+ // #365: bundled-cli binaries ship as package data referenced via
168
+ // `main`, not as a `bin` entry, so npm never sets the executable bit —
169
+ // and it is stripped crossing the Actions artifact upload/download
170
+ // boundary regardless of the mode `cargo build` produced. Restore +x
171
+ // on the staged binary for non-Windows targets; without it the
172
+ // launcher's spawn of the resolved binary EACCESes at runtime.
173
+ if (entry.mode === 'bundled-cli' && !os.includes('win32')) {
174
+ chmodSync(join(staging, mainFile), 0o755);
175
+ }
165
176
  // npm provenance verifier compares package.json.repository.url against
166
177
  // the publishing GitHub repo URL baked into the sigstore bundle. A
167
178
  // synthesized platform package without `repository` fails with E422
@@ -175,7 +186,7 @@ function synthesizePlatformPackage(pkg, entry, target, platformName, version, ct
175
186
  os,
176
187
  cpu,
177
188
  files: fileList,
178
- main: pickMainFile(fileList, entry.mode),
189
+ main: mainFile,
179
190
  ...(libc !== undefined ? { libc } : {}),
180
191
  ...(mainPkg['repository'] !== undefined ? { repository: mainPkg['repository'] } : {}),
181
192
  ...(mainPkg['license'] !== undefined ? { license: mainPkg['license'] } : {}),
@@ -194,15 +205,29 @@ function npmPublish(stagingDir, pkg, ctx) {
194
205
  nonEmpty(process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN));
195
206
  const access = pkg.access ?? 'public';
196
207
  const args = ['publish', `--access=${access}`];
197
- if (pkg.tag)
208
+ if (pkg.tag) {
198
209
  args.push(`--tag=${pkg.tag}`);
199
- if (hasOidc)
210
+ }
211
+ if (hasOidc) {
200
212
  args.push('--provenance');
201
- if (registryOverride)
213
+ }
214
+ if (registryOverride) {
202
215
  args.push(`--registry=${registryOverride}`);
216
+ }
217
+ // #305: pass the synthesized package directory as a positional <folder>
218
+ // arg to `npm publish`, not as the cwd. npm reads `.npmrc` from cwd
219
+ // upward, and any auth the consumer wrote alongside their package
220
+ // (e.g. the `_authToken` entries the e2e workflow writes into
221
+ // `fixture-tree/.npmrc` to authenticate against Verdaccio, and the
222
+ // analogous NPM_TOKEN-bootstrap shape consumers use against real npm)
223
+ // lives at `pkg.path`. Running with `cwd: stagingDir` (a tempdir) lost
224
+ // that auth — the platform PUTs went out unauthenticated, registry
225
+ // returned 4xx, the engine reported "npm publish (platform) failed".
226
+ // Mirrors what npm.ts:publishImpl already does for the main package.
227
+ args.push(stagingDir);
203
228
  try {
204
229
  execFileSync('npm', args, {
205
- cwd: stagingDir,
230
+ cwd: pkg.path,
206
231
  // #138: minimal env; don't leak parent process.env to npm.
207
232
  env: buildSubprocessEnv(ctx.env),
208
233
  stdio: ['ignore', 'pipe', 'pipe'],
@@ -220,6 +245,24 @@ function npmPublish(stagingDir, pkg, ctx) {
220
245
  if (looksLikePublishOverRace(stderr)) {
221
246
  return;
222
247
  }
248
+ // Attestation edition of the same retry race: npm re-submits an
249
+ // identical provenance attestation and Sigstore/Rekor rejects the
250
+ // duplicate with TLOG_CREATE_ENTRY_ERROR (409). A 409 alone does not
251
+ // prove the registry upload landed, so re-probe `npm view` before
252
+ // deciding: present => the publish actually succeeded (benign dup);
253
+ // absent => a genuine partial publish that a fresh run (new
254
+ // attestation) resolves.
255
+ if (looksLikeTlogDuplicate(stderr)) {
256
+ const staged = readStagedIdentity(stagingDir);
257
+ if (platformPublishedSync(staged.name, staged.version, ctx)) {
258
+ return;
259
+ }
260
+ throw new Error(`npm publish (platform) failed: Sigstore transparency-log dedupe ` +
261
+ `(TLOG_CREATE_ENTRY_ERROR) and ${staged.name}@${staged.version} is not ` +
262
+ `on the registry — npm's provenance retry re-submitted an identical ` +
263
+ `attestation. Re-run the release to mint a fresh attestation.` +
264
+ `${stderr ? `\n${stderr}` : ''}`, { cause: err });
265
+ }
223
266
  const base = err instanceof Error ? err.message : String(err);
224
267
  throw new Error(`npm publish (platform) failed${stderr ? `:\n${stderr}` : `: ${base}`}`, { cause: err });
225
268
  }
@@ -233,10 +276,50 @@ function npmPublish(stagingDir, pkg, ctx) {
233
276
  * write.
234
277
  */
235
278
  export function looksLikePublishOverRace(stderr) {
236
- if (!stderr)
279
+ if (!stderr) {
237
280
  return false;
281
+ }
238
282
  return /cannot publish over the previously published versions/i.test(stderr);
239
283
  }
284
+ /**
285
+ * Match npm's Sigstore/Rekor transparency-log dedupe error. The same
286
+ * retry-on-transient-network-error that produces the publish-over race
287
+ * (above) also re-submits an identical `--provenance` attestation; Rekor
288
+ * rejects the duplicate with `TLOG_CREATE_ENTRY_ERROR` / "an equivalent
289
+ * entry already exists in the transparency log". Unlike the publish-over
290
+ * race, a 409 here does NOT by itself prove the package landed (the first
291
+ * submit may have written the Rekor entry but failed the registry PUT),
292
+ * so callers must re-probe `npm view` to disambiguate.
293
+ */
294
+ export function looksLikeTlogDuplicate(stderr) {
295
+ if (!stderr) {
296
+ return false;
297
+ }
298
+ return /TLOG_CREATE_ENTRY_ERROR|equivalent entry already exists in the transparency log/i.test(stderr);
299
+ }
300
+ /**
301
+ * Synchronous `npm view <name>@<version>` existence probe. Mirrors
302
+ * `isPlatformPublished` without the Promise wrapper so it can run inside
303
+ * the (execFileSync-based) publish catch.
304
+ */
305
+ function platformPublishedSync(name, version, ctx) {
306
+ try {
307
+ execFileSync('npm', ['view', `${name}@${version}`, 'version'], {
308
+ cwd: ctx.cwd,
309
+ stdio: ['ignore', 'pipe', 'pipe'],
310
+ });
311
+ return true;
312
+ }
313
+ catch {
314
+ return false;
315
+ }
316
+ }
317
+ /** Read the synthesized platform package's name + version back from its
318
+ * staged package.json (written by `synthesizePlatformPackage`). */
319
+ function readStagedIdentity(stagingDir) {
320
+ const pkg = JSON.parse(readFileSync(join(stagingDir, 'package.json'), 'utf8'));
321
+ return { name: pkg.name, version: pkg.version };
322
+ }
240
323
  function rewriteOptionalDependencies(pkg, version, platformPackages) {
241
324
  const p = join(pkg.path, 'package.json');
242
325
  const raw = readFileSync(p, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"npm-platform.js","sourceRoot":"","sources":["../../src/handlers/npm-platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm-platform.js","sourceRoot":"","sources":["../../src/handlers/npm-platform.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAA6B,KAAK,OAAO,EAAwC,MAAM,aAAa,CAAC;AA+N5G;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBvE;AAYD,eAAO,MAAM,GAAG,EAAE,OAKjB,CAAC"}
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAA6C,KAAK,OAAO,EAAwC,MAAM,aAAa,CAAC;AAsP5H;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBvE;AAkCD,eAAO,MAAM,GAAG,EAAE,OAMjB,CAAC"}
@@ -10,8 +10,8 @@
10
10
  import { execFileSync } from 'node:child_process';
11
11
  import { readFileSync, writeFileSync } from 'node:fs';
12
12
  import { join } from 'node:path';
13
- import { normalizeTarget } from '../types.js';
14
- import { looksLikePublishOverRace, normalizeBuild, publishPlatforms, } from './npm-platform.js';
13
+ import { normalizeTarget, TransientError } from '../types.js';
14
+ import { looksLikePublishOverRace, looksLikeTlogDuplicate, normalizeBuild, publishPlatforms, } from './npm-platform.js';
15
15
  import { buildSubprocessEnv, nonEmpty } from '../env.js';
16
16
  import { ErrorCodes } from '../error-codes.js';
17
17
  import { USER_AGENT } from '../version.js';
@@ -54,8 +54,9 @@ function writeVersionImpl(pkg, version, _ctx) {
54
54
  catch (err) {
55
55
  return Promise.reject(new Error(`package.json JSON parse error: ${err instanceof Error ? err.message : String(err)}`));
56
56
  }
57
- if (parsed.version === version)
57
+ if (parsed.version === version) {
58
58
  return Promise.resolve([]);
59
+ }
59
60
  parsed.version = version;
60
61
  // Preserve the existing indentation shape (2-space default if we
61
62
  // can't detect) and the trailing newline when present.
@@ -110,12 +111,15 @@ async function publishImpl(pkg, version, ctx) {
110
111
  }
111
112
  const access = pkg.access ?? 'public';
112
113
  const args = ['publish', `--access=${access}`];
113
- if (pkg.tag)
114
+ if (pkg.tag) {
114
115
  args.push(`--tag=${pkg.tag}`);
115
- if (hasOidc)
116
+ }
117
+ if (hasOidc) {
116
118
  args.push('--provenance');
117
- if (registryOverride)
119
+ }
120
+ if (registryOverride) {
118
121
  args.push(`--registry=${registryOverride}`);
122
+ }
119
123
  try {
120
124
  execFileSync('npm', args, {
121
125
  cwd: pkg.path,
@@ -140,6 +144,25 @@ async function publishImpl(pkg, version, ctx) {
140
144
  url: `https://www.npmjs.com/package/${name}/v/${version}`,
141
145
  };
142
146
  }
147
+ // Attestation edition of the publish-over race: npm's retry re-submits
148
+ // an identical --provenance attestation and Sigstore/Rekor rejects the
149
+ // duplicate (TLOG_CREATE_ENTRY_ERROR, 409). A 409 alone doesn't prove
150
+ // the upload landed, so re-probe the registry: present => the publish
151
+ // actually succeeded; absent => a genuine partial publish that a fresh
152
+ // run (new attestation) resolves.
153
+ if (looksLikeTlogDuplicate(stderr)) {
154
+ if (await isPublishedImpl(pkg, version, ctx)) {
155
+ return {
156
+ status: 'already-published',
157
+ url: `https://www.npmjs.com/package/${name}/v/${version}`,
158
+ };
159
+ }
160
+ throw new Error(`npm publish failed: Sigstore transparency-log dedupe ` +
161
+ `(TLOG_CREATE_ENTRY_ERROR) and ${name}@${version} is not on the ` +
162
+ `registry — npm's provenance retry re-submitted an identical ` +
163
+ `attestation. Re-run the release to mint a fresh attestation.` +
164
+ `${stderr ? `\n${stderr}` : ''}`, { cause: err });
165
+ }
143
166
  // npm trusted publishing (OIDC) requires the package to already
144
167
  // exist on the registry; the first-ever publish must go through a
145
168
  // token. Detect that exact shape — auth failure + OIDC in play +
@@ -189,8 +212,9 @@ function assertRepositoryField(path) {
189
212
  }
190
213
  /** Heuristic match on npm's auth-related stderr shapes. */
191
214
  function looksLikeAuthFailure(stderr) {
192
- if (!stderr)
215
+ if (!stderr) {
193
216
  return false;
217
+ }
194
218
  return /\b(E401|E403|ENEEDAUTH|EAUTH|need auth|not authori[sz]ed|unauthorized|forbidden)\b/i.test(stderr);
195
219
  }
196
220
  /**
@@ -228,16 +252,42 @@ export async function isBootstrapPublish(name) {
228
252
  function detectIndent(source) {
229
253
  const m = /^(?<indent>[ \t]+)"/m.exec(source);
230
254
  /* v8 ignore next -- JSON.parse of valid JSON always has at least one indented line when pretty-printed */
231
- if (!m?.groups?.indent)
255
+ if (!m?.groups?.indent) {
232
256
  return 2;
257
+ }
233
258
  const indent = m.groups.indent;
234
- if (indent.includes('\t'))
259
+ if (indent.includes('\t')) {
235
260
  return '\t';
261
+ }
236
262
  return indent.length;
237
263
  }
264
+ /**
265
+ * Latest published version of the package, or null when it has never
266
+ * been published (404). GET registry.npmjs.org/{name} (the packument) →
267
+ * `dist-tags.latest`. Reuses `npmNameFor` and the same scoped-name
268
+ * encoding as the bootstrap probe, so this read resolves the npm name
269
+ * exactly as `isPublished` / `publish` do. Any non-200/404 is surfaced
270
+ * as a TransientError; the read-only caller renders that as
271
+ * "unreachable". Unlike `isPublished` (which shells out to `npm view`),
272
+ * this uses a plain unauthenticated GET — `status` needs no npm CLI.
273
+ */
274
+ async function latestVersionImpl(pkg, _ctx) {
275
+ const name = npmNameFor(pkg);
276
+ const url = `https://registry.npmjs.org/${encodeURIComponent(name).replaceAll('%40', '@')}`;
277
+ const res = await fetch(url, { method: 'GET', headers: { 'user-agent': USER_AGENT } });
278
+ if (res.status === 200) {
279
+ const body = (await res.json());
280
+ return body['dist-tags']?.latest ?? null;
281
+ }
282
+ if (res.status === 404) {
283
+ return null;
284
+ }
285
+ throw new TransientError(`registry.npmjs.org GET ${url} returned ${res.status}`);
286
+ }
238
287
  export const npm = {
239
288
  kind: 'npm',
240
289
  isPublished: isPublishedImpl,
290
+ latestVersion: latestVersionImpl,
241
291
  writeVersion: writeVersionImpl,
242
292
  publish: publishImpl,
243
293
  };
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/handlers/npm.ts"],"names":[],"mappings":"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"}