cloudsnorkel.cdk-github-runners 0.13.3__py3-none-any.whl → 0.14.0__py3-none-any.whl

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.

Potentially problematic release.


This version of cloudsnorkel.cdk-github-runners might be problematic. Click here for more details.

@@ -11,11 +11,11 @@
11
11
 
12
12
  Use this CDK construct to create ephemeral [self-hosted GitHub runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) on-demand inside your AWS account.
13
13
 
14
- * Easy to configure GitHub integration with a web-based interface
15
- * Customizable runners with decent defaults
16
- * Multiple runner configurations controlled by labels
17
- * Everything fully hosted in your account
18
- * Automatically updated build environment with latest runner version
14
+ * 🧩 Easy to configure GitHub integration with a web-based interface
15
+ * 🧠 Customizable runners with decent defaults
16
+ * 🏃🏻 Multiple runner configurations controlled by labels
17
+ * 🔐 Everything fully hosted in your account
18
+ * 🔃 Automatically updated build environment with latest runner version
19
19
 
20
20
  Self-hosted runners in AWS are useful when:
21
21
 
@@ -323,6 +323,20 @@ Other useful metrics to track:
323
323
  1. Use `GitHubRunners.metricJobCompleted()` to get a metric for the number of completed jobs broken down by labels and job success.
324
324
  2. Use `GitHubRunners.metricTime()` to get a metric for the total time a runner is running. This includes the overhead of starting the runner.
325
325
 
