@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.
- package/CHANGELOG.md +18 -0
- package/dist/commands/batch-command/batch-bundle-command.d.ts +15 -0
- package/dist/commands/batch-command/batch-bundle-command.d.ts.map +1 -0
- package/dist/commands/batch-command/batch-bundle-command.js +168 -0
- package/dist/commands/batch-command/batch-bundle-command.js.map +1 -0
- package/dist/commands/batch-command/batch-deploy-command.d.ts +2 -0
- package/dist/commands/batch-command/batch-deploy-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-deploy-command.js +115 -16
- package/dist/commands/batch-command/batch-deploy-command.js.map +1 -1
- package/dist/commands/batch-command/batch-test-command.d.ts +1 -0
- package/dist/commands/batch-command/batch-test-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-test-command.js +109 -17
- package/dist/commands/batch-command/batch-test-command.js.map +1 -1
- package/dist/commands/batch-command/index.d.ts.map +1 -1
- package/dist/commands/batch-command/index.js +2 -0
- package/dist/commands/batch-command/index.js.map +1 -1
- package/dist/commands/deploy-command/index.d.ts.map +1 -1
- package/dist/commands/deploy-command/index.js +7 -0
- package/dist/commands/deploy-command/index.js.map +1 -1
- package/dist/commands/test-command/test-command.d.ts +1 -0
- package/dist/commands/test-command/test-command.d.ts.map +1 -1
- package/dist/commands/test-command/test-command.js +19 -3
- package/dist/commands/test-command/test-command.js.map +1 -1
- package/dist/commands/tools-command/ci-post-deploy-results.d.ts.map +1 -1
- package/dist/commands/tools-command/ci-post-deploy-results.js +6 -2
- package/dist/commands/tools-command/ci-post-deploy-results.js.map +1 -1
- package/dist/commands/tools-command/ci-post-test-results.d.ts +1 -0
- package/dist/commands/tools-command/ci-post-test-results.d.ts.map +1 -1
- package/dist/commands/tools-command/ci-post-test-results.js +12 -3
- package/dist/commands/tools-command/ci-post-test-results.js.map +1 -1
- package/dist/utils/batch/changed-packages-utils.d.ts +11 -0
- package/dist/utils/batch/changed-packages-utils.d.ts.map +1 -1
- package/dist/utils/batch/changed-packages-utils.js +14 -0
- package/dist/utils/batch/changed-packages-utils.js.map +1 -1
- package/dist/utils/build/build.d.ts +7 -0
- package/dist/utils/build/build.d.ts.map +1 -1
- package/dist/utils/build/build.js.map +1 -1
- package/dist/utils/bundle/untrusted-tar.d.ts +28 -0
- package/dist/utils/bundle/untrusted-tar.d.ts.map +1 -0
- package/dist/utils/bundle/untrusted-tar.js +116 -0
- package/dist/utils/bundle/untrusted-tar.js.map +1 -0
- package/dist/utils/deploy/deploy-github-columns.d.ts +8 -1
- package/dist/utils/deploy/deploy-github-columns.d.ts.map +1 -1
- package/dist/utils/deploy/deploy-github-columns.js.map +1 -1
- package/dist/utils/deploy/deploy-metadata.d.ts +5 -0
- package/dist/utils/deploy/deploy-metadata.d.ts.map +1 -1
- package/dist/utils/deploy/deploy-metadata.js +36 -0
- package/dist/utils/deploy/deploy-metadata.js.map +1 -1
- package/dist/utils/deploy/deploy-metadata.test.js +35 -2
- package/dist/utils/deploy/deploy-metadata.test.js.map +1 -1
- package/dist/utils/deploy/prebuilt-deploy-bundle.d.ts +38 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.d.ts.map +1 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.js +209 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.js.map +1 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.d.ts +2 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.d.ts.map +1 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.js +194 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.js.map +1 -0
- package/dist/utils/job-context/base-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/base-job-context.js +3 -2
- package/dist/utils/job-context/base-job-context.js.map +1 -1
- package/dist/utils/job-context/batch-script-job-context.d.ts +12 -0
- package/dist/utils/job-context/batch-script-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/batch-script-job-context.js +19 -0
- package/dist/utils/job-context/batch-script-job-context.js.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.d.ts +1 -0
- package/dist/utils/open-cloud/open-cloud-client.d.ts.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.js +5 -0
- package/dist/utils/open-cloud/open-cloud-client.js.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.test.js +11 -0
- package/dist/utils/open-cloud/open-cloud-client.test.js.map +1 -1
- package/dist/utils/sourcemap/sourcemap-loader.d.ts +3 -3
- package/dist/utils/sourcemap/sourcemap-loader.d.ts.map +1 -1
- package/dist/utils/sourcemap/sourcemap-loader.js +6 -7
- package/dist/utils/sourcemap/sourcemap-loader.js.map +1 -1
- package/dist/utils/testing/batch-run.e2e.test.js +36 -0
- package/dist/utils/testing/batch-run.e2e.test.js.map +1 -1
- package/dist/utils/testing/runner/prebuilt-batch-bundle.d.ts +26 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.d.ts.map +1 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.js +145 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.js.map +1 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.test.d.ts +2 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.test.d.ts.map +1 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.test.js +197 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.test.js.map +1 -0
- package/dist/utils/testing/runner/test-runner.d.ts +8 -1
- package/dist/utils/testing/runner/test-runner.d.ts.map +1 -1
- package/dist/utils/testing/runner/test-runner.js +19 -6
- package/dist/utils/testing/runner/test-runner.js.map +1 -1
- package/package.json +7 -6
- package/src/commands/batch-command/batch-bundle-command.ts +236 -0
- package/src/commands/batch-command/batch-deploy-command.ts +160 -16
- package/src/commands/batch-command/batch-test-command.ts +162 -18
- package/src/commands/batch-command/index.ts +2 -0
- package/src/commands/deploy-command/index.ts +7 -0
- package/src/commands/test-command/test-command.ts +20 -3
- package/src/commands/tools-command/ci-post-deploy-results.ts +9 -2
- package/src/commands/tools-command/ci-post-test-results.ts +20 -3
- package/src/utils/batch/changed-packages-utils.ts +23 -0
- package/src/utils/build/build.ts +7 -0
- package/src/utils/bundle/untrusted-tar.ts +160 -0
- package/src/utils/deploy/deploy-github-columns.ts +8 -1
- package/src/utils/deploy/deploy-metadata.test.ts +50 -1
- package/src/utils/deploy/deploy-metadata.ts +39 -0
- package/src/utils/deploy/prebuilt-deploy-bundle.test.ts +265 -0
- package/src/utils/deploy/prebuilt-deploy-bundle.ts +297 -0
- package/src/utils/job-context/base-job-context.ts +4 -2
- package/src/utils/job-context/batch-script-job-context.ts +34 -3
- package/src/utils/open-cloud/open-cloud-client.test.ts +15 -0
- package/src/utils/open-cloud/open-cloud-client.ts +11 -0
- package/src/utils/sourcemap/sourcemap-loader.ts +7 -9
- package/src/utils/testing/batch-run.e2e.test.ts +42 -0
- package/src/utils/testing/runner/prebuilt-batch-bundle.test.ts +272 -0
- package/src/utils/testing/runner/prebuilt-batch-bundle.ts +204 -0
- package/src/utils/testing/runner/test-runner.ts +43 -13
- 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;
|
|
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;
|
|
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
|
|
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,
|
|
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;
|
|
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":"
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAYpE,MAAM,kBAAkB,GAAG,kBAAkB,CAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,EACf,eAAe,EACf,sCAAsC,CACvC,CAAC;AAEF,SAAS,IAAI,CAAC,IAAc;IAC1B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACvC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAYD
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
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"}
|