@cloudsnorkel/cdk-github-runners 0.9.2 → 0.9.4

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 (109) hide show
  1. package/.gitattributes +10 -9
  2. package/.jsii +871 -200
  3. package/API.md +567 -3
  4. package/assets/{lambdas/delete-runner.lambda → delete-runner.lambda}/index.js +96 -56
  5. package/assets/{lambdas → providers}/build-image.lambda/index.js +3 -3
  6. package/assets/{lambdas → providers/image-builders/aws-image-builder}/delete-ami.lambda/index.js +3 -3
  7. package/assets/providers/image-builders/aws-image-builder/filter-failed-builds.lambda/index.js +39 -0
  8. package/assets/{lambdas/aws-image-builder-versioner.lambda → providers/image-builders/aws-image-builder/versioner.lambda}/index.js +98 -58
  9. package/assets/{lambdas → providers}/update-lambda.lambda/index.js +1 -1
  10. package/assets/{lambdas/setup.lambda → setup.lambda}/index.js +4 -4
  11. package/assets/{lambdas/status.lambda → status.lambda}/index.js +96 -56
  12. package/assets/{lambdas/token-retriever.lambda → token-retriever.lambda}/index.js +96 -56
  13. package/assets/{lambdas/webhook-handler.lambda → webhook-handler.lambda}/index.js +3 -3
  14. package/lib/access.js +1 -1
  15. package/lib/{lambdas/delete-runner-function.d.ts → delete-runner-function.d.ts} +1 -1
  16. package/lib/delete-runner-function.js +23 -0
  17. package/lib/delete-runner.lambda.js +69 -0
  18. package/lib/github.js +50 -0
  19. package/lib/lambda-helpers.js +66 -0
  20. package/lib/{lambdas → providers}/build-image-function.d.ts +1 -1
  21. package/lib/providers/build-image-function.js +23 -0
  22. package/lib/providers/build-image.lambda.js +92 -0
  23. package/lib/providers/codebuild.js +2 -2
  24. package/lib/providers/common.js +3 -3
  25. package/lib/providers/ec2.js +2 -2
  26. package/lib/providers/ecs.js +10 -2
  27. package/lib/providers/fargate.js +2 -2
  28. package/lib/providers/image-builders/api.js +1 -1
  29. package/lib/providers/image-builders/aws-image-builder/builder.d.ts +12 -3
  30. package/lib/providers/image-builders/aws-image-builder/builder.js +43 -11
  31. package/lib/providers/image-builders/aws-image-builder/common.js +3 -3
  32. package/lib/{lambdas → providers/image-builders/aws-image-builder}/delete-ami-function.d.ts +1 -1
  33. package/lib/providers/image-builders/aws-image-builder/delete-ami-function.js +23 -0
  34. package/lib/providers/image-builders/aws-image-builder/delete-ami.lambda.js +87 -0
  35. package/lib/providers/image-builders/aws-image-builder/deprecated/ami.d.ts +0 -1
  36. package/lib/providers/image-builders/aws-image-builder/deprecated/ami.js +6 -5
  37. package/lib/providers/image-builders/aws-image-builder/deprecated/common.js +6 -1
  38. package/lib/providers/image-builders/aws-image-builder/deprecated/container.js +3 -3
  39. package/lib/providers/image-builders/aws-image-builder/deprecated/linux-components.js +2 -10
  40. package/lib/providers/image-builders/aws-image-builder/deprecated/windows-components.js +3 -16
  41. package/lib/providers/image-builders/aws-image-builder/filter-failed-builds-function.d.ts +13 -0
  42. package/lib/providers/image-builders/aws-image-builder/filter-failed-builds-function.js +23 -0
  43. package/lib/providers/image-builders/aws-image-builder/filter-failed-builds.lambda.js +18 -0
  44. package/lib/providers/image-builders/aws-image-builder/versioner-function.d.ts +13 -0
  45. package/lib/providers/image-builders/aws-image-builder/versioner-function.js +23 -0
  46. package/lib/providers/image-builders/aws-image-builder/versioner.lambda.js +96 -0
  47. package/lib/providers/image-builders/codebuild-deprecated.js +3 -3
  48. package/lib/providers/image-builders/codebuild.d.ts +11 -2
  49. package/lib/providers/image-builders/codebuild.js +19 -3
  50. package/lib/providers/image-builders/components.js +1 -1
  51. package/lib/providers/image-builders/static.js +1 -1
  52. package/lib/providers/index.d.ts +1 -0
  53. package/lib/providers/index.js +2 -1
  54. package/lib/providers/lambda.js +4 -4
  55. package/lib/{lambdas → providers}/update-lambda-function.d.ts +1 -1
  56. package/lib/providers/update-lambda-function.js +23 -0
  57. package/lib/providers/update-lambda.lambda.js +34 -0
  58. package/lib/runner.d.ts +9 -1
  59. package/lib/runner.js +24 -12
  60. package/lib/secrets.js +1 -1
  61. package/lib/{lambdas/setup-function.d.ts → setup-function.d.ts} +1 -1
  62. package/lib/setup-function.js +23 -0
  63. package/lib/setup.lambda.js +152 -0
  64. package/lib/{lambdas/status-function.d.ts → status-function.d.ts} +1 -1
  65. package/lib/status-function.js +23 -0
  66. package/lib/status.lambda.js +298 -0
  67. package/lib/{lambdas/token-retriever-function.d.ts → token-retriever-function.d.ts} +1 -1
  68. package/lib/token-retriever-function.js +23 -0
  69. package/lib/token-retriever.lambda.js +15 -0
  70. package/lib/{lambdas/webhook-handler-function.d.ts → webhook-handler-function.d.ts} +1 -1
  71. package/lib/webhook-handler-function.js +23 -0
  72. package/lib/webhook-handler.lambda.d.ts +1 -0
  73. package/lib/webhook-handler.lambda.js +116 -0
  74. package/lib/webhook.d.ts +1 -1
  75. package/lib/webhook.js +2 -2
  76. package/package.json +28 -26
  77. package/lib/lambdas/aws-image-builder-versioner-function.d.ts +0 -13
  78. package/lib/lambdas/aws-image-builder-versioner-function.js +0 -23
  79. package/lib/lambdas/aws-image-builder-versioner.lambda.js +0 -96
  80. package/lib/lambdas/build-image-function.js +0 -23
  81. package/lib/lambdas/build-image.lambda.js +0 -92
  82. package/lib/lambdas/delete-ami-function.js +0 -23
  83. package/lib/lambdas/delete-ami.lambda.js +0 -87
  84. package/lib/lambdas/delete-runner-function.js +0 -23
  85. package/lib/lambdas/delete-runner.lambda.js +0 -69
  86. package/lib/lambdas/github.js +0 -50
  87. package/lib/lambdas/helpers.js +0 -66
  88. package/lib/lambdas/setup-function.js +0 -23
  89. package/lib/lambdas/setup.lambda.js +0 -152
  90. package/lib/lambdas/status-function.js +0 -23
  91. package/lib/lambdas/status.lambda.js +0 -298
  92. package/lib/lambdas/token-retriever-function.js +0 -23
  93. package/lib/lambdas/token-retriever.lambda.js +0 -15
  94. package/lib/lambdas/update-lambda-function.js +0 -23
  95. package/lib/lambdas/update-lambda.lambda.js +0 -34
  96. package/lib/lambdas/webhook-handler-function.js +0 -23
  97. package/lib/lambdas/webhook-handler.lambda.js +0 -116
  98. /package/assets/{lambdas/setup.lambda → setup.lambda}/index.html +0 -0
  99. /package/lib/{lambdas/delete-runner.lambda.d.ts → delete-runner.lambda.d.ts} +0 -0
  100. /package/lib/{lambdas/github.d.ts → github.d.ts} +0 -0
  101. /package/lib/{lambdas/helpers.d.ts → lambda-helpers.d.ts} +0 -0
  102. /package/lib/{lambdas → providers}/build-image.lambda.d.ts +0 -0
  103. /package/lib/{lambdas → providers/image-builders/aws-image-builder}/delete-ami.lambda.d.ts +0 -0
  104. /package/lib/{lambdas/setup.lambda.d.ts → providers/image-builders/aws-image-builder/filter-failed-builds.lambda.d.ts} +0 -0
  105. /package/lib/{lambdas/aws-image-builder-versioner.lambda.d.ts → providers/image-builders/aws-image-builder/versioner.lambda.d.ts} +0 -0
  106. /package/lib/{lambdas → providers}/update-lambda.lambda.d.ts +0 -0
  107. /package/lib/{lambdas/status.lambda.d.ts → setup.lambda.d.ts} +0 -0
  108. /package/lib/{lambdas/token-retriever.lambda.d.ts → status.lambda.d.ts} +0 -0
  109. /package/lib/{lambdas/webhook-handler.lambda.d.ts → token-retriever.lambda.d.ts} +0 -0