326
+ ## Contributing
327
+
328
+ If you use and love this project, please consider contributing.
329
+
330
+ 1. 🪳 If you see something, say something. [Issues](https://github.com/CloudSnorkel/cdk-github-runners/issues) help improve the quality of the project.
331
+
332
+ * Include relevant logs and package versions for bugs.
333
+ * When possible, describe the use-case behind feature requests.
334
+ 2. 🛠️ [Pull requests](https://github.com/CloudSnorkel/cdk-github-runners/pulls) are welcome.
335
+
336
+ * Run `npm run build` before submitting to make sure all tests pass.
337
+ * Allow edits from maintainers so small adjustments can be made easily.
338
+ 3. 💵 Consider [sponsoring](https://github.com/sponsors/CloudSnorkel) the project to show your support and optionally get your name listed below.
339
+
326
340
  ## Other Options
327
341
 
328
342
  1. [philips-labs/terraform-aws-github-runner](https://github.com/philips-labs/terraform-aws-github-runner) if you're using Terraform
@@ -401,7 +415,7 @@ class AmiBuilderProps:
401
415
 
402
416
  :param architecture: (experimental) Image architecture. Default: Architecture.X86_64
403
417
  :param install_docker: (experimental) Install Docker inside the image, so it can be used by the runner. Default: true
404
- :param instance_type: (experimental) The instance type used to build the image. Default: m5.large
418
+ :param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
405
419
  :param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
406
420
  :param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
407
421
  :param os: (experimental) Image OS. Default: OS.LINUX
@@ -482,7 +496,7 @@ class AmiBuilderProps:
482
496
  def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
483
497
  '''(experimental) The instance type used to build the image.
484
498
 
485
- :default: m5.large
499
+ :default: m6i.large
486
500
 
487
501
  :stability: experimental
488
502
  '''
@@ -826,7 +840,7 @@ class AwsImageBuilderRunnerImageBuilderProps:
826
840
  ) -> None:
827
841
  '''
828
842
  :param fast_launch_options: (experimental) Options for fast launch. This is only supported for Windows AMIs. Default: disabled
829
- :param instance_type: (experimental) The instance type used to build the image. Default: m5.large
843
+ :param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
830
844
 
831
845
  :stability: experimental
832
846
  '''
@@ -859,7 +873,7 @@ class AwsImageBuilderRunnerImageBuilderProps:
859
873
  def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
860
874
  '''(experimental) The instance type used to build the image.
861
875
 
862
- :default: m5.large
876
+ :default: m6i.large
863
877
 
864
878
  :stability: experimental
865
879
  '''
@@ -1298,7 +1312,7 @@ class ContainerImageBuilderProps:
1298
1312
  '''(experimental) Properties for ContainerImageBuilder construct.
1299
1313
 
1300
1314
  :param architecture: (experimental) Image architecture. Default: Architecture.X86_64
1301
- :param instance_type: (experimental) The instance type used to build the image. Default: m5.large
1315
+ :param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
1302
1316
  :param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
1303
1317
  :param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
1304
1318
  :param os: (experimental) Image OS. Default: OS.LINUX
@@ -1369,7 +1383,7 @@ class ContainerImageBuilderProps:
1369
1383
  def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
1370
1384
  '''(experimental) The instance type used to build the image.
1371
1385
 
1372
- :default: m5.large
1386
+ :default: m6i.large
1373
1387
 
1374
1388
  :stability: experimental
1375
1389
  '''
@@ -3478,7 +3492,7 @@ class LambdaRunnerProvider(
3478
3492
 
3479
3493
  You can add components to the image builder by calling ``imageBuilder.addComponent()``.
3480
3494
 
3481
- The default OS is Amazon Linux 2 running on x64 architecture.
3495
+ The default OS is Amazon Linux 2023 running on x64 architecture.
3482
3496
 
3483
3497
  Included components:
3484
3498
 
@@ -3490,8 +3504,6 @@ class LambdaRunnerProvider(
3490
3504
  - ``RunnerImageComponent.githubRunner()``
3491
3505
  - ``RunnerImageComponent.lambdaEntrypoint()``
3492
3506
 
3493
- Base Docker image: ``public.ecr.aws/lambda/nodejs:20-x86_64`` or ``public.ecr.aws/lambda/nodejs:20-arm64``
3494
-
3495
3507
  :param scope: -
3496
3508
  :param id: -
3497
3509
  :param architecture: (experimental) Image architecture. Default: Architecture.X86_64
@@ -5947,7 +5959,7 @@ class AmiBuilder(
5947
5959
  :param id: -
5948
5960
  :param architecture: (experimental) Image architecture. Default: Architecture.X86_64
5949
5961
  :param install_docker: (experimental) Install Docker inside the image, so it can be used by the runner. Default: true
5950
- :param instance_type: (experimental) The instance type used to build the image. Default: m5.large
5962
+ :param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
5951
5963
  :param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
5952
5964
  :param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
5953
5965
  :param os: (experimental) Image OS. Default: OS.LINUX
@@ -7104,7 +7116,7 @@ class ContainerImageBuilder(
7104
7116
  :param scope: -
7105
7117
  :param id: -
7106
7118
  :param architecture: (experimental) Image architecture. Default: Architecture.X86_64
7107
- :param instance_type: (experimental) The instance type used to build the image. Default: m5.large
7119
+ :param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
7108
7120
  :param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
7109
7121
  :param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
7110
7122
  :param os: (experimental) Image OS. Default: OS.LINUX
@@ -7397,7 +7409,7 @@ class Ec2RunnerProvider(
7397
7409
  :param id: -
7398
7410
  :param ami_builder:
7399
7411
  :param image_builder: (experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: Ec2RunnerProvider.imageBuilder()
7400
- :param instance_type: (experimental) Instance type for launched runner instances. Default: m5.large
7412
+ :param instance_type: (experimental) Instance type for launched runner instances. Default: m6i.large
7401
7413
  :param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ec2']
7402
7414
  :param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
7403
7415
  :param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
@@ -7712,7 +7724,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
7712
7724
  :param retry_options:
7713
7725
  :param ami_builder:
7714
7726
  :param image_builder: (experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: Ec2RunnerProvider.imageBuilder()
7715
- :param instance_type: (experimental) Instance type for launched runner instances. Default: m5.large
7727
+ :param instance_type: (experimental) Instance type for launched runner instances. Default: m6i.large
7716
7728
  :param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ec2']
7717
7729
  :param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
7718
7730
  :param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
@@ -7829,7 +7841,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
7829
7841
  def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
7830
7842
  '''(experimental) Instance type for launched runner instances.
7831
7843
 
7832
- :default: m5.large
7844
+ :default: m6i.large
7833
7845
 
7834
7846
  :stability: experimental
7835
7847
  '''
@@ -8019,7 +8031,7 @@ class EcsRunnerProvider(
8019
8031
  :param cpu: (experimental) The number of cpu units used by the task. 1024 units is 1 vCPU. Fractions of a vCPU are supported. Default: 1024
8020
8032
  :param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
8021
8033
  :param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: EcsRunnerProvider.imageBuilder()
8022
- :param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default: m5.large or m6g.large
8034
+ :param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default: m6i.large or m6g.large
8023
8035
  :param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ecs']
8024
8036
  :param max_instances: (experimental) The maximum number of instances to run in the cluster. Only used when creating a new cluster. Default: 5
8025
8037
  :param memory_limit_mib: (experimental) The amount (in MiB) of memory used by the task. Default: 3500, unless ``memoryReservationMiB`` is used and then it's undefined
@@ -8355,7 +8367,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
8355
8367
  :param cpu: (experimental) The number of cpu units used by the task. 1024 units is 1 vCPU. Fractions of a vCPU are supported. Default: 1024
8356
8368
  :param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
8357
8369
  :param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: EcsRunnerProvider.imageBuilder()
8358
- :param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default: m5.large or m6g.large
8370
+ :param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default: m6i.large or m6g.large
8359
8371
  :param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ecs']
8360
8372
  :param max_instances: (experimental) The maximum number of instances to run in the cluster. Only used when creating a new cluster. Default: 5
8361
8373
  :param memory_limit_mib: (experimental) The amount (in MiB) of memory used by the task. Default: 3500, unless ``memoryReservationMiB`` is used and then it's undefined
@@ -8550,7 +8562,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
8550
8562
 
8551
8563
  Only used when creating a new cluster.
8552
8564
 
8553
- :default: m5.large or m6g.large
8565
+ :default: m6i.large or m6g.large
8554
8566
 
8555
8567
  :stability: experimental
8556
8568
  '''
@@ -10316,7 +10328,7 @@ class Ec2Runner(
10316
10328
  :param id: -
10317
10329
  :param ami_builder:
10318
10330
  :param image_builder: (experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: Ec2RunnerProvider.imageBuilder()
10319
- :param instance_type: (experimental) Instance type for launched runner instances. Default: m5.large
10331
+ :param instance_type: (experimental) Instance type for launched runner instances. Default: m6i.large
10320
10332
  :param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ec2']
10321
10333
  :param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
10322
10334
  :param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
@@ -18,9 +18,9 @@ import constructs._jsii
18
18
 
19
19
  __jsii_assembly__ = jsii.JSIIAssembly.load(
20
20
  "@cloudsnorkel/cdk-github-runners",
21
- "0.13.3",
21
+ "0.14.0",
22
22
  __name__[0:-6],
23
- "cdk-github-runners@0.13.3.jsii.tgz",
23
+ "cdk-github-runners@0.14.0.jsii.tgz",
24
24
  )
25
25
 
26
26
  __all__ = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudsnorkel.cdk-github-runners
3
- Version: 0.13.3
3
+ Version: 0.14.0
4
4
  Summary: CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
5
5
  Home-page: https://github.com/CloudSnorkel/cdk-github-runners.git
6
6
  Author: Amir Szekely<amir@cloudsnorkel.com>
@@ -38,11 +38,11 @@ Requires-Dist: typeguard ~=2.13.3
38
38
 
39
39
  Use this CDK construct to create ephemeral [self-hosted GitHub runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) on-demand inside your AWS account.
40
40
 
41
- * Easy to configure GitHub integration with a web-based interface
42
- * Customizable runners with decent defaults
43
- * Multiple runner configurations controlled by labels
44
- * Everything fully hosted in your account
45
- * Automatically updated build environment with latest runner version
41
+ * 🧩 Easy to configure GitHub integration with a web-based interface
42
+ * 🧠 Customizable runners with decent defaults
43
+ * 🏃🏻 Multiple runner configurations controlled by labels
44
+ * 🔐 Everything fully hosted in your account
45
+ * 🔃 Automatically updated build environment with latest runner version
46
46
 
47
47
  Self-hosted runners in AWS are useful when:
48
48
 
@@ -350,6 +350,20 @@ Other useful metrics to track:
350
350
  1. Use `GitHubRunners.metricJobCompleted()` to get a metric for the number of completed jobs broken down by labels and job success.
351
351
  2. Use `GitHubRunners.metricTime()` to get a metric for the total time a runner is running. This includes the overhead of starting the runner.
352
352
 
353
+ ## Contributing
354
+
355
+ If you use and love this project, please consider contributing.
356
+
357
+ 1. 🪳 If you see something, say something. [Issues](https://github.com/CloudSnorkel/cdk-github-runners/issues) help improve the quality of the project.
358
+
359
+ * Include relevant logs and package versions for bugs.
360
+ * When possible, describe the use-case behind feature requests.
361
+ 2. 🛠️ [Pull requests](https://github.com/CloudSnorkel/cdk-github-runners/pulls) are welcome.
362
+
363
+ * Run `npm run build` before submitting to make sure all tests pass.
364
+ * Allow edits from maintainers so small adjustments can be made easily.
365
+ 3. 💵 Consider [sponsoring](https://github.com/sponsors/CloudSnorkel) the project to show your support and optionally get your name listed below.
366
+
353
367
  ## Other Options
354
368
 
355
369
  1. [philips-labs/terraform-aws-github-runner](https://github.com/philips-labs/terraform-aws-github-runner) if you're using Terraform
@@ -0,0 +1,9 @@
1
+ cloudsnorkel/cdk_github_runners/__init__.py,sha256=6whEOjco3SRb1o4zqarcwjlMOP-8qCea6zRiPjM-LXI,603073
2
+ cloudsnorkel/cdk_github_runners/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
+ cloudsnorkel/cdk_github_runners/_jsii/__init__.py,sha256=ybGTips70JpXvdycduH85-0aqPjleMHG7hQjDlr8KG4,508
4
+ cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.0.jsii.tgz,sha256=kQo2SzrU0_Ef5YDvEKh0J8IRwkAC96gQiZRgvpwilYM,1438814
5
+ cloudsnorkel.cdk_github_runners-0.14.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
6
+ cloudsnorkel.cdk_github_runners-0.14.0.dist-info/METADATA,sha256=XwbXG8Aq-1H_3NF4rxeXHtJ0Vzc7R-ny44x8DCB1Pdg,16467
7
+ cloudsnorkel.cdk_github_runners-0.14.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
8
+ cloudsnorkel.cdk_github_runners-0.14.0.dist-info/top_level.txt,sha256=6vUrT-dcGOiRMT4Q6gEQPznoyS7nHOJ269MHpo4DEd8,13
9
+ cloudsnorkel.cdk_github_runners-0.14.0.dist-info/RECORD,,
@@ -1,9 +0,0 @@
1
- cloudsnorkel/cdk_github_runners/__init__.py,sha256=ujO9tqWBYZP7a3dgjsmy6QWYBY5bGMH5WLmRA9pDg8Q,602385
2
- cloudsnorkel/cdk_github_runners/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
- cloudsnorkel/cdk_github_runners/_jsii/__init__.py,sha256=t78xFxuof8Y48ayy0qCw_sFWZu6hYERk-ZBOVQVJIFY,508
4
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.13.3.jsii.tgz,sha256=VCbnCYwMGts_SVXHu30tcZYTIOoFDX33nN9mn48s_KI,1437512
5
- cloudsnorkel.cdk_github_runners-0.13.3.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
6
- cloudsnorkel.cdk_github_runners-0.13.3.dist-info/METADATA,sha256=nYlr8Oyr44ZvmnRechkAkgHrsXm9Jzs5QfRhRV4pF0s,15681
7
- cloudsnorkel.cdk_github_runners-0.13.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
8
- cloudsnorkel.cdk_github_runners-0.13.3.dist-info/top_level.txt,sha256=6vUrT-dcGOiRMT4Q6gEQPznoyS7nHOJ269MHpo4DEd8,13
9
- cloudsnorkel.cdk_github_runners-0.13.3.dist-info/RECORD,,