@cloudsnorkel/cdk-github-runners 0.9.6 → 0.9.8

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 (60) hide show
  1. package/.gitattributes +2 -0
  2. package/.jsii +155 -115
  3. package/API.md +46 -9
  4. package/assets/delete-runner.lambda/index.js +2668 -5183
  5. package/assets/docker-images/lambda/linux-arm64/runner.sh +1 -1
  6. package/assets/docker-images/lambda/linux-x64/runner.sh +1 -1
  7. package/assets/idle-runner-repear.lambda/index.js +20062 -0
  8. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +69 -63
  9. package/assets/setup.lambda/index.html +14 -14
  10. package/assets/setup.lambda/index.js +102 -153
  11. package/assets/status.lambda/index.js +2610 -5097
  12. package/assets/token-retriever.lambda/index.js +2669 -5176
  13. package/assets/webhook-handler.lambda/index.js +1 -1
  14. package/lib/access.d.ts +9 -1
  15. package/lib/access.js +46 -4
  16. package/lib/delete-runner.lambda.js +7 -35
  17. package/lib/idle-runner-repear-function.d.ts +13 -0
  18. package/lib/idle-runner-repear-function.js +23 -0
  19. package/lib/idle-runner-repear.lambda.d.ts +1 -0
  20. package/lib/idle-runner-repear.lambda.js +67 -0
  21. package/lib/image-builders/api.js +1 -1
  22. package/lib/image-builders/aws-image-builder/builder.js +4 -7
  23. package/lib/image-builders/aws-image-builder/delete-ami.lambda.js +1 -3
  24. package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
  25. package/lib/image-builders/aws-image-builder/deprecated/container.d.ts +1 -1
  26. package/lib/image-builders/aws-image-builder/deprecated/container.js +9 -12
  27. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  28. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  29. package/lib/image-builders/aws-image-builder/filter-failed-builds.lambda.js +1 -2
  30. package/lib/image-builders/aws-image-builder/reaper.lambda.js +1 -3
  31. package/lib/image-builders/aws-image-builder/versioner.lambda.js +1 -3
  32. package/lib/image-builders/codebuild-deprecated.d.ts +1 -1
  33. package/lib/image-builders/codebuild-deprecated.js +15 -19
  34. package/lib/image-builders/codebuild.js +5 -8
  35. package/lib/image-builders/components.js +1 -1
  36. package/lib/image-builders/static.d.ts +1 -1
  37. package/lib/image-builders/static.js +7 -6
  38. package/lib/{github.d.ts → lambda-github.d.ts} +14 -0
  39. package/lib/lambda-github.js +69 -0
  40. package/lib/lambda-helpers.d.ts +0 -1
  41. package/lib/lambda-helpers.js +1 -2
  42. package/lib/providers/build-image.lambda.js +1 -3
  43. package/lib/providers/codebuild.js +5 -5
  44. package/lib/providers/common.d.ts +6 -0
  45. package/lib/providers/common.js +4 -4
  46. package/lib/providers/ec2.js +5 -5
  47. package/lib/providers/ecs.d.ts +6 -2
  48. package/lib/providers/ecs.js +64 -32
  49. package/lib/providers/fargate.js +5 -5
  50. package/lib/providers/lambda.js +12 -3
  51. package/lib/providers/update-lambda.lambda.js +1 -2
  52. package/lib/runner.d.ts +12 -1
  53. package/lib/runner.js +41 -17
  54. package/lib/secrets.js +1 -1
  55. package/lib/setup.lambda.js +3 -4
  56. package/lib/status.lambda.js +4 -6
  57. package/lib/token-retriever.lambda.js +3 -3
  58. package/lib/webhook-handler.lambda.js +2 -3
  59. package/package.json +12 -10
  60. package/lib/github.js +0 -50
@@ -188,7 +188,7 @@ var require_semver = __commonJS({
188
188
  version = version.version;
189
189
  }
190
190
  } else if (typeof version !== "string") {
191
- throw new TypeError(`Invalid Version: ${version}`);
191
+ throw new TypeError(`Invalid Version: ${require("util").inspect(version)}`);
192
192
  }
