@cloudsnorkel/cdk-github-runners 0.15.0 → 0.15.1

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 (42) hide show
  1. package/.jsii +533 -327
  2. package/API.md +384 -174
  3. package/README.md +1 -1
  4. package/assets/delete-failed-runner.lambda/index.js +23 -6
  5. package/assets/idle-runner-repear.lambda/index.js +23 -6
  6. package/assets/setup.lambda/index.html +7 -7
  7. package/assets/setup.lambda/index.js +23 -6
  8. package/assets/status.lambda/index.js +23 -6
  9. package/assets/token-retriever.lambda/index.js +23 -6
  10. package/assets/warm-runner-manager.lambda/index.js +23 -6
  11. package/assets/webhook-handler.lambda/index.js +23 -6
  12. package/assets/webhook-redelivery.lambda/index.js +23 -6
  13. package/lib/access.js +1 -1
  14. package/lib/image-builders/api.js +1 -1
  15. package/lib/image-builders/aws-image-builder/base-image.js +2 -2
  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.js +1 -1
  20. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  21. package/lib/image-builders/codebuild-deprecated.js +1 -1
  22. package/lib/image-builders/components.js +1 -1
  23. package/lib/image-builders/static.js +1 -1
  24. package/lib/providers/codebuild.d.ts +2 -2
  25. package/lib/providers/codebuild.js +3 -3
  26. package/lib/providers/common.d.ts +47 -3
  27. package/lib/providers/common.js +29 -5
  28. package/lib/providers/composite.js +14 -19
  29. package/lib/providers/ec2.d.ts +4 -2
  30. package/lib/providers/ec2.js +58 -30
  31. package/lib/providers/ecs.d.ts +2 -2
  32. package/lib/providers/ecs.js +8 -8
  33. package/lib/providers/fargate.d.ts +2 -2
  34. package/lib/providers/fargate.js +13 -8
  35. package/lib/providers/lambda.d.ts +2 -2
  36. package/lib/providers/lambda.js +3 -3
  37. package/lib/runner.d.ts +6 -1
  38. package/lib/runner.js +54 -31
  39. package/lib/secrets.js +1 -1
  40. package/lib/warm-runner.d.ts +15 -7
  41. package/lib/warm-runner.js +19 -12
  42. package/package.json +15 -15
