@lage-run/cli 0.4.14 → 0.4.16
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.json +49 -1
- package/CHANGELOG.md +21 -2
- package/lib/commands/run/filterPipelineDefinitions.d.ts +3 -0
- package/lib/commands/run/filterPipelineDefinitions.js +18 -0
- package/lib/commands/run/filterPipelineDefinitions.js.map +1 -0
- package/lib/commands/run/runAction.js +7 -5
- package/lib/commands/run/runAction.js.map +1 -1
- package/lib/commands/run/watchAction.js +7 -6
- package/lib/commands/run/watchAction.js.map +1 -1
- package/lib/config/getMaxWorkersPerTask.d.ts +1 -1
- package/lib/config/getMaxWorkersPerTask.js +24 -17
- package/lib/config/getMaxWorkersPerTask.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,55 @@
|
|
|
2
2
|
"name": "@lage-run/cli",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Fri, 21 Oct 2022 21:36:26 GMT",
|
|
6
|
+
"tag": "@lage-run/cli_v0.4.16",
|
|
7
|
+
"version": "0.4.16",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "ken@gizzar.com",
|
|
12
|
+
"package": "@lage-run/cli",
|
|
13
|
+
"commit": "735930e09c2fdf476c3f2c56c1c05062401097b8",
|
|
14
|
+
"comment": "pipelines with maxWorker now create separate pools"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@lage-run/cli",
|
|
19
|
+
"comment": "Bump @lage-run/scheduler to v0.4.12",
|
|
20
|
+
"commit": "735930e09c2fdf476c3f2c56c1c05062401097b8"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "beachball",
|
|
24
|
+
"package": "@lage-run/cli",
|
|
25
|
+
"comment": "Bump @lage-run/reporters to v0.2.26",
|
|
26
|
+
"commit": "735930e09c2fdf476c3f2c56c1c05062401097b8"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"date": "Fri, 21 Oct 2022 19:33:09 GMT",
|
|
33
|
+
"tag": "@lage-run/cli_v0.4.15",
|
|
34
|
+
"version": "0.4.15",
|
|
35
|
+
"comments": {
|
|
36
|
+
"patch": [
|
|
37
|
+
{
|
|
38
|
+
"author": "beachball",
|
|
39
|
+
"package": "@lage-run/cli",
|
|
40
|
+
"comment": "Bump @lage-run/scheduler to v0.4.11",
|
|
41
|
+
"commit": "e702680c6e9fbd423e92b34d7fbb989a3c06e69c"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"author": "beachball",
|
|
45
|
+
"package": "@lage-run/cli",
|
|
46
|
+
"comment": "Bump @lage-run/reporters to v0.2.25",
|
|
47
|
+
"commit": "e702680c6e9fbd423e92b34d7fbb989a3c06e69c"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"date": "Thu, 20 Oct 2022 00:22:27 GMT",
|
|
6
54
|
"tag": "@lage-run/cli_v0.4.14",
|
|
7
55
|
"version": "0.4.14",
|
|
8
56
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
# Change Log - @lage-run/cli
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Fri, 21 Oct 2022 21:36:26 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.4.16
|
|
8
|
+
|
|
9
|
+
Fri, 21 Oct 2022 21:36:26 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- pipelines with maxWorker now create separate pools (ken@gizzar.com)
|
|
14
|
+
- Bump @lage-run/scheduler to v0.4.12
|
|
15
|
+
- Bump @lage-run/reporters to v0.2.26
|
|
16
|
+
|
|
17
|
+
## 0.4.15
|
|
18
|
+
|
|
19
|
+
Fri, 21 Oct 2022 19:33:09 GMT
|
|
20
|
+
|
|
21
|
+
### Patches
|
|
22
|
+
|
|
23
|
+
- Bump @lage-run/scheduler to v0.4.11
|
|
24
|
+
- Bump @lage-run/reporters to v0.2.25
|
|
25
|
+
|
|
7
26
|
## 0.4.14
|
|
8
27
|
|
|
9
|
-
Thu, 20 Oct 2022 00:22:
|
|
28
|
+
Thu, 20 Oct 2022 00:22:27 GMT
|
|
10
29
|
|
|
11
30
|
### Patches
|
|
12
31
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterPipelineDefinitions = void 0;
|
|
4
|
+
function filterPipelineDefinitions(targets, pipeline) {
|
|
5
|
+
const tasksSet = new Set();
|
|
6
|
+
for (const target of targets) {
|
|
7
|
+
tasksSet.add(target.task);
|
|
8
|
+
}
|
|
9
|
+
const filteredPipeline = {};
|
|
10
|
+
for (const [id, definition] of Object.entries(pipeline !== null && pipeline !== void 0 ? pipeline : {})) {
|
|
11
|
+
if (tasksSet.has(id)) {
|
|
12
|
+
filteredPipeline[id] = definition;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return filteredPipeline;
|
|
16
|
+
}
|
|
17
|
+
exports.filterPipelineDefinitions = filterPipelineDefinitions;
|
|
18
|
+
//# sourceMappingURL=filterPipelineDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterPipelineDefinitions.js","sourceRoot":"","sources":["../../../src/commands/run/filterPipelineDefinitions.ts"],"names":[],"mappings":";;;AAGA,SAAgB,yBAAyB,CAAC,OAAiC,EAAE,QAA4B;IACvG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;IACD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,EAAE;QAC7D,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACpB,gBAAgB,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;SACnC;KACF;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAdD,8DAcC"}
|
|
@@ -4,7 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.runAction = void 0;
|
|
7
|
+
const createCacheProvider_1 = require("./createCacheProvider");
|
|
7
8
|
const createProfileReporter_1 = require("./createProfileReporter");
|
|
9
|
+
const createTargetGraph_1 = require("./createTargetGraph");
|
|
10
|
+
const filterArgsForTasks_1 = require("./filterArgsForTasks");
|
|
11
|
+
const filterPipelineDefinitions_1 = require("./filterPipelineDefinitions");
|
|
8
12
|
const find_npm_client_1 = require("@lage-run/find-npm-client");
|
|
9
13
|
const getConfig_1 = require("../../config/getConfig");
|
|
10
14
|
const getMaxWorkersPerTask_1 = require("../../config/getMaxWorkersPerTask");
|
|
@@ -12,11 +16,7 @@ const workspace_tools_1 = require("workspace-tools");
|
|
|
12
16
|
const reporters_1 = require("@lage-run/reporters");
|
|
13
17
|
const scheduler_1 = require("@lage-run/scheduler");
|
|
14
18
|
const logger_1 = __importDefault(require("@lage-run/logger"));
|
|
15
|
-
const filterArgsForTasks_1 = require("./filterArgsForTasks");
|
|
16
|
-
const createTargetGraph_1 = require("./createTargetGraph");
|
|
17
|
-
const createCacheProvider_1 = require("./createCacheProvider");
|
|
18
19
|
async function runAction(options, command) {
|
|
19
|
-
var _a;
|
|
20
20
|
const cwd = process.cwd();
|
|
21
21
|
const config = await (0, getConfig_1.getConfig)(cwd);
|
|
22
22
|
// Configure logger
|
|
@@ -50,6 +50,8 @@ async function runAction(options, command) {
|
|
|
50
50
|
cacheOptions: config.cacheOptions,
|
|
51
51
|
skipLocalCache: options.skipLocalCache,
|
|
52
52
|
});
|
|
53
|
+
logger.verbose(`Running with ${options.concurrency} workers`);
|
|
54
|
+
const filteredPipeline = (0, filterPipelineDefinitions_1.filterPipelineDefinitions)(targetGraph.targets.values(), config.pipeline);
|
|
53
55
|
const scheduler = new scheduler_1.SimpleScheduler({
|
|
54
56
|
logger,
|
|
55
57
|
concurrency: options.concurrency,
|
|
@@ -58,7 +60,7 @@ async function runAction(options, command) {
|
|
|
58
60
|
continueOnError: options.continue,
|
|
59
61
|
shouldCache: options.cache,
|
|
60
62
|
shouldResetCache: options.resetCache,
|
|
61
|
-
maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)(
|
|
63
|
+
maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)(filteredPipeline, options.concurrency),
|
|
62
64
|
runners: Object.assign({ npmScript: {
|
|
63
65
|
script: require.resolve("./runners/NpmScriptRunner"),
|
|
64
66
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runAction.js","sourceRoot":"","sources":["../../../src/commands/run/runAction.ts"],"names":[],"mappings":";;;;;;AACA,mEAAgE;AAChE,+DAA0D;AAC1D,sDAAmD;AACnD,4EAAyE;AACzE,qDAAoE;AACpE,mDAA0D;AAC1D,mDAAsD;
|
|
1
|
+
{"version":3,"file":"runAction.js","sourceRoot":"","sources":["../../../src/commands/run/runAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,19 +24,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.watchAction = void 0;
|
|
27
|
+
const createCacheProvider_1 = require("./createCacheProvider");
|
|
28
|
+
const createTargetGraph_1 = require("./createTargetGraph");
|
|
29
|
+
const filterArgsForTasks_1 = require("./filterArgsForTasks");
|
|
27
30
|
const find_npm_client_1 = require("@lage-run/find-npm-client");
|
|
28
31
|
const getConfig_1 = require("../../config/getConfig");
|
|
29
32
|
const getMaxWorkersPerTask_1 = require("../../config/getMaxWorkersPerTask");
|
|
30
33
|
const workspace_tools_1 = require("workspace-tools");
|
|
34
|
+
const filterPipelineDefinitions_1 = require("./filterPipelineDefinitions");
|
|
31
35
|
const reporters_1 = require("@lage-run/reporters");
|
|
32
36
|
const scheduler_1 = require("@lage-run/scheduler");
|
|
33
|
-
const logger_1 = __importStar(require("@lage-run/logger"));
|
|
34
|
-
const filterArgsForTasks_1 = require("./filterArgsForTasks");
|
|
35
|
-
const createTargetGraph_1 = require("./createTargetGraph");
|
|
36
|
-
const createCacheProvider_1 = require("./createCacheProvider");
|
|
37
37
|
const watcher_1 = require("./watcher");
|
|
38
|
+
const logger_1 = __importStar(require("@lage-run/logger"));
|
|
38
39
|
async function watchAction(options, command) {
|
|
39
|
-
var _a;
|
|
40
40
|
const cwd = process.cwd();
|
|
41
41
|
const config = await (0, getConfig_1.getConfig)(cwd);
|
|
42
42
|
// Configure logger
|
|
@@ -72,6 +72,7 @@ async function watchAction(options, command) {
|
|
|
72
72
|
cacheOptions: config.cacheOptions,
|
|
73
73
|
skipLocalCache: false,
|
|
74
74
|
});
|
|
75
|
+
const filteredPipeline = (0, filterPipelineDefinitions_1.filterPipelineDefinitions)(targetGraph.targets.values(), config.pipeline);
|
|
75
76
|
const scheduler = new scheduler_1.SimpleScheduler({
|
|
76
77
|
logger,
|
|
77
78
|
concurrency: options.concurrency,
|
|
@@ -80,7 +81,7 @@ async function watchAction(options, command) {
|
|
|
80
81
|
continueOnError: true,
|
|
81
82
|
shouldCache: options.cache,
|
|
82
83
|
shouldResetCache: options.resetCache,
|
|
83
|
-
maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)(
|
|
84
|
+
maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)(filteredPipeline, options.concurrency),
|
|
84
85
|
runners: Object.assign({ npmScript: {
|
|
85
86
|
script: require.resolve("./runners/NpmScriptRunner"),
|
|
86
87
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchAction.js","sourceRoot":"","sources":["../../../src/commands/run/watchAction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"watchAction.js","sourceRoot":"","sources":["../../../src/commands/run/watchAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { ConfigOptions } from "../types/ConfigOptions";
|
|
2
|
-
export declare function getMaxWorkersPerTask(pipelineConfig: ConfigOptions["pipeline"]): Map<string, number>;
|
|
2
|
+
export declare function getMaxWorkersPerTask(pipelineConfig: ConfigOptions["pipeline"], concurrency: number): Map<string, number>;
|
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getMaxWorkersPerTask = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _a, _b, _c;
|
|
4
|
+
function getMaxWorkersPerTask(pipelineConfig, concurrency) {
|
|
5
|
+
var _a, _b;
|
|
10
6
|
const maxWorkersPerTask = new Map();
|
|
7
|
+
let total = 0;
|
|
11
8
|
for (const [task, taskConfig] of Object.entries(pipelineConfig)) {
|
|
12
9
|
if (!Array.isArray(taskConfig) && !task.includes("#")) {
|
|
13
|
-
const
|
|
10
|
+
const maxWorkerOption = (_a = taskConfig.maxWorkers) !== null && _a !== void 0 ? _a : (_b = taskConfig.options) === null || _b === void 0 ? void 0 : _b.maxWorkers;
|
|
11
|
+
if (typeof maxWorkerOption === "undefined") {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
14
|
let maxWorkers = 0;
|
|
15
|
-
if (typeof
|
|
16
|
-
|
|
17
|
-
maxWorkers = Math.floor(os_1.default.cpus().length * (parseInt(maxWorkerOptions, 10) / 100));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
maxWorkers = parseInt(maxWorkerOptions, 10);
|
|
21
|
-
}
|
|
15
|
+
if (typeof maxWorkerOption !== "number") {
|
|
16
|
+
throw new Error(`Invalid maxWorkers value: ${maxWorkerOption}`);
|
|
22
17
|
}
|
|
23
18
|
else {
|
|
24
|
-
maxWorkers =
|
|
19
|
+
maxWorkers = maxWorkerOption;
|
|
25
20
|
}
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
maxWorkersPerTask.set(task, maxWorkers);
|
|
22
|
+
total += maxWorkers;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// try to adjust the maxWorkersPerTask to fit the concurrency
|
|
26
|
+
if (total > concurrency) {
|
|
27
|
+
let newTotal = 0;
|
|
28
|
+
for (const [task, maxWorkers] of maxWorkersPerTask.entries()) {
|
|
29
|
+
const newMaxWorkers = Math.max(1, Math.floor((maxWorkers / total) * concurrency));
|
|
30
|
+
newTotal += newMaxWorkers;
|
|
31
|
+
maxWorkersPerTask.set(task, newMaxWorkers);
|
|
32
|
+
}
|
|
33
|
+
if (newTotal > concurrency) {
|
|
34
|
+
throw new Error("Could not adjust maxWorkers per task to fit the concurrency, try reducing the maxWorkers, or increasing the --concurrency CLI argument, or separate the tasks to be run");
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
return maxWorkersPerTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMaxWorkersPerTask.js","sourceRoot":"","sources":["../../src/config/getMaxWorkersPerTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMaxWorkersPerTask.js","sourceRoot":"","sources":["../../src/config/getMaxWorkersPerTask.ts"],"names":[],"mappings":";;;AAEA,SAAgB,oBAAoB,CAAC,cAAyC,EAAE,WAAmB;;IACjG,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrD,MAAM,eAAe,GAAuB,MAAA,UAAU,CAAC,UAAU,mCAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,UAAU,CAAC;YAEpG,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;gBAC1C,SAAS;aACV;YAED,IAAI,UAAU,GAAW,CAAC,CAAC;YAE3B,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC;aACjE;iBAAM;gBACL,UAAU,GAAG,eAAe,CAAC;aAC9B;YAED,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACxC,KAAK,IAAI,UAAU,CAAC;SACrB;KACF;IAED,6DAA6D;IAC7D,IAAI,KAAK,GAAG,WAAW,EAAE;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAClF,QAAQ,IAAI,aAAa,CAAC;YAC1B,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SAC5C;QAED,IAAI,QAAQ,GAAG,WAAW,EAAE;YAC1B,MAAM,IAAI,KAAK,CACb,yKAAyK,CAC1K,CAAC;SACH;KACF;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AA3CD,oDA2CC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lage-run/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.16",
|
|
4
4
|
"description": "Command Line Interface for Lage",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/microsoft/lage"
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@lage-run/find-npm-client": "^0.1.1",
|
|
21
21
|
"@lage-run/logger": "^1.2.0",
|
|
22
|
-
"@lage-run/scheduler": "^0.4.
|
|
22
|
+
"@lage-run/scheduler": "^0.4.12",
|
|
23
23
|
"@lage-run/target-graph": "^0.4.3",
|
|
24
24
|
"@lage-run/cache": "^0.1.20",
|
|
25
|
-
"@lage-run/reporters": "^0.2.
|
|
25
|
+
"@lage-run/reporters": "^0.2.26",
|
|
26
26
|
"commander": "^9.4.0",
|
|
27
27
|
"workspace-tools": "^0.28.0",
|
|
28
28
|
"chokidar": "3.5.3"
|