@factorialco/gat 0.0.12 → 0.0.15
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/dist/cli.js +4 -3
- package/dist/event.d.ts +1 -1
- package/dist/job.d.ts +2 -0
- package/dist/workflow.js +3 -1
- package/dist/workflow.spec.js +21 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,7 @@ const child_process_1 = require("child_process");
|
|
|
10
10
|
const commander_1 = require("commander");
|
|
11
11
|
const util_1 = require("util");
|
|
12
12
|
const execPromise = (0, util_1.promisify)(child_process_1.exec);
|
|
13
|
+
const writeFilePromise = (0, util_1.promisify)(fs_1.default.writeFile);
|
|
13
14
|
const cli = new commander_1.Command();
|
|
14
15
|
cli.version("0.0.1").description("TODO");
|
|
15
16
|
cli
|
|
@@ -20,12 +21,12 @@ cli
|
|
|
20
21
|
if (!fs_1.default.existsSync(path_1.default.join(folder, "..", "workflows"))) {
|
|
21
22
|
fs_1.default.mkdirSync(path_1.default.join(folder, "..", "workflows"));
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
+
await Promise.all(fs_1.default.readdirSync(folder).map(async (templateFile) => {
|
|
24
25
|
if (!templateFile.match(/^shared$/)) {
|
|
25
26
|
const { stdout } = await execPromise(`npx ts-node ${path_1.default.join(folder, templateFile)}`);
|
|
26
|
-
|
|
27
|
+
await writeFilePromise(path_1.default.join(folder, "..", "workflows", templateFile.replace(".ts", ".yml")), stdout);
|
|
27
28
|
}
|
|
28
|
-
}
|
|
29
|
+
}));
|
|
29
30
|
process.exit(0);
|
|
30
31
|
});
|
|
31
32
|
cli.parse(process.argv);
|
package/dist/event.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare type EventName = "push" | "pull_request" | "pull_request_review" | "workflow_run" | "workflow_dispatch" | "schedule";
|
|
1
|
+
export declare type EventName = "push" | "pull_request" | "pull_request_review" | "workflow_run" | "workflow_dispatch" | "schedule" | "pull_request_target";
|
|
2
2
|
export declare type EventOptions<T extends EventName> = T extends "push" ? PushEventOptions : T extends "pull_request" ? PullRequestEventOptions : T extends "pull_request_review" ? PullRequestReviewEventOptions : T extends "workflow_run" ? WorkflowRunEventOptions : T extends "workflow_dispatch" ? WorkflowDispatchEventOptions : T extends "schedule" ? ScheduleEventOptions : never;
|
|
3
3
|
interface PushEventOptions {
|
|
4
4
|
branches?: string[];
|
package/dist/job.d.ts
CHANGED
package/dist/workflow.js
CHANGED
|
@@ -53,9 +53,11 @@ class Workflow {
|
|
|
53
53
|
env: this.env.length > 0
|
|
54
54
|
? Object.fromEntries(this.env.map(({ name, value }) => [name, value]))
|
|
55
55
|
: undefined,
|
|
56
|
-
jobs: Object.fromEntries(this.jobs.map(({ name, options: { ifExpression, runsOn, matrix, env, steps, dependsOn, services, timeout, concurrency, outputs, }, }) => [
|
|
56
|
+
jobs: Object.fromEntries(this.jobs.map(({ name, options: { prettyName, permissions, ifExpression, runsOn, matrix, env, steps, dependsOn, services, timeout, concurrency, outputs, }, }) => [
|
|
57
57
|
name,
|
|
58
58
|
{
|
|
59
|
+
name: prettyName,
|
|
60
|
+
permissions,
|
|
59
61
|
if: ifExpression,
|
|
60
62
|
"runs-on": this.assignRunner(runsOn),
|
|
61
63
|
"timeout-minutes": timeout ?? 15,
|
package/dist/workflow.spec.js
CHANGED
|
@@ -191,4 +191,25 @@ const workflow_1 = require("./workflow");
|
|
|
191
191
|
});
|
|
192
192
|
(0, vitest_1.expect)(workflow.compile()).toMatchSnapshot();
|
|
193
193
|
});
|
|
194
|
+
(0, vitest_1.it)("supports a pretty name for the job", () => {
|
|
195
|
+
const workflow = new workflow_1.Workflow("Job with pretty name")
|
|
196
|
+
.on("push")
|
|
197
|
+
.addJob("job1", {
|
|
198
|
+
prettyName: "My pretty name",
|
|
199
|
+
steps: [{ name: "Do something", run: "exit 0" }],
|
|
200
|
+
});
|
|
201
|
+
(0, vitest_1.expect)(workflow.compile()).toMatchSnapshot();
|
|
202
|
+
});
|
|
203
|
+
(0, vitest_1.it)("allows permissions into jobs", () => {
|
|
204
|
+
const workflow = new workflow_1.Workflow("Job with permissions")
|
|
205
|
+
.on("push")
|
|
206
|
+
.addJob("job1", {
|
|
207
|
+
permissions: {
|
|
208
|
+
contents: "read",
|
|
209
|
+
"pull-requests": "write",
|
|
210
|
+
},
|
|
211
|
+
steps: [{ name: "Do something", run: "exit 0" }],
|
|
212
|
+
});
|
|
213
|
+
(0, vitest_1.expect)(workflow.compile()).toMatchSnapshot();
|
|
214
|
+
});
|
|
194
215
|
});
|