@@ -10172,11 +10172,23 @@ var require_constants = __commonJS({
10172
10172
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
10173
10173
  9007199254740991;
10174
10174
  var MAX_SAFE_COMPONENT_LENGTH = 16;
10175
+ var RELEASE_TYPES = [
10176
+ "major",
10177
+ "premajor",
10178
+ "minor",
10179
+ "preminor",
10180
+ "patch",
10181
+ "prepatch",
10182
+ "prerelease"
10183
+ ];
10175
10184
  module2.exports = {
10176
- SEMVER_SPEC_VERSION,
10177
10185
  MAX_LENGTH,
10186
+ MAX_SAFE_COMPONENT_LENGTH,
10178
10187
  MAX_SAFE_INTEGER,
10179
- MAX_SAFE_COMPONENT_LENGTH
10188
+ RELEASE_TYPES,
10189
+ SEMVER_SPEC_VERSION,
10190
+ FLAG_INCLUDE_PRERELEASE: 1,
10191
+ FLAG_LOOSE: 2
10180
10192
  };
10181
10193
  }
10182
10194
  });
@@ -10256,11 +10268,17 @@ var require_re = __commonJS({
10256
10268
  // node_modules/semver/internal/parse-options.js
10257
10269
  var require_parse_options = __commonJS({
10258
10270
  "node_modules/semver/internal/parse-options.js"(exports2, module2) {
10259
- var opts = ["includePrerelease", "loose", "rtl"];
10260
- var parseOptions = (options) => !options ? {} : typeof options !== "object" ? { loose: true } : opts.filter((k) => options[k]).reduce((o, k) => {
10261
- o[k] = true;
10262
- return o;
10263
- }, {});
10271
+ var looseOption = Object.freeze({ loose: true });
10272
+ var emptyOpts = Object.freeze({});
10273
+ var parseOptions = (options) => {
10274
+ if (!options) {
10275
+ return emptyOpts;
10276
+ }
10277
+ if (typeof options !== "object") {
10278
+ return looseOption;
10279
+ }
10280
+ return options;
10281
+ };
10264
10282
  module2.exports = parseOptions;
10265
10283
  }
10266
10284
  });
@@ -10430,31 +10448,31 @@ var require_semver = __commonJS({
10430
10448
  }
10431
10449
  // preminor will bump the version up to the next minor release, and immediately
10432
10450
  // down to pre-release. premajor and prepatch work the same way.
10433
- inc(release, identifier) {
10451
+ inc(release, identifier, identifierBase) {
10434
10452
  switch (release) {
10435
10453
  case "premajor":
10436
10454
  this.prerelease.length = 0;
10437
10455
  this.patch = 0;
10438
10456
  this.minor = 0;
10439
10457
  this.major++;
10440
- this.inc("pre", identifier);
10458
+ this.inc("pre", identifier, identifierBase);
10441
10459
  break;
10442
10460
  case "preminor":
10443
10461
  this.prerelease.length = 0;
10444
10462
  this.patch = 0;
10445
10463
  this.minor++;
10446
- this.inc("pre", identifier);
10464
+ this.inc("pre", identifier, identifierBase);
10447
10465
  break;
10448
10466
  case "prepatch":
10449
10467
  this.prerelease.length = 0;
10450
- this.inc("patch", identifier);
10451
- this.inc("pre", identifier);
10468
+ this.inc("patch", identifier, identifierBase);
10469
+ this.inc("pre", identifier, identifierBase);
10452
10470
  break;
10453
10471
  case "prerelease":
10454
10472
  if (this.prerelease.length === 0) {
10455
- this.inc("patch", identifier);
10473
+ this.inc("patch", identifier, identifierBase);
10456
10474
  }
10457
- this.inc("pre", identifier);
10475
+ this.inc("pre", identifier, identifierBase);
10458
10476
  break;
10459
10477
  case "major":
10460
10478
  if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
@@ -10493,12 +10511,13 @@ var require_semver = __commonJS({
10493
10511
  }
10494
10512
  }
10495
10513
  if (identifier) {
10514
+ const base = Number(identifierBase) ? 1 : 0;
10496
10515
  if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
10497
10516
  if (isNaN(this.prerelease[1])) {
10498
- this.prerelease = [identifier, 0];
10517
+ this.prerelease = [identifier, base];
10499
10518
  }
10500
10519
  } else {
10501
- this.prerelease = [identifier, 0];
10520
+ this.prerelease = [identifier, base];
10502
10521
  }
10503
10522
  }
10504
10523
  break;
@@ -10518,11 +10537,8 @@ var require_semver = __commonJS({
10518
10537
  var require_parse = __commonJS({
10519
10538
  "node_modules/semver/functions/parse.js"(exports2, module2) {
10520
10539
  var { MAX_LENGTH } = require_constants();
10521
- var { re, t } = require_re();
10522
10540
  var SemVer = require_semver();
10523
- var parseOptions = require_parse_options();
10524
10541
  var parse = (version, options) => {
10525
- options = parseOptions(options);
10526
10542
  if (version instanceof SemVer) {
10527
10543
  return version;
10528
10544
  }
@@ -10532,10 +10548,6 @@ var require_parse = __commonJS({
10532
10548
  if (version.length > MAX_LENGTH) {
10533
10549
  return null;
10534
10550
  }
10535
- const r = options.loose ? re[t.LOOSE] : re[t.FULL];
10536
- if (!r.test(version)) {
10537
- return null;
10538
- }
10539
10551
  try {
10540
10552
  return new SemVer(version, options);
10541
10553
  } catch (er) {
@@ -10574,8 +10586,9 @@ var require_clean = __commonJS({
10574
10586
  var require_inc = __commonJS({
10575
10587
  "node_modules/semver/functions/inc.js"(exports2, module2) {
10576
10588
  var SemVer = require_semver();
10577
- var inc = (version, release, options, identifier) => {
10589
+ var inc = (version, release, options, identifier, identifierBase) => {
10578
10590
  if (typeof options === "string") {
10591
+ identifierBase = identifier;
10579
10592
  identifier = options;
10580
10593
  options = void 0;
10581
10594
  }
@@ -10583,7 +10596,7 @@ var require_inc = __commonJS({
10583
10596
  return new SemVer(
10584
10597
  version instanceof SemVer ? version.version : version,
10585
10598
  options
10586
- ).inc(release, identifier).version;
10599
+ ).inc(release, identifier, identifierBase).version;
10587
10600
  } catch (er) {
10588
10601
  return null;
10589
10602
  }
@@ -10616,19 +10629,32 @@ var require_diff = __commonJS({
10616
10629
  var parse = require_parse();
10617
10630
  var eq = require_eq();
10618
10631
  var diff = (version1, version2) => {
10619
- if (eq(version1, version2)) {
10632
+ const v1 = parse(version1);
10633
+ const v2 = parse(version2);
10634
+ if (eq(v1, v2)) {
10620
10635
  return null;
10621
10636
  } else {
10622
- const v1 = parse(version1);
10623
- const v2 = parse(version2);
10624
10637
  const hasPre = v1.prerelease.length || v2.prerelease.length;
10625
10638
  const prefix = hasPre ? "pre" : "";
10626
10639
  const defaultResult = hasPre ? "prerelease" : "";
10627
- for (const key in v1) {
10628
- if (key === "major" || key === "minor" || key === "patch") {
10629
- if (v1[key] !== v2[key]) {
10630
- return prefix + key;
10631
- }
10640
+ if (v1.major !== v2.major) {
10641
+ return prefix + "major";
10642
+ }
10643
+ if (v1.minor !== v2.minor) {
10644
+ return prefix + "minor";
10645
+ }
10646
+ if (v1.patch !== v2.patch) {
10647
+ return prefix + "patch";
10648
+ }
10649
+ if (!v1.prerelease.length || !v2.prerelease.length) {
10650
+ if (v1.patch) {
10651
+ return "patch";
10652
+ }
10653
+ if (v1.minor) {
10654
+ return "minor";
10655
+ }
10656
+ if (v1.major) {
10657
+ return "major";
10632
10658
  }
10633
10659
  }
10634
10660
  return defaultResult;
@@ -11566,8 +11592,8 @@ var require_range = __commonJS({
11566
11592
  }
11567
11593
  parseRange(range) {
11568
11594
  range = range.trim();
11569
- const memoOpts = Object.keys(this.options).join(",");
11570
- const memoKey = `parseRange:${memoOpts}:${range}`;
11595
+ const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
11596
+ const memoKey = memoOpts + ":" + range;
11571
11597
  const cached = cache.get(memoKey);
11572
11598
  if (cached) {
11573
11599
  return cached;
@@ -11652,6 +11678,7 @@ var require_range = __commonJS({
11652
11678
  tildeTrimReplace,
11653
11679
  caretTrimReplace
11654
11680
  } = require_re();
11681
+ var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
11655
11682
  var isNullSet = (c) => c.value === "<0.0.0-0";
11656
11683
  var isAny = (c) => c.value === "";
11657
11684
  var isSatisfiable = (comparators, options) => {
@@ -11937,12 +11964,6 @@ var require_comparator = __commonJS({
11937
11964
  if (!(comp instanceof Comparator)) {
11938
11965
  throw new TypeError("a Comparator is required");
11939
11966
  }
11940
- if (!options || typeof options !== "object") {
11941
- options = {
11942
- loose: !!options,
11943
- includePrerelease: false
11944
- };
11945
- }
11946
11967
  if (this.operator === "") {
11947
11968
  if (this.value === "") {
11948
11969
  return true;
@@ -11954,13 +11975,29 @@ var require_comparator = __commonJS({
11954
11975
  }
11955
11976
  return new Range(this.value, options).test(comp.semver);
11956
11977
  }
11957
- const sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
11958
- const sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
11959
- const sameSemVer = this.semver.version === comp.semver.version;
11960
- const differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
11961
- const oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<");
11962
- const oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">");
11963
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
11978
+ options = parseOptions(options);
11979
+ if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
11980
+ return false;
11981
+ }
11982
+ if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
11983
+ return false;
11984
+ }
11985
+ if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
11986
+ return true;
11987
+ }
11988
+ if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
11989
+ return true;
11990
+ }
11991
+ if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
11992
+ return true;
11993
+ }
11994
+ if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
11995
+ return true;
11996
+ }
11997
+ if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
11998
+ return true;
11999
+ }
12000
+ return false;
11964
12001
  }
11965
12002
  };
11966
12003
  module2.exports = Comparator;
@@ -12218,7 +12255,7 @@ var require_intersects = __commonJS({
12218
12255
  var intersects = (r1, r2, options) => {
12219
12256
  r1 = new Range(r1, options);
12220
12257
  r2 = new Range(r2, options);
12221
- return r1.intersects(r2);
12258
+ return r1.intersects(r2, options);
12222
12259
  };
12223
12260
  module2.exports = intersects;
12224
12261
  }
@@ -12303,6 +12340,8 @@ var require_subset = __commonJS({
12303
12340
  }
12304
12341
  return true;
12305
12342
  };
12343
+ var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
12344
+ var minimumVersion = [new Comparator(">=0.0.0")];
12306
12345
  var simpleSubset = (sub, dom, options) => {
12307
12346
  if (sub === dom) {
12308
12347
  return true;
@@ -12311,16 +12350,16 @@ var require_subset = __commonJS({
12311
12350
  if (dom.length === 1 && dom[0].semver === ANY) {
12312
12351
  return true;
12313
12352
  } else if (options.includePrerelease) {
12314
- sub = [new Comparator(">=0.0.0-0")];
12353
+ sub = minimumVersionWithPreRelease;
12315
12354
  } else {
12316
- sub = [new Comparator(">=0.0.0")];
12355
+ sub = minimumVersion;
12317
12356
  }
12318
12357
  }
12319
12358
  if (dom.length === 1 && dom[0].semver === ANY) {
12320
12359
  if (options.includePrerelease) {
12321
12360
  return true;
12322
12361
  } else {
12323
- dom = [new Comparator(">=0.0.0")];
12362
+ dom = minimumVersion;
12324
12363
  }
12325
12364
  }
12326
12365
  const eqSet = /* @__PURE__ */ new Set();
@@ -12520,6 +12559,7 @@ var require_semver2 = __commonJS({
12520
12559
  src: internalRe.src,
12521
12560
  tokens: internalRe.t,
12522
12561
  SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
12562
+ RELEASE_TYPES: constants.RELEASE_TYPES,
12523
12563
  compareIdentifiers: identifiers.compareIdentifiers,
12524
12564
  rcompareIdentifiers: identifiers.rcompareIdentifiers
12525
12565
  };
@@ -22367,11 +22407,11 @@ var require_dist_node31 = __commonJS({
22367
22407
  }
22368
22408
  });
22369
22409
 
22370
- // src/lambdas/github.ts
22410
+ // src/github.ts
22371
22411
  var import_auth_app = __toESM(require_dist_node24());
22372
22412
  var import_rest = __toESM(require_dist_node31());
22373
22413
 
22374
- // src/lambdas/helpers.ts
22414
+ // src/lambda-helpers.ts
22375
22415
  var AWS = __toESM(require("aws-sdk"));
22376
22416
  var sm = new AWS.SecretsManager();
22377
22417
  async function getSecretValue(arn) {
@@ -22388,7 +22428,7 @@ async function getSecretJsonValue(arn) {
22388
22428
  return JSON.parse(await getSecretValue(arn));
22389
22429
  }
22390
22430
 
22391
- // src/lambdas/github.ts
22431
+ // src/github.ts
22392
22432
  function baseUrlFromDomain(domain) {
22393
22433
  if (domain == "github.com") {
22394
22434
  return "https://api.github.com";
@@ -22429,7 +22469,7 @@ async function getOctokit(installationId) {
22429
22469
  };
22430
22470
  }
22431
22471
 
22432
- // src/lambdas/delete-runner.lambda.ts
22472
+ // src/delete-runner.lambda.ts
22433
22473
  async function getRunnerId(octokit, owner, repo, name, idleOnly) {
22434
22474
  let page = 1;
22435
22475
  while (true) {
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // src/lambdas/build-image.lambda.ts
30
+ // src/providers/build-image.lambda.ts
31
31
  var build_image_lambda_exports = {};
32
32
  __export(build_image_lambda_exports, {
33
33
  handler: () => handler
@@ -35,7 +35,7 @@ __export(build_image_lambda_exports, {
35
35
  module.exports = __toCommonJS(build_image_lambda_exports);
36
36
  var AWS2 = __toESM(require("aws-sdk"));
37
37
 
38
- // src/lambdas/helpers.ts
38
+ // src/lambda-helpers.ts
39
39
  var AWS = __toESM(require("aws-sdk"));
40
40
  var sm = new AWS.SecretsManager();
41
41
  async function customResourceRespond(event, responseStatus, reason, physicalResourceId, data) {
@@ -72,7 +72,7 @@ async function customResourceRespond(event, responseStatus, reason, physicalReso
72
72
  });
73
73
  }
74
74
 
75
- // src/lambdas/build-image.lambda.ts
75
+ // src/providers/build-image.lambda.ts
76
76
  var codebuild = new AWS2.CodeBuild();
77
77
  var ecr = new AWS2.ECR();
78
78
  var ib = new AWS2.Imagebuilder();
@@ -22,10 +22,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
 
25
- // src/lambdas/delete-ami.lambda.ts
25
+ // src/providers/image-builders/aws-image-builder/delete-ami.lambda.ts
26
26
  var AWS2 = __toESM(require("aws-sdk"));
27
27
 
28
- // src/lambdas/helpers.ts
28
+ // src/lambda-helpers.ts
29
29
  var AWS = __toESM(require("aws-sdk"));
30
30
  var sm = new AWS.SecretsManager();
31
31
  async function customResourceRespond(event, responseStatus, reason, physicalResourceId, data) {
@@ -62,7 +62,7 @@ async function customResourceRespond(event, responseStatus, reason, physicalReso
62
62
  });
63
63
  }
64
64
 
65
- // src/lambdas/delete-ami.lambda.ts
65
+ // src/providers/image-builders/aws-image-builder/delete-ami.lambda.ts
66
66
  var ec2 = new AWS2.EC2();
67
67
  async function deleteAmis(launchTemplateId, stackName, builderName, deleteAll) {
68
68
  var _a;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+
25
+ // src/providers/image-builders/aws-image-builder/filter-failed-builds.lambda.ts
26
+ var AWS = __toESM(require("aws-sdk"));
27
+ var sns = new AWS.SNS();
28
+ exports.handler = async function(event) {
29
+ console.log(JSON.stringify(event));
30
+ for (const record of event.Records) {
31
+ let message = JSON.parse(record.Sns.Message);
32
+ if (message.state.status === "FAILED") {
33
+ await sns.publish({
34
+ TopicArn: process.env.TARGET_TOPIC_ARN,
35
+ Message: record.Sns.Message
36
+ }).promise();
37
+ }
38
+ }
39
+ };