cloudsnorkel.cdk-github-runners 0.14.1__py3-none-any.whl → 0.14.3__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.
- cloudsnorkel/cdk_github_runners/__init__.py +40 -5
- cloudsnorkel/cdk_github_runners/_jsii/__init__.py +18 -3
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.3.jsii.tgz +0 -0
- {cloudsnorkel.cdk_github_runners-0.14.1.dist-info → cloudsnorkel.cdk_github_runners-0.14.3.dist-info}/METADATA +7 -7
- cloudsnorkel.cdk_github_runners-0.14.3.dist-info/RECORD +9 -0
- {cloudsnorkel.cdk_github_runners-0.14.1.dist-info → cloudsnorkel.cdk_github_runners-0.14.3.dist-info}/WHEEL +1 -1
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.1.jsii.tgz +0 -0
- cloudsnorkel.cdk_github_runners-0.14.1.dist-info/RECORD +0 -9
- {cloudsnorkel.cdk_github_runners-0.14.1.dist-info → cloudsnorkel.cdk_github_runners-0.14.3.dist-info}/LICENSE +0 -0
- {cloudsnorkel.cdk_github_runners-0.14.1.dist-info → cloudsnorkel.cdk_github_runners-0.14.3.dist-info}/top_level.txt +0 -0
|
@@ -21,7 +21,7 @@ Self-hosted runners in AWS are useful when:
|
|
|
21
21
|
|
|
22
22
|
* You need easy access to internal resources in your actions
|
|
23
23
|
* You want to pre-install some software for your actions
|
|
24
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
24
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
25
25
|
* You are using GitHub Enterprise Server
|
|
26
26
|
|
|
27
27
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -400,7 +400,22 @@ import jsii
|
|
|
400
400
|
import publication
|
|
401
401
|
import typing_extensions
|
|
402
402
|
|
|
403
|
-
|
|
403
|
+
import typeguard
|
|
404
|
+
from importlib.metadata import version as _metadata_package_version
|
|
405
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
406
|
+
|
|
407
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
408
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
409
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
410
|
+
else:
|
|
411
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
412
|
+
pass
|
|
413
|
+
else:
|
|
414
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
415
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
416
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
417
|
+
else:
|
|
418
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
404
419
|
|
|
405
420
|
from ._jsii import *
|
|
406
421
|
|
|
@@ -874,6 +889,7 @@ class Architecture(
|
|
|
874
889
|
name_mapping={
|
|
875
890
|
"fast_launch_options": "fastLaunchOptions",
|
|
876
891
|
"instance_type": "instanceType",
|
|
892
|
+
"storage_size": "storageSize",
|
|
877
893
|
},
|
|
878
894
|
)
|
|
879
895
|
class AwsImageBuilderRunnerImageBuilderProps:
|
|
@@ -882,10 +898,12 @@ class AwsImageBuilderRunnerImageBuilderProps:
|
|
|
882
898
|
*,
|
|
883
899
|
fast_launch_options: typing.Optional[typing.Union["FastLaunchOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
884
900
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
901
|
+
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
885
902
|
) -> None:
|
|
886
903
|
'''
|
|
887
904
|
:param fast_launch_options: (experimental) Options for fast launch. This is only supported for Windows AMIs. Default: disabled
|
|
888
905
|
:param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
|
|
906
|
+
:param storage_size: (experimental) Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes. Use this if you're building images with big components and need more space. Default: default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
889
907
|
|
|
890
908
|
:stability: experimental
|
|
891
909
|
'''
|
|
@@ -895,11 +913,14 @@ class AwsImageBuilderRunnerImageBuilderProps:
|
|
|
895
913
|
type_hints = typing.get_type_hints(_typecheckingstub__fe17585d38b67015c3f03db2aefab095f171e0e0900c9a4564679bbc5a29fd07)
|
|
896
914
|
check_type(argname="argument fast_launch_options", value=fast_launch_options, expected_type=type_hints["fast_launch_options"])
|
|
897
915
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
916
|
+
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
898
917
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
899
918
|
if fast_launch_options is not None:
|
|
900
919
|
self._values["fast_launch_options"] = fast_launch_options
|
|
901
920
|
if instance_type is not None:
|
|
902
921
|
self._values["instance_type"] = instance_type
|
|
922
|
+
if storage_size is not None:
|
|
923
|
+
self._values["storage_size"] = storage_size
|
|
903
924
|
|
|
904
925
|
@builtins.property
|
|
905
926
|
def fast_launch_options(self) -> typing.Optional["FastLaunchOptions"]:
|
|
@@ -925,6 +946,19 @@ class AwsImageBuilderRunnerImageBuilderProps:
|
|
|
925
946
|
result = self._values.get("instance_type")
|
|
926
947
|
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType], result)
|
|
927
948
|
|
|
949
|
+
@builtins.property
|
|
950
|
+
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
951
|
+
'''(experimental) Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes.
|
|
952
|
+
|
|
953
|
+
Use this if you're building images with big components and need more space.
|
|
954
|
+
|
|
955
|
+
:default: default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
956
|
+
|
|
957
|
+
:stability: experimental
|
|
958
|
+
'''
|
|
959
|
+
result = self._values.get("storage_size")
|
|
960
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Size], result)
|
|
961
|
+
|
|
928
962
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
929
963
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
930
964
|
|
|
@@ -6249,7 +6283,7 @@ class AmiBuilder(
|
|
|
6249
6283
|
if __debug__:
|
|
6250
6284
|
type_hints = typing.get_type_hints(_typecheckingstub__8088868062a70621aab7b900883cf52d9c930de8a458039564d69a7d0cc80f52)
|
|
6251
6285
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
6252
|
-
jsii.set(self, "components", value)
|
|
6286
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
6253
6287
|
|
|
6254
6288
|
|
|
6255
6289
|
@jsii.implements(IRunnerImageBuilder)
|
|
@@ -7413,7 +7447,7 @@ class ContainerImageBuilder(
|
|
|
7413
7447
|
if __debug__:
|
|
7414
7448
|
type_hints = typing.get_type_hints(_typecheckingstub__f4c47d52e3f51709153fc49a53f833f06b1fd2ba44d3c86696b418a3bf88a972)
|
|
7415
7449
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7416
|
-
jsii.set(self, "components", value)
|
|
7450
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
7417
7451
|
|
|
7418
7452
|
|
|
7419
7453
|
@jsii.implements(IRunnerProvider)
|
|
@@ -10216,7 +10250,7 @@ class RunnerImageBuilder(
|
|
|
10216
10250
|
if __debug__:
|
|
10217
10251
|
type_hints = typing.get_type_hints(_typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc)
|
|
10218
10252
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10219
|
-
jsii.set(self, "components", value)
|
|
10253
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
10220
10254
|
|
|
10221
10255
|
|
|
10222
10256
|
class _RunnerImageBuilderProxy(RunnerImageBuilder):
|
|
@@ -10600,6 +10634,7 @@ def _typecheckingstub__fe17585d38b67015c3f03db2aefab095f171e0e0900c9a4564679bbc5
|
|
|
10600
10634
|
*,
|
|
10601
10635
|
fast_launch_options: typing.Optional[typing.Union[FastLaunchOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10602
10636
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
10637
|
+
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10603
10638
|
) -> None:
|
|
10604
10639
|
"""Type checking stubs"""
|
|
10605
10640
|
pass
|
|
@@ -11,16 +11,31 @@ import jsii
|
|
|
11
11
|
import publication
|
|
12
12
|
import typing_extensions
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
import typeguard
|
|
15
|
+
from importlib.metadata import version as _metadata_package_version
|
|
16
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
17
|
+
|
|
18
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
19
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
20
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
21
|
+
else:
|
|
22
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
23
|
+
pass
|
|
24
|
+
else:
|
|
25
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
26
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
27
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
28
|
+
else:
|
|
29
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
15
30
|
|
|
16
31
|
import aws_cdk._jsii
|
|
17
32
|
import constructs._jsii
|
|
18
33
|
|
|
19
34
|
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
20
35
|
"@cloudsnorkel/cdk-github-runners",
|
|
21
|
-
"0.14.
|
|
36
|
+
"0.14.3",
|
|
22
37
|
__name__[0:-6],
|
|
23
|
-
"cdk-github-runners@0.14.
|
|
38
|
+
"cdk-github-runners@0.14.3.jsii.tgz",
|
|
24
39
|
)
|
|
25
40
|
|
|
26
41
|
__all__ = [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cloudsnorkel.cdk-github-runners
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.3
|
|
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>
|
|
@@ -20,11 +20,11 @@ Classifier: License :: OSI Approved
|
|
|
20
20
|
Requires-Python: ~=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
|
-
Requires-Dist: aws-cdk-lib
|
|
24
|
-
Requires-Dist: constructs
|
|
25
|
-
Requires-Dist: jsii
|
|
26
|
-
Requires-Dist: publication
|
|
27
|
-
Requires-Dist: typeguard
|
|
23
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.123.0
|
|
24
|
+
Requires-Dist: constructs<11.0.0,>=10.0.5
|
|
25
|
+
Requires-Dist: jsii<2.0.0,>=1.103.1
|
|
26
|
+
Requires-Dist: publication>=0.0.3
|
|
27
|
+
Requires-Dist: typeguard<5.0.0,>=2.13.3
|
|
28
28
|
|
|
29
29
|
# GitHub Self-Hosted Runners CDK Constructs
|
|
30
30
|
|
|
@@ -48,7 +48,7 @@ Self-hosted runners in AWS are useful when:
|
|
|
48
48
|
|
|
49
49
|
* You need easy access to internal resources in your actions
|
|
50
50
|
* You want to pre-install some software for your actions
|
|
51
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
51
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
52
52
|
* You are using GitHub Enterprise Server
|
|
53
53
|
|
|
54
54
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
cloudsnorkel/cdk_github_runners/__init__.py,sha256=M3hgtBkFxgbAvLrWGw1bW3Ts0bs_lGRoF8wqdbBoyOA,606649
|
|
2
|
+
cloudsnorkel/cdk_github_runners/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
3
|
+
cloudsnorkel/cdk_github_runners/_jsii/__init__.py,sha256=Tkyo-J3R8v5HCPC7Lyo260IUwal4HQCtZNeH0vNQy8I,1476
|
|
4
|
+
cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.3.jsii.tgz,sha256=ryPNbvq-Okg_IpUUffwom-5543pEvHmB6bwWP0Ctxgc,1445343
|
|
5
|
+
cloudsnorkel.cdk_github_runners-0.14.3.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
6
|
+
cloudsnorkel.cdk_github_runners-0.14.3.dist-info/METADATA,sha256=cUNQKmiBAwcmrQJvdBz9EmkjGeEUJBoA18S1VSW3Ko4,17619
|
|
7
|
+
cloudsnorkel.cdk_github_runners-0.14.3.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
|
8
|
+
cloudsnorkel.cdk_github_runners-0.14.3.dist-info/top_level.txt,sha256=6vUrT-dcGOiRMT4Q6gEQPznoyS7nHOJ269MHpo4DEd8,13
|
|
9
|
+
cloudsnorkel.cdk_github_runners-0.14.3.dist-info/RECORD,,
|
|
Binary file
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
cloudsnorkel/cdk_github_runners/__init__.py,sha256=6bIUJaprZZXAlX26Jl4P4cdgvZPXD6GW1HD50dm61gU,604268
|
|
2
|
-
cloudsnorkel/cdk_github_runners/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
3
|
-
cloudsnorkel/cdk_github_runners/_jsii/__init__.py,sha256=44LlieecBsvQr_KQMm5CtApbbHxrZ3fW_T6uk_rIZ38,508
|
|
4
|
-
cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.1.jsii.tgz,sha256=Mc680IvqJupGTq-rhM33vZW9p6EYkCzrcuP5-tLJEsE,1441548
|
|
5
|
-
cloudsnorkel.cdk_github_runners-0.14.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
6
|
-
cloudsnorkel.cdk_github_runners-0.14.1.dist-info/METADATA,sha256=eSdLfrzMx_6GXtcTrgN5_h-oPBh1kThU4ioUCEcTUEc,17610
|
|
7
|
-
cloudsnorkel.cdk_github_runners-0.14.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
8
|
-
cloudsnorkel.cdk_github_runners-0.14.1.dist-info/top_level.txt,sha256=6vUrT-dcGOiRMT4Q6gEQPznoyS7nHOJ269MHpo4DEd8,13
|
|
9
|
-
cloudsnorkel.cdk_github_runners-0.14.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|