@quenty/nevermore-cli 4.50.1 → 4.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/commands/batch-command/batch-bundle-command.d.ts +15 -0
  3. package/dist/commands/batch-command/batch-bundle-command.d.ts.map +1 -0
  4. package/dist/commands/batch-command/batch-bundle-command.js +168 -0
  5. package/dist/commands/batch-command/batch-bundle-command.js.map +1 -0
  6. package/dist/commands/batch-command/batch-deploy-command.d.ts +2 -0
  7. package/dist/commands/batch-command/batch-deploy-command.d.ts.map +1 -1
  8. package/dist/commands/batch-command/batch-deploy-command.js +115 -16
  9. package/dist/commands/batch-command/batch-deploy-command.js.map +1 -1
  10. package/dist/commands/batch-command/batch-test-command.d.ts +1 -0
  11. package/dist/commands/batch-command/batch-test-command.d.ts.map +1 -1
  12. package/dist/commands/batch-command/batch-test-command.js +109 -17
  13. package/dist/commands/batch-command/batch-test-command.js.map +1 -1
  14. package/dist/commands/batch-command/index.d.ts.map +1 -1
  15. package/dist/commands/batch-command/index.js +2 -0
  16. package/dist/commands/batch-command/index.js.map +1 -1
  17. package/dist/commands/deploy-command/index.d.ts.map +1 -1
  18. package/dist/commands/deploy-command/index.js +7 -0
  19. package/dist/commands/deploy-command/index.js.map +1 -1
  20. package/dist/commands/test-command/test-command.d.ts +1 -0
  21. package/dist/commands/test-command/test-command.d.ts.map +1 -1
  22. package/dist/commands/test-command/test-command.js +19 -3
  23. package/dist/commands/test-command/test-command.js.map +1 -1
  24. package/dist/commands/tools-command/ci-post-deploy-results.d.ts.map +1 -1
  25. package/dist/commands/tools-command/ci-post-deploy-results.js +6 -2
  26. package/dist/commands/tools-command/ci-post-deploy-results.js.map +1 -1
  27. package/dist/commands/tools-command/ci-post-test-results.d.ts +1 -0
  28. package/dist/commands/tools-command/ci-post-test-results.d.ts.map +1 -1
  29. package/dist/commands/tools-command/ci-post-test-results.js +12 -3
  30. package/dist/commands/tools-command/ci-post-test-results.js.map +1 -1
  31. package/dist/utils/batch/changed-packages-utils.d.ts +11 -0
  32. package/dist/utils/batch/changed-packages-utils.d.ts.map +1 -1
  33. package/dist/utils/batch/changed-packages-utils.js +14 -0
  34. package/dist/utils/batch/changed-packages-utils.js.map +1 -1
  35. package/dist/utils/build/build.d.ts +7 -0
  36. package/dist/utils/build/build.d.ts.map +1 -1
  37. package/dist/utils/build/build.js.map +1 -1
  38. package/dist/utils/bundle/untrusted-tar.d.ts +28 -0
  39. package/dist/utils/bundle/untrusted-tar.d.ts.map +1 -0
  40. package/dist/utils/bundle/untrusted-tar.js +116 -0
  41. package/dist/utils/bundle/untrusted-tar.js.map +1 -0
  42. package/dist/utils/deploy/deploy-github-columns.d.ts +8 -1
  43. package/dist/utils/deploy/deploy-github-columns.d.ts.map +1 -1
  44. package/dist/utils/deploy/deploy-github-columns.js.map +1 -1
  45. package/dist/utils/deploy/deploy-metadata.d.ts +5 -0
  46. package/dist/utils/deploy/deploy-metadata.d.ts.map +1 -1
  47. package/dist/utils/deploy/deploy-metadata.js +36 -0
  48. package/dist/utils/deploy/deploy-metadata.js.map +1 -1
  49. package/dist/utils/deploy/deploy-metadata.test.js +35 -2
  50. package/dist/utils/deploy/deploy-metadata.test.js.map +1 -1
  51. package/dist/utils/deploy/prebuilt-deploy-bundle.d.ts +38 -0
  52. package/dist/utils/deploy/prebuilt-deploy-bundle.d.ts.map +1 -0
  53. package/dist/utils/deploy/prebuilt-deploy-bundle.js +209 -0
  54. package/dist/utils/deploy/prebuilt-deploy-bundle.js.map +1 -0
  55. package/dist/utils/deploy/prebuilt-deploy-bundle.test.d.ts +2 -0
  56. package/dist/utils/deploy/prebuilt-deploy-bundle.test.d.ts.map +1 -0
  57. package/dist/utils/deploy/prebuilt-deploy-bundle.test.js +194 -0
  58. package/dist/utils/deploy/prebuilt-deploy-bundle.test.js.map +1 -0
  59. package/dist/utils/job-context/base-job-context.d.ts.map +1 -1
  60. package/dist/utils/job-context/base-job-context.js +3 -2
  61. package/dist/utils/job-context/base-job-context.js.map +1 -1
  62. package/dist/utils/job-context/batch-script-job-context.d.ts +12 -0
  63. package/dist/utils/job-context/batch-script-job-context.d.ts.map +1 -1
  64. package/dist/utils/job-context/batch-script-job-context.js +19 -0
  65. package/dist/utils/job-context/batch-script-job-context.js.map +1 -1
  66. package/dist/utils/open-cloud/open-cloud-client.d.ts +1 -0
  67. package/dist/utils/open-cloud/open-cloud-client.d.ts.map +1 -1
  68. package/dist/utils/open-cloud/open-cloud-client.js +5 -0
  69. package/dist/utils/open-cloud/open-cloud-client.js.map +1 -1
  70. package/dist/utils/open-cloud/open-cloud-client.test.js +11 -0
  71. package/dist/utils/open-cloud/open-cloud-client.test.js.map +1 -1
  72. package/dist/utils/sourcemap/sourcemap-loader.d.ts +3 -3
  73. package/dist/utils/sourcemap/sourcemap-loader.d.ts.map +1 -1
  74. package/dist/utils/sourcemap/sourcemap-loader.js +6 -7
  75. package/dist/utils/sourcemap/sourcemap-loader.js.map +1 -1
  76. package/dist/utils/testing/batch-run.e2e.test.js +36 -0
  77. package/dist/utils/testing/batch-run.e2e.test.js.map +1 -1
  78. package/dist/utils/testing/runner/prebuilt-batch-bundle.d.ts +26 -0
  79. package/dist/utils/testing/runner/prebuilt-batch-bundle.d.ts.map +1 -0
  80. package/dist/utils/testing/runner/prebuilt-batch-bundle.js +145 -0
  81. package/dist/utils/testing/runner/prebuilt-batch-bundle.js.map +1 -0
  82. package/dist/utils/testing/runner/prebuilt-batch-bundle.test.d.ts +2 -0
  83. package/dist/utils/testing/runner/prebuilt-batch-bundle.test.d.ts.map +1 -0
  84. package/dist/utils/testing/runner/prebuilt-batch-bundle.test.js +197 -0
  85. package/dist/utils/testing/runner/prebuilt-batch-bundle.test.js.map +1 -0
  86. package/dist/utils/testing/runner/test-runner.d.ts +8 -1
  87. package/dist/utils/testing/runner/test-runner.d.ts.map +1 -1
  88. package/dist/utils/testing/runner/test-runner.js +19 -6
  89. package/dist/utils/testing/runner/test-runner.js.map +1 -1
  90. package/package.json +7 -6
  91. package/src/commands/batch-command/batch-bundle-command.ts +236 -0
  92. package/src/commands/batch-command/batch-deploy-command.ts +160 -16
  93. package/src/commands/batch-command/batch-test-command.ts +162 -18
  94. package/src/commands/batch-command/index.ts +2 -0
  95. package/src/commands/deploy-command/index.ts +7 -0
  96. package/src/commands/test-command/test-command.ts +20 -3
  97. package/src/commands/tools-command/ci-post-deploy-results.ts +9 -2
  98. package/src/commands/tools-command/ci-post-test-results.ts +20 -3
  99. package/src/utils/batch/changed-packages-utils.ts +23 -0
  100. package/src/utils/build/build.ts +7 -0
  101. package/src/utils/bundle/untrusted-tar.ts +160 -0
  102. package/src/utils/deploy/deploy-github-columns.ts +8 -1
  103. package/src/utils/deploy/deploy-metadata.test.ts +50 -1
  104. package/src/utils/deploy/deploy-metadata.ts +39 -0
  105. package/src/utils/deploy/prebuilt-deploy-bundle.test.ts +265 -0
  106. package/src/utils/deploy/prebuilt-deploy-bundle.ts +297 -0
  107. package/src/utils/job-context/base-job-context.ts +4 -2
  108. package/src/utils/job-context/batch-script-job-context.ts +34 -3
  109. package/src/utils/open-cloud/open-cloud-client.test.ts +15 -0
  110. package/src/utils/open-cloud/open-cloud-client.ts +11 -0
  111. package/src/utils/sourcemap/sourcemap-loader.ts +7 -9
  112. package/src/utils/testing/batch-run.e2e.test.ts +42 -0
  113. package/src/utils/testing/runner/prebuilt-batch-bundle.test.ts +272 -0
  114. package/src/utils/testing/runner/prebuilt-batch-bundle.ts +204 -0
  115. package/src/utils/testing/runner/test-runner.ts +43 -13
  116. package/tsconfig.tsbuildinfo +1 -1
