@cloudsnorkel/cdk-github-runners 0.14.4 → 0.14.6
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.
- package/.jsii +236 -141
- package/API.md +105 -0
- package/README.md +1 -1
- package/assets/providers/lambda-runner.sh +2 -1
- package/assets/setup.lambda/index.html +9 -27
- package/lib/access.js +1 -1
- package/lib/delete-failed-runner.lambda.js +2 -3
- package/lib/idle-runner-repear.lambda.js +2 -3
- package/lib/image-builders/api.js +1 -1
- package/lib/image-builders/aws-image-builder/ami.js +3 -3
- package/lib/image-builders/aws-image-builder/builder.js +1 -1
- package/lib/image-builders/aws-image-builder/container.js +3 -3
- package/lib/image-builders/aws-image-builder/delete-resources.lambda.js +2 -3
- package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
- package/lib/image-builders/aws-image-builder/filter-failed-builds.lambda.js +2 -3
- package/lib/image-builders/aws-image-builder/versioner.lambda.js +3 -4
- package/lib/image-builders/aws-image-builder/workflow.js +3 -3
- package/lib/image-builders/build-image.lambda.js +2 -3
- package/lib/image-builders/codebuild-deprecated.js +1 -1
- package/lib/image-builders/common.js +3 -3
- package/lib/image-builders/components.js +5 -5
- package/lib/image-builders/static.js +1 -1
- package/lib/lambda-github.d.ts +2 -6
- package/lib/lambda-github.js +5 -6
- package/lib/lambda-helpers.js +5 -6
- package/lib/providers/ami-root-device.lambda.js +2 -3
- package/lib/providers/codebuild.d.ts +14 -0
- package/lib/providers/codebuild.js +10 -5
- package/lib/providers/common.d.ts +1 -1
- package/lib/providers/common.js +6 -6
- package/lib/providers/ec2.d.ts +14 -0
- package/lib/providers/ec2.js +11 -7
- package/lib/providers/ecs.d.ts +17 -0
- package/lib/providers/ecs.js +7 -2
- package/lib/providers/fargate.d.ts +14 -0
- package/lib/providers/fargate.js +13 -9
- package/lib/providers/lambda.d.ts +14 -0
- package/lib/providers/lambda.js +5 -3
- package/lib/providers/update-lambda.lambda.js +2 -3
- package/lib/runner.js +1 -1
- package/lib/secrets.js +1 -1
- package/lib/setup.lambda.js +2 -3
- package/lib/status.lambda.js +2 -3
- package/lib/token-retriever.lambda.js +2 -3
- package/lib/utils.js +4 -4
- package/lib/webhook-handler.lambda.js +3 -4
- package/package.json +27 -27
package/API.md
CHANGED
|
@@ -5472,6 +5472,7 @@ const codeBuildRunnerProviderProps: CodeBuildRunnerProviderProps = { ... }
|
|
|
5472
5472
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
|
|
5473
5473
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
|
|
5474
5474
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.dockerInDocker">dockerInDocker</a></code> | <code>boolean</code> | Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. |
|
|
5475
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.group">group</a></code> | <code>string</code> | GitHub Actions runner group name. |
|
|
5475
5476
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
5476
5477
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
5477
5478
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
@@ -5543,6 +5544,26 @@ speed up provisioning of CodeBuild runners. If you don't intend on running or bu
|
|
|
5543
5544
|
|
|
5544
5545
|
---
|
|
5545
5546
|
|
|
5547
|
+
##### `group`<sup>Optional</sup> <a name="group" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.group"></a>
|
|
5548
|
+
|
|
5549
|
+
```typescript
|
|
5550
|
+
public readonly group: string;
|
|
5551
|
+
```
|
|
5552
|
+
|
|
5553
|
+
- *Type:* string
|
|
5554
|
+
- *Default:* undefined
|
|
5555
|
+
|
|
5556
|
+
GitHub Actions runner group name.
|
|
5557
|
+
|
|
5558
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
5559
|
+
requires a paid GitHub account.
|
|
5560
|
+
|
|
5561
|
+
The group must exist or the runner will not start.
|
|
5562
|
+
|
|
5563
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
5564
|
+
|
|
5565
|
+
---
|
|
5566
|
+
|
|
5546
5567
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder"></a>
|
|
5547
5568
|
|
|
5548
5569
|
```typescript
|
|
@@ -5884,6 +5905,7 @@ const ec2RunnerProviderProps: Ec2RunnerProviderProps = { ... }
|
|
|
5884
5905
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
5885
5906
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
|
|
5886
5907
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | *No description.* |
|
|
5908
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.group">group</a></code> | <code>string</code> | GitHub Actions runner group name. |
|
|
5887
5909
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build AMI containing GitHub Runner and all requirements. |
|
|
5888
5910
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type for launched runner instances. |
|
|
5889
5911
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
@@ -5940,6 +5962,26 @@ public readonly amiBuilder: IRunnerImageBuilder;
|
|
|
5940
5962
|
|
|
5941
5963
|
---
|
|
5942
5964
|
|
|
5965
|
+
##### `group`<sup>Optional</sup> <a name="group" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.group"></a>
|
|
5966
|
+
|
|
5967
|
+
```typescript
|
|
5968
|
+
public readonly group: string;
|
|
5969
|
+
```
|
|
5970
|
+
|
|
5971
|
+
- *Type:* string
|
|
5972
|
+
- *Default:* undefined
|
|
5973
|
+
|
|
5974
|
+
GitHub Actions runner group name.
|
|
5975
|
+
|
|
5976
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
5977
|
+
requires a paid GitHub account.
|
|
5978
|
+
|
|
5979
|
+
The group must exist or the runner will not start.
|
|
5980
|
+
|
|
5981
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
5982
|
+
|
|
5983
|
+
---
|
|
5984
|
+
|
|
5943
5985
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.imageBuilder"></a>
|
|
5944
5986
|
|
|
5945
5987
|
```typescript
|
|
@@ -6134,6 +6176,7 @@ const ecsRunnerProviderProps: EcsRunnerProviderProps = { ... }
|
|
|
6134
6176
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Existing ECS cluster to use. |
|
|
6135
6177
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.cpu">cpu</a></code> | <code>number</code> | The number of cpu units used by the task. |
|
|
6136
6178
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.dockerInDocker">dockerInDocker</a></code> | <code>boolean</code> | Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. |
|
|
6179
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.group">group</a></code> | <code>string</code> | GitHub Actions runner group name. |
|
|
6137
6180
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
6138
6181
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type of ECS cluster instances. |
|
|
6139
6182
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
@@ -6254,6 +6297,26 @@ speed up provisioning of CodeBuild runners. If you don't intend on running or bu
|
|
|
6254
6297
|
|
|
6255
6298
|
---
|
|
6256
6299
|
|
|
6300
|
+
##### `group`<sup>Optional</sup> <a name="group" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.group"></a>
|
|
6301
|
+
|
|
6302
|
+
```typescript
|
|
6303
|
+
public readonly group: string;
|
|
6304
|
+
```
|
|
6305
|
+
|
|
6306
|
+
- *Type:* string
|
|
6307
|
+
- *Default:* undefined
|
|
6308
|
+
|
|
6309
|
+
GitHub Actions runner group name.
|
|
6310
|
+
|
|
6311
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
6312
|
+
requires a paid GitHub account.
|
|
6313
|
+
|
|
6314
|
+
The group must exist or the runner will not start.
|
|
6315
|
+
|
|
6316
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
6317
|
+
|
|
6318
|
+
---
|
|
6319
|
+
|
|
6257
6320
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.imageBuilder"></a>
|
|
6258
6321
|
|
|
6259
6322
|
```typescript
|
|
@@ -6472,6 +6535,7 @@ const fargateRunnerProviderProps: FargateRunnerProviderProps = { ... }
|
|
|
6472
6535
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Existing Fargate cluster to use. |
|
|
6473
6536
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cpu">cpu</a></code> | <code>number</code> | The number of cpu units used by the task. |
|
|
6474
6537
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.ephemeralStorageGiB">ephemeralStorageGiB</a></code> | <code>number</code> | The amount (in GiB) of ephemeral storage to be allocated to the task. |
|
|
6538
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.group">group</a></code> | <code>string</code> | GitHub Actions runner group name. |
|
|
6475
6539
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
6476
6540
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
6477
6541
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
@@ -6585,6 +6649,26 @@ NOTE: This parameter is only supported for tasks hosted on AWS Fargate using pla
|
|
|
6585
6649
|
|
|
6586
6650
|
---
|
|
6587
6651
|
|
|
6652
|
+
##### `group`<sup>Optional</sup> <a name="group" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.group"></a>
|
|
6653
|
+
|
|
6654
|
+
```typescript
|
|
6655
|
+
public readonly group: string;
|
|
6656
|
+
```
|
|
6657
|
+
|
|
6658
|
+
- *Type:* string
|
|
6659
|
+
- *Default:* undefined
|
|
6660
|
+
|
|
6661
|
+
GitHub Actions runner group name.
|
|
6662
|
+
|
|
6663
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
6664
|
+
requires a paid GitHub account.
|
|
6665
|
+
|
|
6666
|
+
The group must exist or the runner will not start.
|
|
6667
|
+
|
|
6668
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
6669
|
+
|
|
6670
|
+
---
|
|
6671
|
+
|
|
6588
6672
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder"></a>
|
|
6589
6673
|
|
|
6590
6674
|
```typescript
|
|
@@ -7230,6 +7314,7 @@ const lambdaRunnerProviderProps: LambdaRunnerProviderProps = { ... }
|
|
|
7230
7314
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
7231
7315
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
|
|
7232
7316
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.ephemeralStorageSize">ephemeralStorageSize</a></code> | <code>aws-cdk-lib.Size</code> | The size of the function’s /tmp directory in MiB. |
|
|
7317
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.group">group</a></code> | <code>string</code> | GitHub Actions runner group name. |
|
|
7233
7318
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
7234
7319
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
7235
7320
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
@@ -7284,6 +7369,26 @@ The size of the function’s /tmp directory in MiB.
|
|
|
7284
7369
|
|
|
7285
7370
|
---
|
|
7286
7371
|
|
|
7372
|
+
##### `group`<sup>Optional</sup> <a name="group" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.group"></a>
|
|
7373
|
+
|
|
7374
|
+
```typescript
|
|
7375
|
+
public readonly group: string;
|
|
7376
|
+
```
|
|
7377
|
+
|
|
7378
|
+
- *Type:* string
|
|
7379
|
+
- *Default:* undefined
|
|
7380
|
+
|
|
7381
|
+
GitHub Actions runner group name.
|
|
7382
|
+
|
|
7383
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
7384
|
+
requires a paid GitHub account.
|
|
7385
|
+
|
|
7386
|
+
The group must exist or the runner will not start.
|
|
7387
|
+
|
|
7388
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
7389
|
+
|
|
7390
|
+
---
|
|
7391
|
+
|
|
7287
7392
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder"></a>
|
|
7288
7393
|
|
|
7289
7394
|
```typescript
|
package/README.md
CHANGED
|
@@ -188,7 +188,7 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
188
188
|
5. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file
|
|
189
189
|
6. Open the URL in `github.setup.url` from `status.json` or [manually setup GitHub](SETUP_GITHUB.md) integration as an app or with personal access token
|
|
190
190
|
7. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK
|
|
191
|
-
8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted,
|
|
191
|
+
8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, codebuild]` (or non-default labels you set in step 2)
|
|
192
192
|
9. If the action is not successful, see [troubleshooting](#Troubleshooting)
|
|
193
193
|
|
|
194
194
|
[](https://youtu.be/wlyv_3V8lIw)
|
|
@@ -16,6 +16,7 @@ RUNNER_TOKEN=$(echo "$1" | jq -r .token)
|
|
|
16
16
|
RUNNER_NAME=$(echo "$1" | jq -r .runnerName)
|
|
17
17
|
RUNNER_LABEL=$(echo "$1" | jq -r .label)
|
|
18
18
|
REGISTRATION_URL=$(echo "$1" | jq -r .registrationUrl)
|
|
19
|
+
RUNNER_GROUP=$(echo "$1" | jq -r .group)
|
|
19
20
|
|
|
20
21
|
# copy runner code (it needs a writable directory)
|
|
21
22
|
cp -r /home/runner /tmp/
|
|
@@ -27,7 +28,7 @@ export HOME=/tmp/home
|
|
|
27
28
|
|
|
28
29
|
# start runner
|
|
29
30
|
if [ "${RUNNER_VERSION}" = "latest" ]; then RUNNER_FLAGS=""; else RUNNER_FLAGS="--disableupdate"; fi
|
|
30
|
-
./config.sh --unattended --url "${REGISTRATION_URL}" --token "${RUNNER_TOKEN}" --ephemeral --work _work --labels "${RUNNER_LABEL},cdkghr:started:`date +%s`" --name "${RUNNER_NAME}" ${RUNNER_FLAGS}
|
|
31
|
+
./config.sh --unattended --url "${REGISTRATION_URL}" --token "${RUNNER_TOKEN}" --ephemeral --work _work --labels "${RUNNER_LABEL},cdkghr:started:`date +%s`" --name "${RUNNER_NAME}" ${RUNNER_FLAGS} ${RUNNER_GROUP}
|
|
31
32
|
echo Config done
|
|
32
33
|
./run.sh
|
|
33
34
|
echo Run done
|