@cloudsnorkel/cdk-github-runners 0.10.6 → 0.10.7

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.
Files changed (35) hide show
  1. package/.jsii +22 -22
  2. package/assets/delete-failed-runner.lambda/index.js +151 -131
  3. package/assets/docker-images/codebuild/linux-arm64/Dockerfile +1 -2
  4. package/assets/docker-images/codebuild/linux-x64/Dockerfile +1 -2
  5. package/assets/docker-images/fargate/linux-arm64/Dockerfile +1 -2
  6. package/assets/docker-images/fargate/linux-x64/Dockerfile +1 -2
  7. package/assets/idle-runner-repear.lambda/index.js +147 -127
  8. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +74 -54
  9. package/assets/setup.lambda/index.html +1 -1
  10. package/assets/setup.lambda/index.js +61 -40
  11. package/assets/status.lambda/index.js +108 -105
  12. package/assets/token-retriever.lambda/index.js +149 -129
  13. package/assets/webhook-handler.lambda/index.js +10 -8
  14. package/lib/access.js +1 -1
  15. package/lib/image-builders/api.js +1 -1
  16. package/lib/image-builders/aws-image-builder/builder.js +1 -1
  17. package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
  18. package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
  19. package/lib/image-builders/aws-image-builder/deprecated/linux-components.d.ts +1 -1
  20. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +11 -12
  21. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  22. package/lib/image-builders/codebuild-deprecated.js +1 -1
  23. package/lib/image-builders/components.js +3 -4
  24. package/lib/image-builders/static.js +1 -1
  25. package/lib/providers/codebuild.js +2 -2
  26. package/lib/providers/common.js +3 -3
  27. package/lib/providers/ec2.js +2 -2
  28. package/lib/providers/ecs.js +1 -1
  29. package/lib/providers/fargate.js +2 -2
  30. package/lib/providers/lambda.js +2 -2
  31. package/lib/runner.js +1 -1
  32. package/lib/secrets.js +1 -1
  33. package/lib/status.lambda.js +12 -7
  34. package/lib/webhook-handler.lambda.js +11 -9
  35. package/package.json +11 -11