@@ -57,6 +57,17 @@ export declare function discoverAllTestableBatchTargetsAsync(): Promise<BatchTar
57
57
  * Uses pnpm's --filter "...[<base>]" to include transitive dependents.
58
58
  */
59
59
  export declare function discoverChangedTestableBatchTargetsAsync(baseBranch: string): Promise<BatchTarget[]>;
60
+ /**
61
+ * The places `batch deploy` deploys, and `batch bundle --deploy` builds for a
62
+ * later deploy. One function so the two can never pick different places: a
63
+ * fork's bundle must hold what a same-repo run would have deployed.
64
+ */
65
+ export declare function discoverDeployBatchTargetsAsync(options: {
66
+ targetName: string;
67
+ all?: boolean;
68
+ base: string;
69
+ limit?: number;
70
+ }): Promise<BatchTarget[]>;
60
71
  /**
61
72
  * Fan a list of TargetPackages out into BatchTargets — one per place. A
62
73
  * single-place package produces one BatchTarget with the package name; a
@@ -1 +1 @@
1
- {"version":3,"file":"changed-packages-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/batch/changed-packages-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,iBAAiB,EAKlB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAE1B;AAED,gEAAgE;AAChE,wBAAsB,0BAA0B,CAC9C,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAOjC;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAwB1B;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,IAAI,OAAO,CACnE,WAAW,EAAE,CACd,CAGA;AAED;;;;GAIG;AACH,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAGxB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EAAE,GACxB,WAAW,EAAE,CA2Bf;AA6BD,+EAA+E;AAC/E,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAyC1B"}
1
+ {"version":3,"file":"changed-packages-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/batch/changed-packages-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,iBAAiB,EAKlB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAE1B;AAED,gEAAgE;AAChE,wBAAsB,0BAA0B,CAC9C,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAOjC;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAwB1B;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,IAAI,OAAO,CACnE,WAAW,EAAE,CACd,CAGA;AAED;;;;GAIG;AACH,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAGxB;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAWzB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EAAE,GACxB,WAAW,EAAE,CA2Bf;AA6BD,+EAA+E;AAC/E,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAyC1B"}
@@ -57,6 +57,20 @@ export async function discoverChangedTestableBatchTargetsAsync(baseBranch) {
57
57
  const packages = await discoverChangedTargetPackagesAsync(baseBranch, 'test');
58
58
  return _requireScriptTemplate(flattenToBatchTargets(packages));
59
59
  }
60
+ /**
61
+ * The places `batch deploy` deploys, and `batch bundle --deploy` builds for a
62
+ * later deploy. One function so the two can never pick different places: a
63
+ * fork's bundle must hold what a same-repo run would have deployed.
64
+ */
65
+ export async function discoverDeployBatchTargetsAsync(options) {
66
+ const discovered = options.all
67
+ ? await discoverAllTargetPackagesAsync(options.targetName)
68
+ : await discoverChangedTargetPackagesAsync(options.base, options.targetName);
69
+ const batchTargets = flattenToBatchTargets(discovered);
70
+ return options.limit && options.limit > 0
71
+ ? batchTargets.slice(0, options.limit)
72
+ : batchTargets;
73
+ }
60
74
  /**
61
75
  * Fan a list of TargetPackages out into BatchTargets — one per place. A
62
76
  * single-place package produces one BatchTarget with the package name; a
@@ -1 +1 @@
1
- {"version":3,"file":"changed-packages-utils.js","sourceRoot":"","sources":["../../../src/utils/batch/changed-packages-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changed-packages-utils.js","sourceRoot":"","sources":["../../../src/utils/batch/changed-packages-utils.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export interface DeployOverrides {
6
6
  placeId?: number;
7
7
  scriptTemplate?: string;
8
8
  placeFile?: string;
9
+ /**
10
+ * Rojo project the base place merge grafts by, in place of the target's own.
11
+ * Set together with `placeFile` when the place was built from a different
12
+ * checkout, so the merge follows the project that built it.
13
+ */
14
+ projectFile?: string;
9
15
  }
