@factorialco/gat 3.4.3 → 3.5.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/dist/job.d.ts +2 -0
- package/dist/workflow.js +4 -2
- package/dist/workflow.spec.js +8 -0
- package/package.json +1 -1
package/dist/job.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export interface StepsJobOptions<Step, RunnerDefinition, Name> {
|
|
|
33
33
|
matrix?: Matrix | string;
|
|
34
34
|
outputs?: Record<string, string>;
|
|
35
35
|
workingDirectory?: string;
|
|
36
|
+
environment?: string;
|
|
36
37
|
steps: Step[];
|
|
37
38
|
}
|
|
38
39
|
export interface UsesJobOptions<Name> {
|
|
@@ -42,6 +43,7 @@ export interface UsesJobOptions<Name> {
|
|
|
42
43
|
uses: string;
|
|
43
44
|
with?: Record<string, string | number | boolean | object>;
|
|
44
45
|
secrets?: Record<string, string | number | boolean | object> | "inherit";
|
|
46
|
+
environment?: string;
|
|
45
47
|
}
|
|
46
48
|
export type StringWithNoSpaces<T> = T extends `${string} ${string}` ? never : T extends ` ${string}` ? never : T extends `${string} ` ? never : T;
|
|
47
49
|
export interface Job<Step, RunnerDefinition, Name> {
|
package/dist/workflow.js
CHANGED
|
@@ -73,7 +73,7 @@ class Workflow {
|
|
|
73
73
|
: undefined,
|
|
74
74
|
jobs: Object.fromEntries(await Promise.all(this.jobs.map(async ({ name, options: jobOptions }) => {
|
|
75
75
|
if ("uses" in jobOptions) {
|
|
76
|
-
const { prettyName, ifExpression, dependsOn } = jobOptions;
|
|
76
|
+
const { prettyName, ifExpression, dependsOn, environment } = jobOptions;
|
|
77
77
|
return [
|
|
78
78
|
name,
|
|
79
79
|
{
|
|
@@ -83,10 +83,11 @@ class Workflow {
|
|
|
83
83
|
uses: jobOptions.uses,
|
|
84
84
|
with: jobOptions.with,
|
|
85
85
|
secrets: jobOptions.secrets,
|
|
86
|
+
environment,
|
|
86
87
|
},
|
|
87
88
|
];
|
|
88
89
|
}
|
|
89
|
-
const { prettyName, permissions, ifExpression, runsOn, matrix, env, dependsOn, services, timeout, concurrency, outputs, workingDirectory, } = jobOptions;
|
|
90
|
+
const { prettyName, permissions, ifExpression, runsOn, matrix, env, dependsOn, services, timeout, concurrency, outputs, workingDirectory, environment, } = jobOptions;
|
|
90
91
|
return [
|
|
91
92
|
name,
|
|
92
93
|
{
|
|
@@ -118,6 +119,7 @@ class Workflow {
|
|
|
118
119
|
}
|
|
119
120
|
: undefined,
|
|
120
121
|
env,
|
|
122
|
+
environment,
|
|
121
123
|
defaults: workingDirectory
|
|
122
124
|
? {
|
|
123
125
|
run: {
|
package/dist/workflow.spec.js
CHANGED
|
@@ -291,4 +291,12 @@ exit 0`,
|
|
|
291
291
|
},
|
|
292
292
|
})).toMatchSnapshot();
|
|
293
293
|
});
|
|
294
|
+
(0, vitest_1.it)("allows setting environment on a job", async () => {
|
|
295
|
+
const workflow = new workflow_1.Workflow("Job Environment");
|
|
296
|
+
workflow.on("push").addJob("job1", {
|
|
297
|
+
environment: "production",
|
|
298
|
+
steps: [{ name: "Do something", run: "echo 'Hello'" }],
|
|
299
|
+
});
|
|
300
|
+
(0, vitest_1.expect)(await workflow.compile()).toMatchSnapshot();
|
|
301
|
+
});
|
|
294
302
|
});
|