@@ -39,6 +39,7 @@ var require_constants = __commonJS({
39
39
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
40
40
  9007199254740991;
41
41
  var MAX_SAFE_COMPONENT_LENGTH = 16;
42
+ var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
42
43
  var RELEASE_TYPES = [
43
44
  "major",
44
45
  "premajor",
@@ -51,6 +52,7 @@ var require_constants = __commonJS({
51
52
  module2.exports = {
52
53
  MAX_LENGTH,
53
54
  MAX_SAFE_COMPONENT_LENGTH,
55
+ MAX_SAFE_BUILD_LENGTH,
54
56
  MAX_SAFE_INTEGER,
55
57
  RELEASE_TYPES,
56
58
  SEMVER_SPEC_VERSION,
@@ -74,30 +76,45 @@ var require_debug = __commonJS({
74
76
  var require_re = __commonJS({
75
77
  "node_modules/semver/internal/re.js"(exports, module2) {
76
78
  "use strict";
77
- var { MAX_SAFE_COMPONENT_LENGTH } = require_constants();
79
+ var { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH } = require_constants();
78
80
  var debug = require_debug();
79
81
  exports = module2.exports = {};
80
82
  var re = exports.re = [];
83
+ var safeRe = exports.safeRe = [];
81
84
  var src = exports.src = [];
82
85
  var t = exports.t = {};
83
86
  var R = 0;
87
+ var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
88
+ var safeRegexReplacements = [
89
+ ["\\s", 1],
90
+ ["\\d", MAX_SAFE_COMPONENT_LENGTH],
91
+ [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
92
+ ];
93
+ var makeSafeRegex = (value) => {
94
+ for (const [token, max] of safeRegexReplacements) {
95
+ value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
96
+ }
97
+ return value;
98
+ };
84
99
  var createToken = (name, value, isGlobal) => {
100
+ const safe = makeSafeRegex(value);
85
101
  const index = R++;
86
102
  debug(name, index, value);
87
103
  t[name] = index;
88
104
  src[index] = value;
89
105
  re[index] = new RegExp(value, isGlobal ? "g" : void 0);
106
+ safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
90
107
  };
91
108
  createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
92
- createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+");
93
- createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*");
109
+ createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
110
+ createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
94
111
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
95
112
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
96
113
  createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
97
114
  createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
98
115
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
99
116
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
100
- createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+");
117
+ createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
101
118
  createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
102
119
  createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
103
120
  createToken("FULL", `^${src[t.FULLPLAIN]}$`);
@@ -181,13 +198,13 @@ var require_semver = __commonJS({
181
198
  "use strict";
182
199
  var debug = require_debug();
183
200
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
184
- var { re, t } = require_re();
201
+ var { safeRe: re, t } = require_re();
185
202
  var parseOptions = require_parse_options();
186
203
  var { compareIdentifiers } = require_identifiers();
187
- var SemVer = class {
204
+ var SemVer = class _SemVer {
188
205
  constructor(version, options) {
189
206
  options = parseOptions(options);
190
- if (version instanceof SemVer) {
207
+ if (version instanceof _SemVer) {
191
208
  if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
192
209
  return version;
193
210
  } else {
@@ -250,11 +267,11 @@ var require_semver = __commonJS({
250
267
  }
251
268
  compare(other) {
252
269
  debug("SemVer.compare", this.version, this.options, other);
253
- if (!(other instanceof SemVer)) {
270
+ if (!(other instanceof _SemVer)) {
254
271
  if (typeof other === "string" && other === this.version) {
255
272
  return 0;
256
273
  }
257
- other = new SemVer(other, this.options);
274
+ other = new _SemVer(other, this.options);
258
275
  }
259
276
  if (other.version === this.version) {
260
277
  return 0;
@@ -262,14 +279,14 @@ var require_semver = __commonJS({
262
279
  return this.compareMain(other) || this.comparePre(other);
263
280
  }
264
281
  compareMain(other) {
265
- if (!(other instanceof SemVer)) {
266
- other = new SemVer(other, this.options);
282
+ if (!(other instanceof _SemVer)) {
283
+ other = new _SemVer(other, this.options);
267
284
  }
268
285
  return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
269
286
  }
270
287
  comparePre(other) {
271
- if (!(other instanceof SemVer)) {
272
- other = new SemVer(other, this.options);
288
+ if (!(other instanceof _SemVer)) {
289
+ other = new _SemVer(other, this.options);
273
290
  }
274
291
  if (this.prerelease.length && !other.prerelease.length) {
275
292
  return -1;
@@ -297,8 +314,8 @@ var require_semver = __commonJS({
297
314
  } while (++i);
298
315
  }
299
316
  compareBuild(other) {
300
- if (!(other instanceof SemVer)) {
301
- other = new SemVer(other, this.options);
317
+ if (!(other instanceof _SemVer)) {
318
+ other = new _SemVer(other, this.options);
302
319
  }
303
320
  let i = 0;
304
321
  do {
@@ -407,8 +424,10 @@ var require_semver = __commonJS({
407
424
  default:
408
425
  throw new Error(`invalid increment argument: ${release}`);
409
426
  }
410
- this.format();
411
- this.raw = this.version;
427
+ this.raw = this.format();
428
+ if (this.build.length) {
429
+ this.raw += `+${this.build.join(".")}`;
430
+ }
412
431
  return this;
413
432
  }
414
433
  };
@@ -504,6 +523,19 @@ var require_diff = __commonJS({
504
523
  const highVersion = v1Higher ? v1 : v2;
505
524
  const lowVersion = v1Higher ? v2 : v1;
506
525
  const highHasPre = !!highVersion.prerelease.length;
526
+ const lowHasPre = !!lowVersion.prerelease.length;
527
+ if (lowHasPre && !highHasPre) {
528
+ if (!lowVersion.patch && !lowVersion.minor) {
529
+ return "major";
530
+ }
531
+ if (highVersion.patch) {
532
+ return "patch";
533
+ }
534
+ if (highVersion.minor) {
535
+ return "minor";
536
+ }
537
+ return "major";
538
+ }
507
539
  const prefix = highHasPre ? "pre" : "";
508
540
  if (v1.major !== v2.major) {
509
541
  return prefix + "major";
@@ -514,16 +546,7 @@ var require_diff = __commonJS({
514
546
  if (v1.patch !== v2.patch) {
515
547
  return prefix + "patch";
516
548
  }
517
- if (highHasPre) {
518
- return "prerelease";
519
- }
520
- if (lowVersion.patch) {
521
- return "patch";
522
- }
523
- if (lowVersion.minor) {
524
- return "minor";
525
- }
526
- return "major";
549
+ return "prerelease";
527
550
  };
528
551
  module2.exports = diff;
529
552
  }
@@ -752,7 +775,7 @@ var require_coerce = __commonJS({
752
775
  "use strict";
753
776
  var SemVer = require_semver();
754
777
  var parse = require_parse();
755
- var { re, t } = require_re();
778
+ var { safeRe: re, t } = require_re();
756
779
  var coerce = (version, options) => {
757
780
  if (version instanceof SemVer) {
758
781
  return version;
@@ -1443,14 +1466,14 @@ var require_lru_cache = __commonJS({
1443
1466
  var require_range = __commonJS({
1444
1467
  "node_modules/semver/classes/range.js"(exports, module2) {
1445
1468
  "use strict";
1446
- var Range = class {
1469
+ var Range = class _Range {
1447
1470
  constructor(range, options) {
1448
1471
  options = parseOptions(options);
1449
- if (range instanceof Range) {
1472
+ if (range instanceof _Range) {
1450
1473
  if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
1451
1474
  return range;
1452
1475
  } else {
1453
- return new Range(range.raw, options);
1476
+ return new _Range(range.raw, options);
1454
1477
  }
1455
1478
  }
1456
1479
  if (range instanceof Comparator) {
@@ -1462,10 +1485,10 @@ var require_range = __commonJS({
1462
1485
  this.options = options;
1463
1486
  this.loose = !!options.loose;
1464
1487
  this.includePrerelease = !!options.includePrerelease;
1465
- this.raw = range;
1466
- this.set = range.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
1488
+ this.raw = range.trim().split(/\s+/).join(" ");
1489
+ this.set = this.raw.split("||").map((r) => this.parseRange(r)).filter((c) => c.length);
1467
1490
  if (!this.set.length) {
1468
- throw new TypeError(`Invalid SemVer Range: ${range}`);
1491
+ throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
1469
1492
  }
1470
1493
  if (this.set.length > 1) {
1471
1494
  const first = this.set[0];
@@ -1484,16 +1507,13 @@ var require_range = __commonJS({
1484
1507
  this.format();
1485
1508
  }
1486
1509
  format() {
1487
- this.range = this.set.map((comps) => {
1488
- return comps.join(" ").trim();
1489
- }).join("||").trim();
1510
+ this.range = this.set.map((comps) => comps.join(" ").trim()).join("||").trim();
1490
1511
  return this.range;
1491
1512
  }
1492
1513
  toString() {
1493
1514
  return this.range;
1494
1515
  }
1495
1516
  parseRange(range) {
1496
- range = range.trim();
1497
1517
  const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
1498
1518
  const memoKey = memoOpts + ":" + range;
1499
1519
  const cached = cache.get(memoKey);
@@ -1507,8 +1527,9 @@ var require_range = __commonJS({
1507
1527
  range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
1508
1528
  debug("comparator trim", range);
1509
1529
  range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
1530
+ debug("tilde trim", range);
1510
1531
  range = range.replace(re[t.CARETTRIM], caretTrimReplace);
1511
- range = range.split(/\s+/).join(" ");
1532
+ debug("caret trim", range);
1512
1533
  let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
1513
1534
  if (loose) {
1514
1535
  rangeList = rangeList.filter((comp) => {
@@ -1533,7 +1554,7 @@ var require_range = __commonJS({
1533
1554
  return result;
1534
1555
  }
1535
1556
  intersects(range, options) {
1536
- if (!(range instanceof Range)) {
1557
+ if (!(range instanceof _Range)) {
1537
1558
  throw new TypeError("a Range is required");
1538
1559
  }
1539
1560
  return this.set.some((thisComparators) => {
@@ -1574,7 +1595,7 @@ var require_range = __commonJS({
1574
1595
  var debug = require_debug();
1575
1596
  var SemVer = require_semver();
1576
1597
  var {
1577
- re,
1598
+ safeRe: re,
1578
1599
  t,
1579
1600
  comparatorTrimReplace,
1580
1601
  tildeTrimReplace,
@@ -1608,9 +1629,9 @@ var require_range = __commonJS({
1608
1629
  return comp;
1609
1630
  };
1610
1631
  var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
1611
- var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => {
1612
- return replaceTilde(c, options);
1613
- }).join(" ");
1632
+ var replaceTildes = (comp, options) => {
1633
+ return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
1634
+ };
1614
1635
  var replaceTilde = (comp, options) => {
1615
1636
  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
1616
1637
  return comp.replace(r, (_, M, m, p, pr) => {
@@ -1632,9 +1653,9 @@ var require_range = __commonJS({
1632
1653
  return ret;
1633
1654
  });
1634
1655
  };
1635
- var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => {
1636
- return replaceCaret(c, options);
1637
- }).join(" ");
1656
+ var replaceCarets = (comp, options) => {
1657
+ return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
1658
+ };
1638
1659
  var replaceCaret = (comp, options) => {
1639
1660
  debug("caret", comp, options);
1640
1661
  const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
@@ -1681,9 +1702,7 @@ var require_range = __commonJS({
1681
1702
  };
1682
1703
  var replaceXRanges = (comp, options) => {
1683
1704
  debug("replaceXRanges", comp, options);
1684
- return comp.split(/\s+/).map((c) => {
1685
- return replaceXRange(c, options);
1686
- }).join(" ");
1705
+ return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
1687
1706
  };
1688
1707
  var replaceXRange = (comp, options) => {
1689
1708
  comp = comp.trim();
@@ -1806,19 +1825,20 @@ var require_comparator = __commonJS({
1806
1825
  "node_modules/semver/classes/comparator.js"(exports, module2) {
1807
1826
  "use strict";
1808
1827
  var ANY = Symbol("SemVer ANY");
1809
- var Comparator = class {
1828
+ var Comparator = class _Comparator {
1810
1829
  static get ANY() {
1811
1830
  return ANY;
1812
1831
  }
1813
1832
  constructor(comp, options) {
1814
1833
  options = parseOptions(options);
1815
- if (comp instanceof Comparator) {
1834
+ if (comp instanceof _Comparator) {
1816
1835
  if (comp.loose === !!options.loose) {
1817
1836
  return comp;
1818
1837
  } else {
1819
1838
  comp = comp.value;
1820
1839
  }
1821
1840
  }
1841
+ comp = comp.trim().split(/\s+/).join(" ");
1822
1842
  debug("comparator", comp, options);
1823
1843
  this.options = options;
1824
1844
  this.loose = !!options.loose;
@@ -1864,7 +1884,7 @@ var require_comparator = __commonJS({
1864
1884
  return cmp(version, this.operator, this.semver, this.options);
1865
1885
  }
1866
1886
  intersects(comp, options) {
1867
- if (!(comp instanceof Comparator)) {
1887
+ if (!(comp instanceof _Comparator)) {
1868
1888
  throw new TypeError("a Comparator is required");
1869
1889
  }
1870
1890
  if (this.operator === "") {
@@ -1905,7 +1925,7 @@ var require_comparator = __commonJS({
1905
1925
  };
1906
1926
  module2.exports = Comparator;
1907
1927
  var parseOptions = require_parse_options();
1908
- var { re, t } = require_re();
1928
+ var { safeRe: re, t } = require_re();
1909
1929
  var cmp = require_cmp();
1910
1930
  var debug = require_debug();
1911
1931
  var SemVer = require_semver();