10
16
  export interface BuildPlaceOptions {
11
17
  /**
@@ -30,6 +36,7 @@ export interface BuildPlaceOptions {
30
36
  overrides?: DeployOverrides;
31
37
  reporter?: Reporter;
32
38
  packageName?: string;
39
+ deferBasePlaceMerge?: boolean;
33
40
  }
34
41
  /**
35
42
  * Opaque handle representing a built place file.
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/utils/build/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,2FAA2F;IAC3F,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA6C3B"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/utils/build/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;OAUG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,2FAA2F;IAC3F,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA6C3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/utils/build/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AA4DlE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA0B;IAE1B,MAAM,EACJ,MAAM,EAAE,WAAW,EACnB,cAAc,GAAG,YAAY,EAC7B,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,EAC3B,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhD,IAAI,SAAS,EAAE,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACpE,IAAI,SAAS,EAAE,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAC3D,IAAI,SAAS,EAAE,cAAc;QAC3B,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IAEnD,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,mBAAmB,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtE,QAAQ,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAChE,YAAY,CAAC,OAAO,CAClB,yBAAyB,mBAAmB,IAAI,MAAM,CAAC,OAAO,KAAK,CACpE,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;QAClD,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,YAAY,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/utils/build/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAmElE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA0B;IAE1B,MAAM,EACJ,MAAM,EAAE,WAAW,EACnB,cAAc,GAAG,YAAY,EAC7B,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,EAC3B,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhD,IAAI,SAAS,EAAE,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACpE,IAAI,SAAS,EAAE,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAC3D,IAAI,SAAS,EAAE,cAAc;QAC3B,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IAEnD,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,mBAAmB,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtE,QAAQ,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAChE,YAAY,CAAC,OAAO,CAClB,yBAAyB,mBAAmB,IAAI,MAAM,CAAC,OAAO,KAAK,CACpE,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;QAClD,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,YAAY,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,28 @@
1
+ export declare const PACKAGE_NAME_PATTERN: RegExp;
2
+ export type BundleKind = 'tests' | 'deploy';
3
+ export interface UntrustedTarOptions {
4
+ kind: BundleKind;
5
+ /** The one entry read into memory rather than written to `dir`. */
6
+ manifestName: string;
7
+ maxManifestBytes: number;
8
+ /** Every other entry must pass this, by its exact path in the archive. */
9
+ isEntryAllowed: (name: string) => boolean;
10
+ maxEntries: number;
11
+ /** Message for an archive holding more than `maxEntries` entries. */
12
+ maxEntriesMessage: string;
13
+ /** Returns an error message when `size` is too large for this entry. */
14
+ checkEntrySize: (name: string, size: number) => string | undefined;
15
+ }
16
+ export interface UntrustedTarContents {
17
+ manifestText: string;
18
+ /** Size of each entry written into `dir`, keyed by its archive path. */
19
+ entrySizes: Map<string, number>;
20
+ }
21
+ /**
22
+ * Read a bundle written by a fork's CI run into `dir`. Entries are read from the
23
+ * archive, never extracted by it: only regular files whose paths match
24
+ * `entryPattern` (or are the manifest) are accepted, so a path can never leave
25
+ * `dir` and a link can never be followed.
26
+ */
27
+ export declare function readUntrustedTarAsync(file: string, dir: string, options: UntrustedTarOptions): Promise<UntrustedTarContents>;
28
+ //# sourceMappingURL=untrusted-tar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"untrusted-tar.d.ts","sourceRoot":"","sources":["../../../src/utils/bundle/untrusted-tar.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,QAAwC,CAAC;AAE1E,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAO5C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpE;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA4F/B"}
@@ -0,0 +1,116 @@
1
+ import { createReadStream, createWriteStream } from 'fs';
2
+ import * as path from 'path';
3
+ import * as tar from 'tar';
4
+ // Names reach the bot's PR comment, so a fork's bundle gets no Markdown links,
5
+ // images, URLs, tables or @mentions: only a leading scope `@`, and plain text
6
+ // for a multi-place target's place name ("pkg - Hub (Test)").
7
+ export const PACKAGE_NAME_PATTERN = /^@?[\p{L}\p{N} /()+.,'_~-]{1,200}$/u;
8
+ const RUN_COMMANDS = {
9
+ tests: 'nevermore batch test --bundle <file>',
10
+ deploy: 'nevermore batch deploy --bundle <file>',
11
+ };
12
+ /**
13
+ * Read a bundle written by a fork's CI run into `dir`. Entries are read from the
14
+ * archive, never extracted by it: only regular files whose paths match
15
+ * `entryPattern` (or are the manifest) are accepted, so a path can never leave
16
+ * `dir` and a link can never be followed.
17
+ */
18
+ export async function readUntrustedTarAsync(file, dir, options) {
19
+ let manifestText;
20
+ const entrySizes = new Map();
21
+ const writes = [];
22
+ let failure;
23
+ // Write errors are recorded rather than rejected: the promises are awaited
24
+ // only once parsing ends, and one rejecting before then is unhandled.
25
+ const fail = (err) => {
26
+ failure ??= err;
27
+ };
28
+ const parser = new tar.Parser({
29
+ strict: true,
30
+ onReadEntry: (entry) => {
31
+ const name = entry.path;
32
+ const reject = (message) => {
33
+ failure ??= new Error(message);
34
+ entry.resume();
35
+ };
36
+ if (entry.type !== 'File' && entry.type !== 'OldFile') {
37
+ return reject(`Bundle entry ${name} is not a regular file`);
38
+ }
39
+ if (name === options.manifestName) {
40
+ if (manifestText !== undefined ||
41
+ entry.size > options.maxManifestBytes) {
42
+ return reject('Bundle has more than one manifest, or one too large');
43
+ }
44
+ const parts = [];
45
+ entry.on('data', (part) => parts.push(part));
46
+ entry.on('end', () => {
47
+ manifestText = Buffer.concat(parts).toString('utf-8');
48
+ });
49
+ return;
50
+ }
51
+ if (!options.isEntryAllowed(name) || entrySizes.has(name)) {
52
+ return reject(`Bundle has an unexpected entry: ${name}`);
53
+ }
54
+ if (entrySizes.size >= options.maxEntries) {
55
+ return reject(options.maxEntriesMessage);
56
+ }
57
+ const sizeError = options.checkEntrySize(name, entry.size);
58
+ if (sizeError) {
59
+ return reject(sizeError);
60
+ }
61
+ entrySizes.set(name, entry.size);
62
+ writes.push(new Promise((resolve) => {
63
+ const done = (err) => {
64
+ if (err) {
65
+ fail(err);
66
+ }
67
+ resolve();
68
+ };
69
+ const out = createWriteStream(path.join(dir, name));
70
+ out.on('finish', () => done());
71
+ out.on('error', (err) => {
72
+ done(err);
73
+ entry.resume();
74
+ });
75
+ entry.on('error', (err) => done(err instanceof Error ? err : new Error(String(err))));
76
+ entry.pipe(out);
77
+ }));
78
+ },
79
+ });
80
+ await new Promise((resolve, rejectRead) => {
81
+ const input = createReadStream(file);
82
+ input.on('error', rejectRead);
83
+ parser.on('error', (err) => rejectRead(new Error(`Bundle is not a valid tar file: ${err.message}`)));
84
+ parser.on('end', () => resolve());
85
+ input.pipe(parser);
86
+ });
87
+ await Promise.all(writes);
88
+ _checkKind(manifestText, options.kind);
89
+ if (failure) {
90
+ throw failure;
91
+ }
92
+ if (manifestText === undefined) {
93
+ throw new Error(`Bundle is missing ${options.manifestName}`);
94
+ }
95
+ return { manifestText, entrySizes };
96
+ }
97
+ function _checkKind(manifestText, expected) {
98
+ if (manifestText === undefined) {
99
+ return;
100
+ }
101
+ let kind;
102
+ try {
103
+ kind = JSON.parse(manifestText)?.kind;
104
+ }
105
+ catch {
106
+ return;
107
+ }
108
+ if (kind === undefined || kind === expected) {
109
+ return;
110
+ }
111
+ if (kind === 'tests' || kind === 'deploy') {
112
+ throw new Error(`This is a ${kind} bundle, not a ${expected} bundle. Run it with "${RUN_COMMANDS[kind]}".`);
113
+ }
114
+ throw new Error(`Bundle is of an unknown kind (expected ${expected})`);
115
+ }
116
+ //# sourceMappingURL=untrusted-tar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"untrusted-tar.js","sourceRoot":"","sources":["../../../src/utils/bundle/untrusted-tar.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  import { type GithubCommentTableConfig, type PackageResult } from '@quenty/cli-output-helpers/reporting';
2
- /** Deploy-specific result that extends the generic PackageResult with placeId. */
2
+ /** Deploy-specific result that extends the generic PackageResult with what was deployed where. */
3
3
  export interface BatchDeployResult extends PackageResult {
4
4
  placeId: number;
5
+ universeId?: number;
6
+ target?: string;
7
+ version?: number;
8
+ published?: boolean;
9
+ basePlaceVersion?: number;
10
+ commit?: string;
11
+ branch?: string;
5
12
  }
6
13
  /**
7
14
  * Shared config for the deploy results GitHub comment reporter.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-github-columns.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-github-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAGnB,MAAM,sCAAsC,CAAC;AAE9C,kFAAkF;AAClF,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,wBAAwB,CAW3B"}
1
+ {"version":3,"file":"deploy-github-columns.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-github-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAGnB,MAAM,sCAAsC,CAAC;AAE9C,kGAAkG;AAClG,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,wBAAwB,CAW3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-github-columns.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-github-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,cAAc,GACf,MAAM,sCAAsC,CAAC;AAO9C;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAGzC;IACC,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,aAAa,EAAE,mCAAmC;QAClD,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACxD,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,UAAU;QAChD,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,eAAe;QACrD,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,MAAM;QAClB,MAAM,CAAC,GAAiB;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,CAAC,GAAiB;YACtB,MAAM,OAAO,GACV,GAAG,CAAC,MAAwC,EAAE,OAAO,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,OAAO,GAAG,gCAAgC,OAAO,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,8CAA8C,OAAO,EAAE,CAAC;YACxE,OAAO,UAAU,OAAO,gBAAgB,OAAO,GAAG,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"deploy-github-columns.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-github-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,cAAc,GACf,MAAM,sCAAsC,CAAC;AAc9C;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAGzC;IACC,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,aAAa,EAAE,mCAAmC;QAClD,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACxD,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,UAAU;QAChD,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,eAAe;QACrD,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,MAAM;QAClB,MAAM,CAAC,GAAiB;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,CAAC,GAAiB;YACtB,MAAM,OAAO,GACV,GAAG,CAAC,MAAwC,EAAE,OAAO,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,OAAO,GAAG,gCAAgC,OAAO,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,8CAA8C,OAAO,EAAE,CAAC;YACxE,OAAO,UAAU,OAAO,gBAAgB,OAAO,GAAG,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -20,6 +20,11 @@ export interface GitDeployInfo {
20
20
  /**
21
21
  * Collect git metadata once per deploy. Every field is best-effort — a missing
22
22
  * git binary or a non-repo directory yields an empty object rather than an error.
23
+ *
24
+ * A `pull_request` run checks out `refs/pull/N/merge`, a synthetic commit that
25
+ * exists in neither repo, on a detached HEAD. There the PR's head commit and
26
+ * branch are read from the event payload instead, so a deployed build traces
27
+ * back to the commit its checks are reported on.
23
28
  */
24
29
  export declare function gatherGitDeployInfo(): GitDeployInfo;
25
30
  /** Per-place facts known at deploy time. */
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-metadata.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B,CAAC;AAoBF,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CASnD;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,GACpC,wBAAwB,CAgC1B;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAqBlB"}
1
+ {"version":3,"file":"deploy-metadata.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B,CAAC;AAoBF,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAkBnD;AA0BD,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,GACpC,wBAAwB,CAgC1B;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAqBlB"}
@@ -1,4 +1,5 @@
1
1
  import { execSync } from 'child_process';
2
+ import { readFileSync } from 'fs';
2
3
  import * as fs from 'fs/promises';
3
4
  import * as path from 'path';
4
5
  import { BuildContext, resolvePackagePath, } from '@quenty/nevermore-template-helpers';
@@ -21,8 +22,21 @@ function _git(args) {
21
22
  /**
22
23
  * Collect git metadata once per deploy. Every field is best-effort — a missing
23
24
  * git binary or a non-repo directory yields an empty object rather than an error.
25
+ *
26
+ * A `pull_request` run checks out `refs/pull/N/merge`, a synthetic commit that
27
+ * exists in neither repo, on a detached HEAD. There the PR's head commit and
28
+ * branch are read from the event payload instead, so a deployed build traces
29
+ * back to the commit its checks are reported on.
24
30
  */
25
31
  export function gatherGitDeployInfo() {
32
+ const pullRequestHead = _readPullRequestHead();
33
+ if (pullRequestHead) {
34
+ return {
35
+ commit: pullRequestHead.sha.slice(0, 10),
36
+ version: pullRequestHead.sha,
37
+ branch: pullRequestHead.ref,
38
+ };
39
+ }
26
40
  const info = {};
27
41
  const commit = _git(['rev-parse', '--short', 'HEAD']);
28
42
  if (commit)
@@ -35,6 +49,28 @@ export function gatherGitDeployInfo() {
35
49
  info.branch = branch;
36
50
  return info;
37
51
  }
52
+ function _readPullRequestHead() {
53
+ const eventName = process.env.GITHUB_EVENT_NAME;
54
+ const eventPath = process.env.GITHUB_EVENT_PATH;
55
+ if (!eventPath ||
56
+ (eventName !== 'pull_request' && eventName !== 'pull_request_target')) {
57
+ return undefined;
58
+ }
59
+ try {
60
+ const event = JSON.parse(readFileSync(eventPath, 'utf-8'));
61
+ const head = event?.pull_request?.head;
62
+ if (typeof head?.sha !== 'string' || !/^[0-9a-f]{40}$/.test(head.sha)) {
63
+ return undefined;
64
+ }
65
+ return {
66
+ sha: head.sha,
67
+ ref: typeof head.ref === 'string' ? head.ref : undefined,
68
+ };
69
+ }
70
+ catch {
71
+ return undefined;
72
+ }
73
+ }
38
74
  /**
39
75
  * Build the attribute map injected into the built place. `Deployed` is always
40
76
  * true here — its mere presence is what distinguishes a deployed build from a
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-metadata.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-metadata.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { describe, it, expect } from 'vitest';
1
+ import { afterEach, describe, it, expect, vi } from 'vitest';
2
2
  import * as fs from 'fs/promises';
3
3
  import * as os from 'os';
4
4
  import * as path from 'path';
5
- import { buildDeployMetadataAttributes, packageUsesManifestAsync, } from './deploy-metadata.js';
5
+ import { buildDeployMetadataAttributes, gatherGitDeployInfo, packageUsesManifestAsync, } from './deploy-metadata.js';
6
6
  async function withPackageJsonAsync(contents, fn) {
7
7
  const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'manifest-gate-'));
8
8
  try {
@@ -151,4 +151,37 @@ describe('packageUsesManifestAsync', () => {
151
151
  });
152
152
  });
153
153
  });
154
+ describe('gatherGitDeployInfo', () => {
155
+ afterEach(() => {
156
+ vi.unstubAllEnvs();
157
+ });
158
+ async function withEventAsync(eventName, event, fn) {
159
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'git-info-'));
160
+ try {
161
+ const eventPath = path.join(dir, 'event.json');
162
+ await fs.writeFile(eventPath, JSON.stringify(event));
163
+ vi.stubEnv('GITHUB_EVENT_NAME', eventName);
164
+ vi.stubEnv('GITHUB_EVENT_PATH', eventPath);
165
+ fn();
166
+ }
167
+ finally {
168
+ await fs.rm(dir, { recursive: true, force: true });
169
+ }
170
+ }
171
+ it("stamps a pull_request run with the PR's head, not the merge checkout", async () => {
172
+ const sha = 'b'.repeat(40);
173
+ await withEventAsync('pull_request', { pull_request: { head: { sha, ref: 'feature/x' } } }, () => {
174
+ expect(gatherGitDeployInfo()).toEqual({
175
+ commit: 'bbbbbbbbbb',
176
+ version: sha,
177
+ branch: 'feature/x',
178
+ });
179
+ });
180
+ });
181
+ it('reads the checkout for any other event', async () => {
182
+ await withEventAsync('push', { pull_request: { head: { sha: 'b'.repeat(40), ref: 'feature/x' } } }, () => {
183
+ expect(gatherGitDeployInfo().version).not.toBe('b'.repeat(40));
184
+ });
185
+ });
186
+ });
154
187
  //# sourceMappingURL=deploy-metadata.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-metadata.test.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-metadata.test.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { BuildContext } from '@quenty/nevermore-template-helpers';
2
+ import { type GitDeployInfo } from './deploy-metadata.js';
3
+ /**
4
+ * Places built by `nevermore batch bundle --deploy`, unpacked from a
5
+ * `*.nevermore.deploy.tar` and ready for `batch deploy --bundle` to deploy.
6
+ *
7
+ * Each place is the plain rojo build. Its base place is merged at deploy time,
8
+ * because downloading one needs the Open Cloud key the building run lacks.
9
+ */
10
+ export interface PrebuiltDeployBundle {
11
+ /** Deploy target name the places were built for, e.g. "integration". */
12
+ target: string;
13
+ /** The commit the places were built from, not the deploying checkout's. */
14
+ git: GitDeployInfo;
15
+ places: PrebuiltDeployPlace[];
16
+ /** Holds the unpacked files; whoever deploys them owns its cleanup. */
17
+ buildContext: BuildContext;
18
+ }
19
+ export interface PrebuiltDeployPlace {
20
+ /** Batch target display name, e.g. "@quenty/game" or "@quenty/game - hub". */
21
+ name: string;
22
+ rbxlPath: string;
23
+ /** The building checkout's rojo project, which says what to graft onto the base place. */
24
+ projectPath: string;
25
+ packageVersion?: string;
26
+ }
27
+ /** Suggested file suffix, following `deploy.nevermore.json`. */
28
+ export declare const DEPLOY_BUNDLE_FILE_SUFFIX = ".nevermore.deploy.tar";
29
+ export declare function writePrebuiltDeployBundleAsync(file: string, target: string, git: GitDeployInfo, places: PrebuiltDeployPlace[]): Promise<void>;
30
+ /**
31
+ * Read a deploy bundle file. It is untrusted: it comes from a fork's CI run.
32
+ * Entries are read rather than extracted, every manifest string is checked
33
+ * before it can reach a place attribute or the PR comment, and the bundle
34
+ * names places only by target name — where each one deploys, and which base
35
+ * place it merges onto, come from the deploying checkout's config.
36
+ */
37
+ export declare function readPrebuiltDeployBundleAsync(file: string): Promise<PrebuiltDeployBundle>;
38
+ //# sourceMappingURL=prebuilt-deploy-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prebuilt-deploy-bundle.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/prebuilt-deploy-bundle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMlE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,uEAAuE;IACvE,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAeD,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAejE,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,mBAAmB,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,CAAC,CA+C/B"}