gagen 0.2.15 → 0.2.17
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/esm/expression.d.ts +19 -0
- package/esm/expression.d.ts.map +1 -1
- package/esm/expression.js +116 -2
- package/esm/job.d.ts +2 -0
- package/esm/job.d.ts.map +1 -1
- package/esm/job.js +11 -0
- package/esm/mod.d.ts +2 -2
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -1
- package/esm/workflow.d.ts +7 -0
- package/esm/workflow.d.ts.map +1 -1
- package/esm/workflow.js +17 -0
- package/package.json +1 -1
package/esm/expression.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export declare class ExpressionValue {
|
|
|
20
20
|
startsWith(prefix: string): Condition;
|
|
21
21
|
contains(substring: string): Condition;
|
|
22
22
|
not(): Condition;
|
|
23
|
+
/** concatenate this value with additional strings, numbers, or expressions */
|
|
24
|
+
concat(...parts: ConcatPart[]): ExpressionValue;
|
|
23
25
|
/** wrap in `${{ }}` for use in YAML */
|
|
24
26
|
toString(): string;
|
|
25
27
|
}
|
|
@@ -225,6 +227,23 @@ export declare class ElseIfBuilder {
|
|
|
225
227
|
/** Provide the value for this branch. */
|
|
226
228
|
then(value: TernaryValue): ThenBuilder;
|
|
227
229
|
}
|
|
230
|
+
/** a part of a concatenation: plain string, number, or expression */
|
|
231
|
+
export type ConcatPart = string | number | ExpressionValue;
|
|
232
|
+
/**
|
|
233
|
+
* Concatenates strings, numbers, and expressions into a single value.
|
|
234
|
+
* Expression parts are wrapped in `${{ }}` when serialized for YAML,
|
|
235
|
+
* and use the `format()` function when used inside expression contexts.
|
|
236
|
+
*
|
|
237
|
+
* ```ts
|
|
238
|
+
* const name = concat("build-", expr("matrix.os"));
|
|
239
|
+
* name.toString() // => "build-${{ matrix.os }}"
|
|
240
|
+
* name.expression // => "format('build-{0}', matrix.os)"
|
|
241
|
+
*
|
|
242
|
+
* const full = concat("build-", expr("matrix.os"), "-", expr("matrix.arch"));
|
|
243
|
+
* full.toString() // => "build-${{ matrix.os }}-${{ matrix.arch }}"
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
export declare function concat(...parts: ConcatPart[]): ExpressionValue;
|
|
228
247
|
/** Creates an ExpressionValue or Condition from a literal value. */
|
|
229
248
|
export declare function literal(value: boolean): Condition;
|
|
230
249
|
export declare function literal(value: string | number): ExpressionValue;
|
package/esm/expression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvD,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AAEvE;;;GAGG;AACH,qBAAa,eAAe;;IAE1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;gBAI5C,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAa3D,sDAAsD;IACtD,IAAI,UAAU,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAE9C;IAED,oDAAoD;IACpD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IASnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IAStD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAQrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAQtC,GAAG,IAAI,SAAS;IAIhB,8EAA8E;IAC9E,MAAM,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,eAAe;IAI/C,uCAAuC;IACvC,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;GAIG;AACH,8BAAsB,SAAS;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAEpC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAIlD,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAY1C,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAYzC,GAAG,IAAI,SAAS;IAIhB;;;;;;;OAOG;IACH,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW;IAItC;;;OAGG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB,2EAA2E;IAC3E,UAAU,IAAI,SAAS,EAAE;IAIzB,0EAA0E;IAC1E,SAAS,IAAI,SAAS,EAAE;IAIxB,8DAA8D;IAC9D,YAAY,IAAI,OAAO;IAIvB,+DAA+D;IAC/D,aAAa,IAAI,OAAO;IAIxB,qEAAqE;IACrE,cAAc,IAAI,OAAO;IAIzB,uCAAuC;IACvC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B,sDAAsD;IACtD,QAAQ,IAAI,MAAM;CAGnB;AAID,yCAAyC;AACzC,qBAAa,mBAAoB,SAAQ,SAAS;;gBAM9C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,IAAI,GAAG,IAAI,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAQ/B,GAAG,IAAI,SAAS;IASzB,YAAY,IAAI,MAAM;CAGvB;AAED,4BAA4B;AAC5B,qBAAa,qBAAsB,SAAQ,SAAS;;gBAKhD,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAOxC,YAAY,IAAI,MAAM;CAGvB;AAoFD,mDAAmD;AACnD,qBAAa,YAAa,SAAQ,SAAS;;gBAG7B,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAK7D,YAAY,IAAI,OAAO;IAIvB,aAAa,IAAI,OAAO;IAIxB,GAAG,IAAI,SAAS;IAUzB,YAAY,IAAI,MAAM;CAGvB;AAED,+DAA+D;AAC/D,wBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAExD;AAKD,6DAA6D;AAC7D,eAAO,MAAM,UAAU;IACrB,8EAA8E;2BAClE,SAAS;IACrB,+EAA+E;4BAClE,SAAS;IACtB,8DAA8D;;QAE5D,+CAA+C;+BACnC,SAAS;QAErB,qEAAqE;gCACxD,SAAS;QAEtB,gDAAgD;gCACnC,SAAS;QAEtB,gDAAgD;kCACjC,SAAS;;IAG1B;;;;;;;;OAQG;2BACW,MAAM,KAAG,SAAS;IAEhC;;;;;;OAMG;gCACgB,MAAM,KAAG,SAAS;IACrC;;;;;;OAMG;8BACc,MAAM,KAAG,SAAS;IACnC;;;;;;OAMG;yBACO,SAAS;IACnB;;;;;;OAMG;kCACkB,MAAM,KAAG,SAAS;IAEvC;;;;;;OAMG;8BACY,SAAS;IAExB;;;;;;OAMG;iCACiB,MAAM,KAAG,SAAS;IAEtC;;;;;;;;OAQG;8BACc,OAAO,GAAG,OAAO,GAAG,SAAS,KAAG,SAAS;IAE1D;;;;;;;;;OASG;kCACkB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,KAAG,SAAS;CAExD,CAAC;AAIX,iEAAiE;AACjE,wBAAgB,YAAY,CAC1B,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,GACtC,OAAO,CAIT;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAC3B,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,GACtC,OAAO,CAIT;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAGtE;AAUD,wBAAgB,WAAW,CACzB,GAAG,WAAW,EAAE,CAAC;IAAE,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,SAAS,CAAC,EAAE,GAC5D,WAAW,CAAC,gBAAgB,CAAC,CAY/B;AA6CD,UAAU,aAAa;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;CACrB;AA+BD;;;GAGG;AACH,qBAAa,WAAW;;gBAKpB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAOxC,sCAAsC;IACtC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa;IAI3C;;;;;;;OAOG;IACH,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe;CAiB3C;AAED;;;GAGG;AACH,qBAAa,aAAa;;gBAMtB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAC9B,SAAS,EAAE,SAAS;IAQtB,yCAAyC;IACzC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW;CAMvC;AAID,qEAAqE;AACrE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,eAAe,CAoE9D;AA4BD,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;AACnD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAyBjE,mGAAmG;AACnG,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,SAAS,GACjE,eAAe,CAAC;AAEpB,2EAA2E;AAC3E,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,GAAG,EAAE,CAAC,GACL,OAAO,CAAC,CAAC,CAAC,CAkBZ"}
|
package/esm/expression.js
CHANGED
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _ExpressionValue_expression, _ExpressionValue_allSources, _ComparisonCondition_left, _ComparisonCondition_op, _ComparisonCondition_right, _FunctionCallCondition_fn, _FunctionCallCondition_args, _LogicalCondition_instances, _a, _LogicalCondition_left, _LogicalCondition_right, _LogicalCondition_needsParens, _NotCondition_inner, _RawCondition_expression, _ThenBuilder_branches, _ThenBuilder_sources, _ElseIfBuilder_branches, _ElseIfBuilder_sources, _ElseIfBuilder_condition, _InlineValue_plainValue;
|
|
12
|
+
var _ExpressionValue_expression, _ExpressionValue_allSources, _ComparisonCondition_left, _ComparisonCondition_op, _ComparisonCondition_right, _FunctionCallCondition_fn, _FunctionCallCondition_args, _LogicalCondition_instances, _a, _LogicalCondition_left, _LogicalCondition_right, _LogicalCondition_needsParens, _NotCondition_inner, _RawCondition_expression, _ThenBuilder_branches, _ThenBuilder_sources, _ElseIfBuilder_branches, _ElseIfBuilder_sources, _ElseIfBuilder_condition, _ConcatValue_parts, _InlineValue_plainValue;
|
|
13
13
|
const EMPTY_SOURCES = new Set();
|
|
14
14
|
/**
|
|
15
15
|
* An expression that resolves to a value inside a GitHub Actions workflow.
|
|
@@ -69,6 +69,10 @@ export class ExpressionValue {
|
|
|
69
69
|
not() {
|
|
70
70
|
return new RawCondition(`!(${__classPrivateFieldGet(this, _ExpressionValue_expression, "f")})`, sourcesFrom(this));
|
|
71
71
|
}
|
|
72
|
+
/** concatenate this value with additional strings, numbers, or expressions */
|
|
73
|
+
concat(...parts) {
|
|
74
|
+
return concat(this, ...parts);
|
|
75
|
+
}
|
|
72
76
|
/** wrap in `${{ }}` for use in YAML */
|
|
73
77
|
toString() {
|
|
74
78
|
return `\${{ ${__classPrivateFieldGet(this, _ExpressionValue_expression, "f")} }}`;
|
|
@@ -471,8 +475,18 @@ function deduplicatedLogical(op, left, right) {
|
|
|
471
475
|
if (unique.length === 0)
|
|
472
476
|
return left;
|
|
473
477
|
const allTerms = [...leftTerms, ...unique];
|
|
478
|
+
// absorption: for &&, drop any OR compound whose child appears as a sibling
|
|
479
|
+
// term (e.g. (A || B) && B → B). Symmetrically for ||.
|
|
480
|
+
const termExprs = new Set(allTerms.map((t) => t.toExpression()));
|
|
481
|
+
const absorbed = allTerms.filter((term) => {
|
|
482
|
+
const children = op === "&&" ? term.flattenOr() : term.flattenAnd();
|
|
483
|
+
if (children.length <= 1)
|
|
484
|
+
return true;
|
|
485
|
+
return !children.some((c) => termExprs.has(c.toExpression()));
|
|
486
|
+
});
|
|
487
|
+
const terms = absorbed.length > 0 ? absorbed : allTerms;
|
|
474
488
|
const sources = unionSources(...allTerms);
|
|
475
|
-
return
|
|
489
|
+
return terms.reduce((acc, term) => new LogicalCondition(op, acc, term, sources));
|
|
476
490
|
}
|
|
477
491
|
function collectTernarySources(branches) {
|
|
478
492
|
const set = new Set();
|
|
@@ -565,6 +579,106 @@ export class ElseIfBuilder {
|
|
|
565
579
|
}
|
|
566
580
|
}
|
|
567
581
|
_ElseIfBuilder_branches = new WeakMap(), _ElseIfBuilder_sources = new WeakMap(), _ElseIfBuilder_condition = new WeakMap();
|
|
582
|
+
/**
|
|
583
|
+
* Concatenates strings, numbers, and expressions into a single value.
|
|
584
|
+
* Expression parts are wrapped in `${{ }}` when serialized for YAML,
|
|
585
|
+
* and use the `format()` function when used inside expression contexts.
|
|
586
|
+
*
|
|
587
|
+
* ```ts
|
|
588
|
+
* const name = concat("build-", expr("matrix.os"));
|
|
589
|
+
* name.toString() // => "build-${{ matrix.os }}"
|
|
590
|
+
* name.expression // => "format('build-{0}', matrix.os)"
|
|
591
|
+
*
|
|
592
|
+
* const full = concat("build-", expr("matrix.os"), "-", expr("matrix.arch"));
|
|
593
|
+
* full.toString() // => "build-${{ matrix.os }}-${{ matrix.arch }}"
|
|
594
|
+
* ```
|
|
595
|
+
*/
|
|
596
|
+
export function concat(...parts) {
|
|
597
|
+
if (parts.length === 0) {
|
|
598
|
+
return new InlineValue("");
|
|
599
|
+
}
|
|
600
|
+
if (parts.length === 1) {
|
|
601
|
+
const p = parts[0];
|
|
602
|
+
if (p instanceof ExpressionValue)
|
|
603
|
+
return p;
|
|
604
|
+
return new InlineValue(String(p));
|
|
605
|
+
}
|
|
606
|
+
// flatten nested ConcatValues, inline literals, and convert numbers to strings
|
|
607
|
+
const flat = [];
|
|
608
|
+
for (const part of parts) {
|
|
609
|
+
if (part instanceof ConcatValue) {
|
|
610
|
+
flat.push(...part.concatParts);
|
|
611
|
+
}
|
|
612
|
+
else if (part instanceof InlineValue) {
|
|
613
|
+
flat.push(part.toString());
|
|
614
|
+
}
|
|
615
|
+
else if (typeof part === "number") {
|
|
616
|
+
flat.push(String(part));
|
|
617
|
+
}
|
|
618
|
+
else {
|
|
619
|
+
flat.push(part);
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
// merge adjacent string parts
|
|
623
|
+
const merged = [];
|
|
624
|
+
for (const part of flat) {
|
|
625
|
+
const last = merged.length > 0 ? merged[merged.length - 1] : undefined;
|
|
626
|
+
if (typeof part === "string" && typeof last === "string") {
|
|
627
|
+
merged[merged.length - 1] = last + part;
|
|
628
|
+
}
|
|
629
|
+
else {
|
|
630
|
+
merged.push(part);
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
// degenerate cases after merging
|
|
634
|
+
if (merged.length === 1) {
|
|
635
|
+
const p = merged[0];
|
|
636
|
+
if (typeof p === "string")
|
|
637
|
+
return new InlineValue(p);
|
|
638
|
+
return p;
|
|
639
|
+
}
|
|
640
|
+
// collect sources from all expression parts
|
|
641
|
+
const sources = new Set();
|
|
642
|
+
for (const part of merged) {
|
|
643
|
+
if (part instanceof ExpressionValue) {
|
|
644
|
+
for (const s of part.allSources)
|
|
645
|
+
sources.add(s);
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
// build format() expression for use inside ${{ }} contexts
|
|
649
|
+
const templateParts = [];
|
|
650
|
+
const args = [];
|
|
651
|
+
let argIndex = 0;
|
|
652
|
+
for (const part of merged) {
|
|
653
|
+
if (part instanceof ExpressionValue) {
|
|
654
|
+
templateParts.push(`{${argIndex++}}`);
|
|
655
|
+
args.push(part.expression);
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
// escape single quotes and braces for GitHub Actions format()
|
|
659
|
+
templateParts.push(part.replace(/'/g, "''").replace(/\{/g, "{{").replace(/\}/g, "}}"));
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
const formatExpr = `format('${templateParts.join("")}', ${args.join(", ")})`;
|
|
663
|
+
return new ConcatValue(formatExpr, merged, sources);
|
|
664
|
+
}
|
|
665
|
+
class ConcatValue extends ExpressionValue {
|
|
666
|
+
constructor(formatExpr, parts, sources) {
|
|
667
|
+
super(formatExpr, sources);
|
|
668
|
+
_ConcatValue_parts.set(this, void 0);
|
|
669
|
+
__classPrivateFieldSet(this, _ConcatValue_parts, Object.freeze([...parts]), "f");
|
|
670
|
+
}
|
|
671
|
+
/** the individual parts of this concatenation (for flattening nested concats) */
|
|
672
|
+
get concatParts() {
|
|
673
|
+
return __classPrivateFieldGet(this, _ConcatValue_parts, "f");
|
|
674
|
+
}
|
|
675
|
+
toString() {
|
|
676
|
+
return __classPrivateFieldGet(this, _ConcatValue_parts, "f")
|
|
677
|
+
.map((p) => (p instanceof ExpressionValue ? p.toString() : p))
|
|
678
|
+
.join("");
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
_ConcatValue_parts = new WeakMap();
|
|
568
682
|
export function literal(value) {
|
|
569
683
|
if (typeof value === "boolean") {
|
|
570
684
|
return new RawCondition(String(value), EMPTY_SOURCES);
|
package/esm/job.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ interface CommonJobFields {
|
|
|
10
10
|
group: string;
|
|
11
11
|
cancelInProgress?: boolean | string;
|
|
12
12
|
};
|
|
13
|
+
continueOnError?: boolean | string;
|
|
13
14
|
}
|
|
14
15
|
export interface ServiceContainer {
|
|
15
16
|
image: string;
|
|
@@ -42,6 +43,7 @@ export interface StepsJobConfig extends CommonJobFields {
|
|
|
42
43
|
url?: string;
|
|
43
44
|
} | string | ExpressionValue;
|
|
44
45
|
services?: Record<string, ServiceContainer>;
|
|
46
|
+
container?: ServiceContainer | string;
|
|
45
47
|
}
|
|
46
48
|
export interface ReusableJobConfig extends CommonJobFields {
|
|
47
49
|
uses: string;
|
package/esm/job.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAGhB,IAAI,EACJ,KAAK,QAAQ,EAId,MAAM,WAAW,CAAC;AAEnB,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAChC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
|
package/esm/job.js
CHANGED
|
@@ -348,12 +348,20 @@ export class Job {
|
|
|
348
348
|
? "inherit"
|
|
349
349
|
: serializeConfigValues(config.secrets);
|
|
350
350
|
}
|
|
351
|
+
if (config.continueOnError != null) {
|
|
352
|
+
result["continue-on-error"] = config.continueOnError;
|
|
353
|
+
}
|
|
351
354
|
return result;
|
|
352
355
|
}
|
|
353
356
|
// steps-based job
|
|
354
357
|
result["runs-on"] = config.runsOn instanceof ExpressionValue
|
|
355
358
|
? config.runsOn.toString()
|
|
356
359
|
: config.runsOn;
|
|
360
|
+
if (config.container != null) {
|
|
361
|
+
result.container = typeof config.container === "string"
|
|
362
|
+
? config.container
|
|
363
|
+
: serializeService(config.container);
|
|
364
|
+
}
|
|
357
365
|
if (config.permissions != null) {
|
|
358
366
|
result.permissions = config.permissions;
|
|
359
367
|
}
|
|
@@ -372,6 +380,9 @@ export class Job {
|
|
|
372
380
|
if (config.timeoutMinutes != null) {
|
|
373
381
|
result["timeout-minutes"] = config.timeoutMinutes;
|
|
374
382
|
}
|
|
383
|
+
if (config.continueOnError != null) {
|
|
384
|
+
result["continue-on-error"] = config.continueOnError;
|
|
385
|
+
}
|
|
375
386
|
if (config.defaults != null) {
|
|
376
387
|
const d = {};
|
|
377
388
|
if (config.defaults.run) {
|
package/esm/mod.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export { Job, job } from "./job.js";
|
|
|
5
5
|
export type { JobConfig, JobDef, ReusableJobConfig, ReusableJobDef, ServiceContainer, StepsJobConfig, StepsJobDef, } from "./job.js";
|
|
6
6
|
export { createWorkflow, isLinting, Workflow } from "./workflow.js";
|
|
7
7
|
export type { WorkflowCallInput, WorkflowCallOutput, WorkflowCallSecret, WorkflowCallTrigger, WorkflowConfig, WorkflowTriggers, } from "./workflow.js";
|
|
8
|
-
export { Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, literal, ThenBuilder, } from "./expression.js";
|
|
9
|
-
export type { ExpressionSource, ExprMap, ExprOf, TernaryValue, } from "./expression.js";
|
|
8
|
+
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, literal, ThenBuilder, } from "./expression.js";
|
|
9
|
+
export type { ConcatPart, ExpressionSource, ExprMap, ExprOf, TernaryValue, } from "./expression.js";
|
|
10
10
|
export { defineMatrix, Matrix } from "./matrix.js";
|
|
11
11
|
export type { PermissionLevel, Permissions, PermissionScope, } from "./permissions.js";
|
|
12
12
|
export { Artifact, defineArtifact } from "./artifact.js";
|
package/esm/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,YAAY,EACV,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,IAAI,EACJ,eAAe,EACf,OAAO,EACP,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,YAAY,EACV,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,IAAI,EACJ,eAAe,EACf,OAAO,EACP,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC"}
|
package/esm/mod.js
CHANGED
|
@@ -2,6 +2,6 @@ import "./_dnt.polyfills.js";
|
|
|
2
2
|
export { Step, step, StepRef } from "./step.js";
|
|
3
3
|
export { Job, job } from "./job.js";
|
|
4
4
|
export { createWorkflow, isLinting, Workflow } from "./workflow.js";
|
|
5
|
-
export { Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, literal, ThenBuilder, } from "./expression.js";
|
|
5
|
+
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, literal, ThenBuilder, } from "./expression.js";
|
|
6
6
|
export { defineMatrix, Matrix } from "./matrix.js";
|
|
7
7
|
export { Artifact, defineArtifact } from "./artifact.js";
|
package/esm/workflow.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export interface WorkflowTriggers {
|
|
|
42
42
|
}
|
|
43
43
|
export interface WorkflowConfig {
|
|
44
44
|
name: string;
|
|
45
|
+
runName?: string;
|
|
45
46
|
on: WorkflowTriggers;
|
|
46
47
|
permissions?: Permissions;
|
|
47
48
|
concurrency?: {
|
|
@@ -49,6 +50,12 @@ export interface WorkflowConfig {
|
|
|
49
50
|
cancelInProgress?: boolean | string;
|
|
50
51
|
};
|
|
51
52
|
env?: Record<string, ConfigValue>;
|
|
53
|
+
defaults?: {
|
|
54
|
+
run?: {
|
|
55
|
+
shell?: string;
|
|
56
|
+
workingDirectory?: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
52
59
|
jobs?: (JobDef | Job)[];
|
|
53
60
|
}
|
|
54
61
|
export declare class Workflow {
|
package/esm/workflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAgB,KAAK,MAAM,EAAgB,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,WAAW,CAAC;AAGnD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,gBAAgB,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;CACzB;AAED,qBAAa,QAAQ;;gBAIP,MAAM,EAAE,cAAc;IAqBlC,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/esm/workflow.js
CHANGED
|
@@ -43,6 +43,9 @@ export class Workflow {
|
|
|
43
43
|
toYamlString(options) {
|
|
44
44
|
const obj = {};
|
|
45
45
|
obj.name = __classPrivateFieldGet(this, _Workflow_config, "f").name;
|
|
46
|
+
if (__classPrivateFieldGet(this, _Workflow_config, "f").runName != null) {
|
|
47
|
+
obj["run-name"] = __classPrivateFieldGet(this, _Workflow_config, "f").runName;
|
|
48
|
+
}
|
|
46
49
|
obj.on = serializeTriggers(__classPrivateFieldGet(this, _Workflow_config, "f").on);
|
|
47
50
|
if (__classPrivateFieldGet(this, _Workflow_config, "f").permissions != null) {
|
|
48
51
|
obj.permissions = __classPrivateFieldGet(this, _Workflow_config, "f").permissions;
|
|
@@ -63,6 +66,20 @@ export class Workflow {
|
|
|
63
66
|
}
|
|
64
67
|
obj.env = env;
|
|
65
68
|
}
|
|
69
|
+
if (__classPrivateFieldGet(this, _Workflow_config, "f").defaults != null) {
|
|
70
|
+
const d = {};
|
|
71
|
+
if (__classPrivateFieldGet(this, _Workflow_config, "f").defaults.run) {
|
|
72
|
+
const run = {};
|
|
73
|
+
if (__classPrivateFieldGet(this, _Workflow_config, "f").defaults.run.shell != null) {
|
|
74
|
+
run.shell = __classPrivateFieldGet(this, _Workflow_config, "f").defaults.run.shell;
|
|
75
|
+
}
|
|
76
|
+
if (__classPrivateFieldGet(this, _Workflow_config, "f").defaults.run.workingDirectory != null) {
|
|
77
|
+
run["working-directory"] = __classPrivateFieldGet(this, _Workflow_config, "f").defaults.run.workingDirectory;
|
|
78
|
+
}
|
|
79
|
+
d.run = run;
|
|
80
|
+
}
|
|
81
|
+
obj.defaults = d;
|
|
82
|
+
}
|
|
66
83
|
// pre-resolve all jobs and build step→job mapping for cross-job deps
|
|
67
84
|
const stepOwners = new Map();
|
|
68
85
|
for (const job of __classPrivateFieldGet(this, _Workflow_jobs, "f").values()) {
|