193
193
  if (version.length > MAX_LENGTH) {
194
194
  throw new TypeError(
@@ -361,9 +361,13 @@ var require_semver = __commonJS({
361
361
  }
362
362
  this.prerelease = [];
363
363
  break;
364
- case "pre":
364
+ case "pre": {
365
+ const base = Number(identifierBase) ? 1 : 0;
366
+ if (!identifier && identifierBase === false) {
367
+ throw new Error("invalid increment argument: identifier is empty");
368
+ }
365
369
  if (this.prerelease.length === 0) {
366
- this.prerelease = [0];
370
+ this.prerelease = [base];
367
371
  } else {
368
372
  let i = this.prerelease.length;
369
373
  while (--i >= 0) {
@@ -373,20 +377,27 @@ var require_semver = __commonJS({
373
377
  }
374
378
  }
375
379
  if (i === -1) {
376
- this.prerelease.push(0);
380
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
381
+ throw new Error("invalid increment argument: identifier already exists");
382
+ }
383
+ this.prerelease.push(base);
377
384
  }
378
385
  }
379
386
  if (identifier) {
380
- const base = Number(identifierBase) ? 1 : 0;
387
+ let prerelease = [identifier, base];
388
+ if (identifierBase === false) {
389
+ prerelease = [identifier];
390
+ }
381
391
  if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
382
392
  if (isNaN(this.prerelease[1])) {
383
- this.prerelease = [identifier, base];
393
+ this.prerelease = prerelease;
384
394
  }
385
395
  } else {
386
- this.prerelease = [identifier, base];
396
+ this.prerelease = prerelease;
387
397
  }
388
398
  }
389
399
  break;
400
+ }
390
401
  default:
391
402
  throw new Error(`invalid increment argument: ${release}`);
392
403
  }
@@ -402,22 +413,18 @@ var require_semver = __commonJS({
402
413
  // node_modules/semver/functions/parse.js
403
414
  var require_parse = __commonJS({
404
415
  "node_modules/semver/functions/parse.js"(exports, module2) {
405
- var { MAX_LENGTH } = require_constants();
406
416
  var SemVer = require_semver();
407
- var parse = (version, options) => {
417
+ var parse = (version, options, throwErrors = false) => {
408
418
  if (version instanceof SemVer) {
409
419
  return version;
410
420
  }
411
- if (typeof version !== "string") {
412
- return null;
413
- }
414
- if (version.length > MAX_LENGTH) {
415
- return null;
416
- }
417
421
  try {
418
422
  return new SemVer(version, options);
419
423
  } catch (er) {
420
- return null;
424
+ if (!throwErrors) {
425
+ return null;
426
+ }
427
+ throw er;
421
428
  }
422
429
  };
423
430
  module2.exports = parse;
@@ -471,60 +478,41 @@ var require_inc = __commonJS({
471
478
  }
472
479
  });
473
480
 
474
- // node_modules/semver/functions/compare.js
475
- var require_compare = __commonJS({
476
- "node_modules/semver/functions/compare.js"(exports, module2) {
477
- var SemVer = require_semver();
478
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
479
- module2.exports = compare;
480
- }
481
- });
482
-
483
- // node_modules/semver/functions/eq.js
484
- var require_eq = __commonJS({
485
- "node_modules/semver/functions/eq.js"(exports, module2) {
486
- var compare = require_compare();
487
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
488
- module2.exports = eq;
489
- }
490
- });
491
-
492
481
  // node_modules/semver/functions/diff.js
493
482
  var require_diff = __commonJS({
494
483
  "node_modules/semver/functions/diff.js"(exports, module2) {
495
484
  var parse = require_parse();
496
- var eq = require_eq();
497
485
  var diff = (version1, version2) => {
498
- const v1 = parse(version1);
499
- const v2 = parse(version2);
500
- if (eq(v1, v2)) {
486
+ const v1 = parse(version1, null, true);
487
+ const v2 = parse(version2, null, true);
488
+ const comparison = v1.compare(v2);
489
+ if (comparison === 0) {
501
490
  return null;
502
- } else {
503
- const hasPre = v1.prerelease.length || v2.prerelease.length;
504
- const prefix = hasPre ? "pre" : "";
505
- const defaultResult = hasPre ? "prerelease" : "";
506
- if (v1.major !== v2.major) {
507
- return prefix + "major";
508
- }
509
- if (v1.minor !== v2.minor) {
510
- return prefix + "minor";
511
- }
512
- if (v1.patch !== v2.patch) {
513
- return prefix + "patch";
514
- }
515
- if (!v1.prerelease.length || !v2.prerelease.length) {
516
- if (v1.patch) {
517
- return "patch";
518
- }
519
- if (v1.minor) {
520
- return "minor";
521
- }
522
- if (v1.major) {
523
- return "major";
524
- }
525
- }
526
- return defaultResult;
527
491
  }
492
+ const v1Higher = comparison > 0;
493
+ const highVersion = v1Higher ? v1 : v2;
494
+ const lowVersion = v1Higher ? v2 : v1;
495
+ const highHasPre = !!highVersion.prerelease.length;
496
+ const prefix = highHasPre ? "pre" : "";
497
+ if (v1.major !== v2.major) {
498
+ return prefix + "major";
499
+ }
500
+ if (v1.minor !== v2.minor) {
501
+ return prefix + "minor";
502
+ }
503
+ if (v1.patch !== v2.patch) {
504
+ return prefix + "patch";
505
+ }
506
+ if (highHasPre) {
507
+ return "prerelease";
508
+ }
509
+ if (lowVersion.patch) {
510
+ return "patch";
511
+ }
512
+ if (lowVersion.minor) {
513
+ return "minor";
514
+ }
515
+ return "major";
528
516
  };
529
517
  module2.exports = diff;
530
518
  }
@@ -569,6 +557,15 @@ var require_prerelease = __commonJS({
569
557
  }
570
558
  });
571
559
 
560
+ // node_modules/semver/functions/compare.js
561
+ var require_compare = __commonJS({
562
+ "node_modules/semver/functions/compare.js"(exports, module2) {
563
+ var SemVer = require_semver();
564
+ var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
565
+ module2.exports = compare;
566
+ }
567
+ });
568
+
572
569
  // node_modules/semver/functions/rcompare.js
573
570
  var require_rcompare = __commonJS({
574
571
  "node_modules/semver/functions/rcompare.js"(exports, module2) {
@@ -636,6 +633,15 @@ var require_lt = __commonJS({
636
633
  }
637
634
  });
638
635
 
636
+ // node_modules/semver/functions/eq.js
637
+ var require_eq = __commonJS({
638
+ "node_modules/semver/functions/eq.js"(exports, module2) {
639
+ var compare = require_compare();
640
+ var eq = (a, b, loose) => compare(a, b, loose) === 0;
641
+ module2.exports = eq;
642
+ }
643
+ });
644
+
639
645
  // node_modules/semver/functions/neq.js
640
646
  var require_neq = __commonJS({
641
647
  "node_modules/semver/functions/neq.js"(exports, module2) {