@kitsi/action 0.0.20 → 0.0.22
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/action.yml +5 -0
- package/dist/index.js +17 -11
- package/dist/index.js.map +1 -1
- package/dist/runner.d.ts +1 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +2 -1
- package/dist/runner.js.map +1 -1
- package/package.json +1 -1
package/action.yml
CHANGED
|
@@ -24,6 +24,10 @@ inputs:
|
|
|
24
24
|
description: 'Stop on first task failure'
|
|
25
25
|
required: false
|
|
26
26
|
default: 'true'
|
|
27
|
+
parallel:
|
|
28
|
+
description: 'Maximum number of tasks to run in parallel (0 = unlimited, 1 = sequential)'
|
|
29
|
+
required: false
|
|
30
|
+
default: '2'
|
|
27
31
|
working-directory:
|
|
28
32
|
description: 'Working directory for execution'
|
|
29
33
|
required: false
|
|
@@ -54,6 +58,7 @@ runs:
|
|
|
54
58
|
INPUT_TASK: ${{ inputs.task }}
|
|
55
59
|
INPUT_TIMEOUT: ${{ inputs.timeout }}
|
|
56
60
|
INPUT_FAIL-FAST: ${{ inputs.fail-fast }}
|
|
61
|
+
INPUT_PARALLEL: ${{ inputs.parallel }}
|
|
57
62
|
INPUT_WORKING-DIRECTORY: ${{ inputs.working-directory }}
|
|
58
63
|
- name: Post Kitsi
|
|
59
64
|
if: ${{ always() }}
|
package/dist/index.js
CHANGED
|
@@ -104649,27 +104649,26 @@ class PlanRunner {
|
|
|
104649
104649
|
const tasks = this.expandedTasks ?? this.plan.expand();
|
|
104650
104650
|
return tasks.find((task2) => task2.config.name === name);
|
|
104651
104651
|
}
|
|
104652
|
-
async executeTask(task2) {
|
|
104652
|
+
async executeTask(task2, ancestry = new Set) {
|
|
104653
104653
|
const name = task2.config.name;
|
|
104654
|
+
if (ancestry.has(name)) {
|
|
104655
|
+
throw new Error(`Cycle detected while executing task "${name}"`);
|
|
104656
|
+
}
|
|
104654
104657
|
const existing = this.states.get(name);
|
|
104655
104658
|
if (existing?.status === "success" || existing?.status === "failed") {
|
|
104656
104659
|
return this.toResult(existing, undefined, this.cache.wasTaskCached(name));
|
|
104657
104660
|
}
|
|
104658
104661
|
const existingPromise = this.taskPromises.get(name);
|
|
104659
104662
|
if (existingPromise) {
|
|
104660
|
-
if (this.inProgress.has(name)) {
|
|
104661
|
-
throw new Error(`Cycle detected while executing task "${name}"`);
|
|
104662
|
-
}
|
|
104663
104663
|
return existingPromise;
|
|
104664
104664
|
}
|
|
104665
|
-
|
|
104666
|
-
|
|
104667
|
-
|
|
104668
|
-
const promise = this.executeTaskInternal(task2);
|
|
104665
|
+
const nextAncestry = new Set(ancestry);
|
|
104666
|
+
nextAncestry.add(name);
|
|
104667
|
+
const promise = this.executeTaskInternal(task2, nextAncestry);
|
|
104669
104668
|
this.taskPromises.set(name, promise);
|
|
104670
104669
|
return promise;
|
|
104671
104670
|
}
|
|
104672
|
-
async executeTaskInternal(task2) {
|
|
104671
|
+
async executeTaskInternal(task2, ancestry) {
|
|
104673
104672
|
const name = task2.config.name;
|
|
104674
104673
|
this.inProgress.add(name);
|
|
104675
104674
|
this.reporter?.emit("task_start", { task: name });
|
|
@@ -104694,7 +104693,7 @@ class PlanRunner {
|
|
|
104694
104693
|
this.checkSignal("task");
|
|
104695
104694
|
const dependency = this.findTask(depName);
|
|
104696
104695
|
if (dependency) {
|
|
104697
|
-
await this.executeTask(dependency);
|
|
104696
|
+
await this.executeTask(dependency, ancestry);
|
|
104698
104697
|
}
|
|
104699
104698
|
}
|
|
104700
104699
|
env2 = this.buildTaskEnv(task2);
|
|
@@ -105077,7 +105076,7 @@ ${exampleLines}`);
|
|
|
105077
105076
|
return resolved;
|
|
105078
105077
|
}
|
|
105079
105078
|
async function runPipeline(options) {
|
|
105080
|
-
const { plan: plan2, file, task: task2, timeout, failFast, workdir } = options;
|
|
105079
|
+
const { plan: plan2, file, task: task2, timeout, failFast, maxConcurrency, workdir } = options;
|
|
105081
105080
|
const reportPromises = [];
|
|
105082
105081
|
const registry2 = await loadPipeline(file, workdir);
|
|
105083
105082
|
const planConfig = registry2.plans.find((p) => p.config.name === plan2);
|
|
@@ -105133,6 +105132,7 @@ Available plans: ${available}`);
|
|
|
105133
105132
|
failFast,
|
|
105134
105133
|
secrets,
|
|
105135
105134
|
reporter,
|
|
105135
|
+
...maxConcurrency !== undefined ? { maxConcurrency } : {},
|
|
105136
105136
|
signal: controller.signal
|
|
105137
105137
|
};
|
|
105138
105138
|
const result = await runPlan(registry2, plan2, runOptions);
|
|
@@ -105163,9 +105163,14 @@ async function run() {
|
|
|
105163
105163
|
const task2 = core7.getInput("task") || undefined;
|
|
105164
105164
|
const timeout = core7.getInput("timeout") || "30m";
|
|
105165
105165
|
const failFast = core7.getBooleanInput("fail-fast");
|
|
105166
|
+
const parallelInput = core7.getInput("parallel") || "2";
|
|
105166
105167
|
const workdirInput = core7.getInput("working-directory");
|
|
105167
105168
|
const defaultWorkdir = process.env.GITHUB_WORKSPACE || ".";
|
|
105168
105169
|
const workdir = !workdirInput || workdirInput === "." ? defaultWorkdir : workdirInput;
|
|
105170
|
+
const maxConcurrency = Number.parseInt(parallelInput, 10);
|
|
105171
|
+
if (Number.isNaN(maxConcurrency) || maxConcurrency < 0) {
|
|
105172
|
+
throw new Error(`Invalid parallel value "${parallelInput}". Use 0 or a positive integer.`);
|
|
105173
|
+
}
|
|
105169
105174
|
core7.info(`Running Kitsi plan: ${plan2}`);
|
|
105170
105175
|
const capabilities = new GitHubCapabilities;
|
|
105171
105176
|
const groups = new GroupManager;
|
|
@@ -105175,6 +105180,7 @@ async function run() {
|
|
|
105175
105180
|
task: task2,
|
|
105176
105181
|
timeout,
|
|
105177
105182
|
failFast,
|
|
105183
|
+
maxConcurrency,
|
|
105178
105184
|
workdir,
|
|
105179
105185
|
capabilities,
|
|
105180
105186
|
onTaskStart: (taskName) => groups.startTask(taskName),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,KAAK,UAAU,GAAG;IAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,eAAe;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC;QAC3D,MAAM,OAAO,GAAG,CAAC,YAAY,IAAI,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runner.d.ts
CHANGED
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,kBAAkB,CAAC;IACjC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAgFD,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,kBAAkB,CAAC;IACjC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAgFD,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAqG1E"}
|
package/dist/runner.js
CHANGED
|
@@ -70,7 +70,7 @@ function resolveSecrets(required, capabilities) {
|
|
|
70
70
|
return resolved;
|
|
71
71
|
}
|
|
72
72
|
export async function runPipeline(options) {
|
|
73
|
-
const { plan, file, task, timeout, failFast, workdir } = options;
|
|
73
|
+
const { plan, file, task, timeout, failFast, maxConcurrency, workdir } = options;
|
|
74
74
|
const reportPromises = [];
|
|
75
75
|
// Load pipeline
|
|
76
76
|
const registry = await loadPipeline(file, workdir);
|
|
@@ -129,6 +129,7 @@ export async function runPipeline(options) {
|
|
|
129
129
|
failFast,
|
|
130
130
|
secrets,
|
|
131
131
|
reporter,
|
|
132
|
+
...(maxConcurrency !== undefined ? { maxConcurrency } : {}),
|
|
132
133
|
signal: controller.signal,
|
|
133
134
|
};
|
|
134
135
|
// Run the plan
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|