package/README.md CHANGED
@@ -54,7 +54,7 @@ A runner provider creates compute resources on-demand and uses [actions/runner][
54
54
 
55
55
  | | EC2 | CodeBuild | Fargate | ECS | Lambda |
56
56
  |------------------|-------------------|----------------------------|----------------|----------------|---------------|
57
- | **Time limit** | Unlimited | 8 hours | Unlimited | Unlimited | 15 minutes |
57
+ | **Time limit** | Unlimited | 36 hours (default 1 hour) | Unlimited | Unlimited | 15 minutes |
58
58
  | **vCPUs** | Unlimited | 2, 4, 8, or 72 | 0.25 to 4 | Unlimited | 1 to 6 |
59
59
  | **RAM** | Unlimited | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | Unlimited | 128mb to 10gb |
60
60
  | **Storage** | Unlimited | 50gb to 824gb | 20gb to 200gb | Unlimited | Up to 10gb |
@@ -596,7 +596,7 @@ var require_fast_content_type_parse = __commonJS({
596
596
  });
597
597
 
598
598
  // node_modules/json-with-bigint/json-with-bigint.js
599
- var intRegex, noiseValue, originalStringify, originalParse, customFormat, bigIntsStringify, noiseStringify, JSONStringify, isContextSourceSupported, convertMarkedBigIntsReviver, JSONParseV2, MAX_INT, MAX_DIGITS, stringsOrLargeNumbers, noiseValueWithQuotes, JSONParse;
599
+ var intRegex, noiseValue, originalStringify, originalParse, customFormat, bigIntsStringify, noiseStringify, JSONStringify, featureCache, isContextSourceSupported, convertMarkedBigIntsReviver, JSONParseV2, MAX_INT, MAX_DIGITS, stringsOrLargeNumbers, noiseValueWithQuotes, JSONParse;
600
600
  var init_json_with_bigint = __esm({
601
601
  "node_modules/json-with-bigint/json-with-bigint.js"() {
602
602
  "use strict";
@@ -624,7 +624,7 @@ var init_json_with_bigint = __esm({
624
624
  const convertedToCustomJSON = originalStringify(
625
625
  value,
626
626
  (key, value2) => {
627
- const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue));
627
+ const isNoise = typeof value2 === "string" && noiseValue.test(value2);
628
628
  if (isNoise) return value2.toString() + "n";
629
629
  if (typeof value2 === "bigint") return value2.toString() + "n";
630
630
  if (typeof replacer === "function") return replacer(key, value2);
@@ -640,11 +640,28 @@ var init_json_with_bigint = __esm({
640
640
  const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3");
641
641
  return denoisedJSON;
642
642
  };
643
- isContextSourceSupported = () => JSON.parse("1", (_, __, context) => !!context && context.source === "1");
643
+ featureCache = /* @__PURE__ */ new Map();
644
+ isContextSourceSupported = () => {
645
+ const parseFingerprint = JSON.parse.toString();
646
+ if (featureCache.has(parseFingerprint)) {
647
+ return featureCache.get(parseFingerprint);
648
+ }
649
+ try {
650
+ const result = JSON.parse(
651
+ "1",
652
+ (_, __, context) => !!context?.source && context.source === "1"
653
+ );
654
+ featureCache.set(parseFingerprint, result);
655
+ return result;
656
+ } catch {
657
+ featureCache.set(parseFingerprint, false);
658
+ return false;
659
+ }
660
+ };
644
661
  convertMarkedBigIntsReviver = (key, value, context, userReviver) => {
645
- const isCustomFormatBigInt = typeof value === "string" && value.match(customFormat);
662
+ const isCustomFormatBigInt = typeof value === "string" && customFormat.test(value);
646
663
  if (isCustomFormatBigInt) return BigInt(value.slice(0, -1));
647
- const isNoiseValue = typeof value === "string" && value.match(noiseValue);
664
+ const isNoiseValue = typeof value === "string" && noiseValue.test(value);
648
665
  if (isNoiseValue) return value.slice(0, -1);
649
666
  if (typeof userReviver !== "function") return value;
650
667
  return userReviver(key, value, context);
@@ -670,7 +687,7 @@ var init_json_with_bigint = __esm({
670
687
  stringsOrLargeNumbers,
671
688
  (text2, digits, fractional, exponential) => {
672
689
  const isString = text2[0] === '"';
673
- const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes));
690
+ const isNoise = isString && noiseValueWithQuotes.test(text2);
674
691
  if (isNoise) return text2.substring(0, text2.length - 1) + 'n"';
675
692
  const isFractionalOrExponential = fractional || exponential;
676
693
  const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT);
@@ -596,7 +596,7 @@ var require_fast_content_type_parse = __commonJS({
596
596
  });
597
597
 
598
598
  // node_modules/json-with-bigint/json-with-bigint.js
599
- var intRegex, noiseValue, originalStringify, originalParse, customFormat, bigIntsStringify, noiseStringify, JSONStringify, isContextSourceSupported, convertMarkedBigIntsReviver, JSONParseV2, MAX_INT, MAX_DIGITS, stringsOrLargeNumbers, noiseValueWithQuotes, JSONParse;
599
+ var intRegex, noiseValue, originalStringify, originalParse, customFormat, bigIntsStringify, noiseStringify, JSONStringify, featureCache, isContextSourceSupported, convertMarkedBigIntsReviver, JSONParseV2, MAX_INT, MAX_DIGITS, stringsOrLargeNumbers, noiseValueWithQuotes, JSONParse;
600
600
  var init_json_with_bigint = __esm({
601
601
  "node_modules/json-with-bigint/json-with-bigint.js"() {
602
602
  "use strict";
@@ -624,7 +624,7 @@ var init_json_with_bigint = __esm({
624
624
  const convertedToCustomJSON = originalStringify(
625
625
  value,
626
626
  (key, value2) => {
627
- const isNoise = typeof value2 === "string" && Boolean(value2.match(noiseValue));
627
+ const isNoise = typeof value2 === "string" && noiseValue.test(value2);
628
628
  if (isNoise) return value2.toString() + "n";
629
629
  if (typeof value2 === "bigint") return value2.toString() + "n";
630
630
  if (typeof replacer === "function") return replacer(key, value2);
@@ -640,11 +640,28 @@ var init_json_with_bigint = __esm({
640
640
  const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3");
641
641
  return denoisedJSON;
642
642
  };
643
- isContextSourceSupported = () => JSON.parse("1", (_, __, context) => !!context && context.source === "1");
643
+ featureCache = /* @__PURE__ */ new Map();
644
+ isContextSourceSupported = () => {
645
+ const parseFingerprint = JSON.parse.toString();
646
+ if (featureCache.has(parseFingerprint)) {
647
+ return featureCache.get(parseFingerprint);
648
+ }
649
+ try {
650
+ const result = JSON.parse(
651
+ "1",
652
+ (_, __, context) => !!context?.source && context.source === "1"
653
+ );
654
+ featureCache.set(parseFingerprint, result);
655
+ return result;
656
+ } catch {
657
+ featureCache.set(parseFingerprint, false);
658
+ return false;
659
+ }
660
+ };
644
661
  convertMarkedBigIntsReviver = (key, value, context, userReviver) => {
645
- const isCustomFormatBigInt = typeof value === "string" && value.match(customFormat);
662
+ const isCustomFormatBigInt = typeof value === "string" && customFormat.test(value);
646
663
  if (isCustomFormatBigInt) return BigInt(value.slice(0, -1));
647
- const isNoiseValue = typeof value === "string" && value.match(noiseValue);
664
+ const isNoiseValue = typeof value === "string" && noiseValue.test(value);
648
665
  if (isNoiseValue) return value.slice(0, -1);
649
666
  if (typeof userReviver !== "function") return value;
650
667
  return userReviver(key, value, context);
@@ -670,7 +687,7 @@ var init_json_with_bigint = __esm({
670
687
  stringsOrLargeNumbers,
671
688
  (text2, digits, fractional, exponential) => {
672
689
  const isString = text2[0] === '"';
673
- const isNoise = isString && Boolean(text2.match(noiseValueWithQuotes));
690
+ const isNoise = isString && noiseValueWithQuotes.test(text2);
674
691
  if (isNoise) return text2.substring(0, text2.length - 1) + 'n"';
675
692
  const isFractionalOrExponential = fractional || exponential;
676
693
  const isLessThanMaxSafeInt = digits && (digits.length < MAX_DIGITS || digits.length === MAX_DIGITS && digits <= MAX_INT);