@cloudsnorkel/cdk-github-runners 0.9.8 → 0.10.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.
package/API.md CHANGED
@@ -701,6 +701,7 @@ Included components:
701
701
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
702
702
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
703
703
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.Project</code> | CodeBuild project hosting the runner. |
704
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
704
705
 
705
706
  ---
706
707
 
@@ -806,6 +807,20 @@ CodeBuild project hosting the runner.
806
807
 
807
808
  ---
808
809
 
810
+ ##### ~~`retryableErrors`~~<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.retryableErrors"></a>
811
+
812
+ - *Deprecated:* use {@link CodeBuildRunnerProvider }
813
+
814
+ ```typescript
815
+ public readonly retryableErrors: string[];
816
+ ```
817
+
818
+ - *Type:* string[]
819
+
820
+ List of step functions errors that should be retried.
821
+
822
+ ---
823
+
809
824
  #### Constants <a name="Constants" id="Constants"></a>
810
825
 
811
826
  | **Name** | **Type** | **Description** |
@@ -1052,6 +1067,7 @@ Included components:
1052
1067
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1053
1068
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1054
1069
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.Project</code> | CodeBuild project hosting the runner. |
1070
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
1055
1071
 
1056
1072
  ---
1057
1073
 
@@ -1143,6 +1159,18 @@ CodeBuild project hosting the runner.
1143
1159
 
1144
1160
  ---
1145
1161
 
1162
+ ##### `retryableErrors`<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.retryableErrors"></a>
1163
+
1164
+ ```typescript
1165
+ public readonly retryableErrors: string[];
1166
+ ```
1167
+
1168
+ - *Type:* string[]
1169
+
1170
+ List of step functions errors that should be retried.
1171
+
1172
+ ---
1173
+
1146
1174
  #### Constants <a name="Constants" id="Constants"></a>
1147
1175
 
1148
1176
  | **Name** | **Type** | **Description** |
@@ -1606,6 +1634,7 @@ Included components:
1606
1634
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1607
1635
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1608
1636
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1637
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
1609
1638
 
1610
1639
  ---
1611
1640
 
@@ -1681,6 +1710,20 @@ Note that this is not the job log, but the runner itself. It will not contain ou
1681
1710
 
1682
1711
  ---
1683
1712
 
1713
+ ##### ~~`retryableErrors`~~<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.retryableErrors"></a>
1714
+
1715
+ - *Deprecated:* use {@link Ec2RunnerProvider }
1716
+
1717
+ ```typescript
1718
+ public readonly retryableErrors: string[];
1719
+ ```
1720
+
1721
+ - *Type:* string[]
1722
+
1723
+ List of step functions errors that should be retried.
1724
+
1725
+ ---
1726
+
1684
1727
 
1685
1728
  ### Ec2RunnerProvider <a name="Ec2RunnerProvider" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider"></a>
1686
1729
 
@@ -1867,6 +1910,7 @@ Included components:
1867
1910
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1868
1911
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1869
1912
  | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1913
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
1870
1914
 
1871
1915
  ---
1872
1916
 
@@ -1932,6 +1976,18 @@ Note that this is not the job log, but the runner itself. It will not contain ou
1932
1976
 
1933
1977
  ---
1934
1978
 
1979
+ ##### `retryableErrors`<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.retryableErrors"></a>
1980
+
1981
+ ```typescript
1982
+ public readonly retryableErrors: string[];
1983
+ ```
1984
+
1985
+ - *Type:* string[]
1986
+
1987
+ List of step functions errors that should be retried.
1988
+
1989
+ ---
1990
+
1935
1991
 
1936
1992
  ### EcsRunnerProvider <a name="EcsRunnerProvider" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProvider"></a>
1937
1993
 
@@ -2122,6 +2178,7 @@ Included components:
2122
2178
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
2123
2179
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
2124
2180
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
2181
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
2125
2182
 
2126
2183
  ---
2127
2184
 
@@ -2187,6 +2244,18 @@ Note that this is not the job log, but the runner itself. It will not contain ou
2187
2244
 
2188
2245
  ---
2189
2246
 
2247
+ ##### `retryableErrors`<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.retryableErrors"></a>
2248
+
2249
+ ```typescript
2250
+ public readonly retryableErrors: string[];
2251
+ ```
2252
+
2253
+ - *Type:* string[]
2254
+
2255
+ List of step functions errors that should be retried.
2256
+
2257
+ ---
2258
+
2190
2259
 
2191
2260
  ### FargateRunner <a name="FargateRunner" id="@cloudsnorkel/cdk-github-runners.FargateRunner"></a>
2192
2261
 
@@ -2370,6 +2439,7 @@ Included components:
2370
2439
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
2371
2440
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
2372
2441
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
2442
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
2373
2443
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
2374
2444
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.task">task</a></code> | <code>aws-cdk-lib.aws_ecs.FargateTaskDefinition</code> | Fargate task hosting the runner. |
2375
2445
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets used for hosting the runner task. |
@@ -2507,6 +2577,20 @@ Note that this is not the job log, but the runner itself. It will not contain ou
2507
2577
 
2508
2578
  ---
2509
2579
 
2580
+ ##### ~~`retryableErrors`~~<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.retryableErrors"></a>
2581
+
2582
+ - *Deprecated:* use {@link FargateRunnerProvider }
2583
+
2584
+ ```typescript
2585
+ public readonly retryableErrors: string[];
2586
+ ```
2587
+
2588
+ - *Type:* string[]
2589
+
2590
+ List of step functions errors that should be retried.
2591
+
2592
+ ---
2593
+
2510
2594
  ##### ~~`spot`~~<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot"></a>
2511
2595
 
2512
2596
  - *Deprecated:* use {@link FargateRunnerProvider }
@@ -2802,6 +2886,7 @@ Included components:
2802
2886
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
2803
2887
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
2804
2888
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
2889
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
2805
2890
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
2806
2891
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.task">task</a></code> | <code>aws-cdk-lib.aws_ecs.FargateTaskDefinition</code> | Fargate task hosting the runner. |
2807
2892
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets used for hosting the runner task. |
@@ -2921,6 +3006,18 @@ Note that this is not the job log, but the runner itself. It will not contain ou
2921
3006
 
2922
3007
  ---
2923
3008
 
3009
+ ##### `retryableErrors`<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.retryableErrors"></a>
3010
+
3011
+ ```typescript
3012
+ public readonly retryableErrors: string[];
3013
+ ```
3014
+
3015
+ - *Type:* string[]
3016
+
3017
+ List of step functions errors that should be retried.
3018
+
3019
+ ---
3020
+
2924
3021
  ##### `spot`<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.spot"></a>
2925
3022
 
2926
3023
  ```typescript
@@ -3740,6 +3837,7 @@ Included components:
3740
3837
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
3741
3838
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
3742
3839
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
3840
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
3743
3841
 
3744
3842
  ---
3745
3843
 
@@ -3845,6 +3943,20 @@ Note that this is not the job log, but the runner itself. It will not contain ou
3845
3943
 
3846
3944
  ---
3847
3945
 
3946
+ ##### ~~`retryableErrors`~~<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.retryableErrors"></a>
3947
+
3948
+ - *Deprecated:* use {@link LambdaRunnerProvider }
3949
+
3950
+ ```typescript
3951
+ public readonly retryableErrors: string[];
3952
+ ```
3953
+
3954
+ - *Type:* string[]
3955
+
3956
+ List of step functions errors that should be retried.
3957
+
3958
+ ---
3959
+
3848
3960
  #### Constants <a name="Constants" id="Constants"></a>
3849
3961
 
3850
3962
  | **Name** | **Type** | **Description** |
@@ -4085,6 +4197,7 @@ Included components:
4085
4197
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
4086
4198
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
4087
4199
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
4200
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
4088
4201
 
4089
4202
  ---
4090
4203
 
@@ -4176,6 +4289,18 @@ Note that this is not the job log, but the runner itself. It will not contain ou
4176
4289
 
4177
4290
  ---
4178
4291
 
4292
+ ##### `retryableErrors`<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.retryableErrors"></a>
4293
+
4294
+ ```typescript
4295
+ public readonly retryableErrors: string[];
4296
+ ```
4297
+
4298
+ - *Type:* string[]
4299
+
4300
+ List of step functions errors that should be retried.
4301
+
4302
+ ---
4303
+
4179
4304
  #### Constants <a name="Constants" id="Constants"></a>
4180
4305
 
4181
4306
  | **Name** | **Type** | **Description** |
@@ -4888,10 +5013,12 @@ public readonly allowedVpcEndpoints: IVpcEndpoint[];
4888
5013
 
4889
5014
  Create a private API Gateway and allow access from the specified VPC endpoints.
4890
5015
 
4891
- Use this to make use of existing VPC endpoints. The VPC endpoint must point to `ec2.InterfaceVpcEndpointAwsService.APIGATEWAY`.
5016
+ Use this to make use of existing VPC endpoints or to share an endpoint between multiple functions. The VPC endpoint must point to `ec2.InterfaceVpcEndpointAwsService.APIGATEWAY`.
4892
5017
 
4893
5018
  No other settings are supported when using this option.
4894
5019
 
5020
+ All endpoints will be allowed access, but only the first one will be used as the URL by the runner system for setting up the webhook, and as setup URL.
5021
+
4895
5022
  ---
4896
5023
 
4897
5024
  ### AwsImageBuilderRunnerImageBuilderProps <a name="AwsImageBuilderRunnerImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps"></a>
@@ -5231,7 +5358,7 @@ const codeBuildRunnerProviderProps: CodeBuildRunnerProviderProps = { ... }
5231
5358
  | **Name** | **Type** | **Description** |
5232
5359
  | --- | --- | --- |
5233
5360
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
5234
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
5361
+ | <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.* |
5235
5362
  | <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. |
5236
5363
  | <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. |
5237
5364
  | <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. |
@@ -5262,16 +5389,15 @@ remove the retention policy, set the value to `INFINITE`.
5262
5389
 
5263
5390
  ---
5264
5391
 
5265
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions"></a>
5392
+ ##### ~~`retryOptions`~~<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions"></a>
5393
+
5394
+ - *Deprecated:* use {@link retryOptions } on {@link GitHubRunners } instead
5266
5395
 
5267
5396
  ```typescript
5268
5397
  public readonly retryOptions: ProviderRetryOptions;
5269
5398
  ```
5270
5399
 
5271
5400
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
5272
- - *Default:* retry 10 times up to about 45 minutes
5273
-
5274
- Options to retry operation in case of failure like missing capacity, or API quota issues.
5275
5401
 
5276
5402
  ---
5277
5403
 
@@ -5645,7 +5771,7 @@ const ec2RunnerProviderProps: Ec2RunnerProviderProps = { ... }
5645
5771
  | **Name** | **Type** | **Description** |
5646
5772
  | --- | --- | --- |
5647
5773
  | <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. |
5648
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
5774
+ | <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.* |
5649
5775
  | <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.* |
5650
5776
  | <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. |
5651
5777
  | <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. |
@@ -5678,16 +5804,15 @@ remove the retention policy, set the value to `INFINITE`.
5678
5804
 
5679
5805
  ---
5680
5806
 
5681
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions"></a>
5807
+ ##### ~~`retryOptions`~~<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions"></a>
5808
+
5809
+ - *Deprecated:* use {@link retryOptions } on {@link GitHubRunners } instead
5682
5810
 
5683
5811
  ```typescript
5684
5812
  public readonly retryOptions: ProviderRetryOptions;
5685
5813
  ```
5686
5814
 
5687
5815
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
5688
- - *Default:* retry 10 times up to about 45 minutes
5689
-
5690
- Options to retry operation in case of failure like missing capacity, or API quota issues.
5691
5816
 
5692
5817
  ---
5693
5818
 
@@ -5879,7 +6004,7 @@ const ecsRunnerProviderProps: EcsRunnerProviderProps = { ... }
5879
6004
  | **Name** | **Type** | **Description** |
5880
6005
  | --- | --- | --- |
5881
6006
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
5882
- | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
6007
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
5883
6008
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Assign public IP to the runner task. |
5884
6009
  | <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.capacityProvider">capacityProvider</a></code> | <code>aws-cdk-lib.aws_ecs.AsgCapacityProvider</code> | Existing capacity provider to use. |
5885
6010
  | <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. |
@@ -5917,16 +6042,15 @@ remove the retention policy, set the value to `INFINITE`.
5917
6042
 
5918
6043
  ---
5919
6044
 
5920
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.retryOptions"></a>
6045
+ ##### ~~`retryOptions`~~<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.retryOptions"></a>
6046
+
6047
+ - *Deprecated:* use {@link retryOptions } on {@link GitHubRunners } instead
5921
6048
 
5922
6049
  ```typescript
5923
6050
  public readonly retryOptions: ProviderRetryOptions;
5924
6051
  ```
5925
6052
 
5926
6053
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
5927
- - *Default:* retry 10 times up to about 45 minutes
5928
-
5929
- Options to retry operation in case of failure like missing capacity, or API quota issues.
5930
6054
 
5931
6055
  ---
5932
6056
 
@@ -5956,6 +6080,8 @@ public readonly capacityProvider: AsgCapacityProvider;
5956
6080
 
5957
6081
  Existing capacity provider to use.
5958
6082
 
6083
+ Make sure the AMI used by the capacity provider is compatible with ECS.
6084
+
5959
6085
  ---
5960
6086
 
5961
6087
  ##### `cluster`<sup>Optional</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps.property.cluster"></a>
@@ -6190,7 +6316,7 @@ const fargateRunnerProviderProps: FargateRunnerProviderProps = { ... }
6190
6316
  | **Name** | **Type** | **Description** |
6191
6317
  | --- | --- | --- |
6192
6318
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
6193
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
6319
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
6194
6320
  | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Assign public IP to the runner task. |
6195
6321
  | <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. |
6196
6322
  | <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. |
@@ -6224,16 +6350,15 @@ remove the retention policy, set the value to `INFINITE`.
6224
6350
 
6225
6351
  ---
6226
6352
 
6227
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.retryOptions"></a>
6353
+ ##### ~~`retryOptions`~~<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.retryOptions"></a>
6354
+
6355
+ - *Deprecated:* use {@link retryOptions } on {@link GitHubRunners } instead
6228
6356
 
6229
6357
  ```typescript
6230
6358
  public readonly retryOptions: ProviderRetryOptions;
6231
6359
  ```
6232
6360
 
6233
6361
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
6234
- - *Default:* retry 10 times up to about 45 minutes
6235
-
6236
- Options to retry operation in case of failure like missing capacity, or API quota issues.
6237
6362
 
6238
6363
  ---
6239
6364
 
@@ -6473,6 +6598,7 @@ const gitHubRunnersProps: GitHubRunnersProps = { ... }
6473
6598
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.idleTimeout">idleTimeout</a></code> | <code>aws-cdk-lib.Duration</code> | Time to wait before stopping a runner that remains idle. |
6474
6599
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.logOptions">logOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LogOptions">LogOptions</a></code> | Logging options for the state machine that manages the runners. |
6475
6600
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.providers">providers</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>[]</code> | List of runner providers to use. |
6601
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
6476
6602
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to all management functions. |
6477
6603
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.setupAccess">setupAccess</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaAccess">LambdaAccess</a></code> | Access configuration for the setup function. |
6478
6604
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.statusAccess">statusAccess</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaAccess">LambdaAccess</a></code> | Access configuration for the status function. |
@@ -6572,6 +6698,23 @@ At least one provider is required. Provider will be selected when its label matc
6572
6698
 
6573
6699
  ---
6574
6700
 
6701
+ ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.retryOptions"></a>
6702
+
6703
+ ```typescript
6704
+ public readonly retryOptions: ProviderRetryOptions;
6705
+ ```
6706
+
6707
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
6708
+ - *Default:* retry 23 times up to about 24 hours
6709
+
6710
+ Options to retry operation in case of failure like missing capacity, or API quota issues.
6711
+
6712
+ GitHub jobs time out after not being able to get a runner for 24 hours. You should not retry for more than 24 hours.
6713
+
6714
+ Total time spent waiting can be calculated with interval * (backoffRate ^ maxAttempts) / (backoffRate - 1).
6715
+
6716
+ ---
6717
+
6575
6718
  ##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.securityGroup"></a>
6576
6719
 
6577
6720
  ```typescript
@@ -6664,7 +6807,7 @@ Access configuration for the webhook function.
6664
6807
 
6665
6808
  This function is called by GitHub when a new workflow job is scheduled. For an extra layer of security, you can set this to `LambdaAccess.apiGateway({ allowedIps: LambdaAccess.githubWebhookIps() })`.
6666
6809
 
6667
- You can also set this to `LambdaAccess.privateApiGateway()` if your GitHub Enterprise Server is hosted in a VPC. This will create an API Gateway endpoint that's only accessible from within the VPC.
6810
+ You can also set this to `LambdaAccess.apiGateway({allowedVpc: vpc, allowedIps: ['GHES.IP.ADDRESS/32']})` if your GitHub Enterprise Server is hosted in a VPC. This will create an API Gateway endpoint that's only accessible from within the VPC.
6668
6811
 
6669
6812
  *WARNING*: changing access type may change the URL. When the URL changes, you must update GitHub as well.
6670
6813
 
@@ -6832,7 +6975,7 @@ const lambdaRunnerProviderProps: LambdaRunnerProviderProps = { ... }
6832
6975
  | **Name** | **Type** | **Description** |
6833
6976
  | --- | --- | --- |
6834
6977
  | <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. |
6835
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
6978
+ | <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.* |
6836
6979
  | <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. |
6837
6980
  | <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. |
6838
6981
  | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
@@ -6863,16 +7006,15 @@ remove the retention policy, set the value to `INFINITE`.
6863
7006
 
6864
7007
  ---
6865
7008
 
6866
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions"></a>
7009
+ ##### ~~`retryOptions`~~<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions"></a>
7010
+
7011
+ - *Deprecated:* use {@link retryOptions } on {@link GitHubRunners } instead
6867
7012
 
6868
7013
  ```typescript
6869
7014
  public readonly retryOptions: ProviderRetryOptions;
6870
7015
  ```
6871
7016
 
6872
7017
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
6873
- - *Default:* retry 10 times up to about 45 minutes
6874
-
6875
- Options to retry operation in case of failure like missing capacity, or API quota issues.
6876
7018
 
6877
7019
  ---
6878
7020
 
@@ -7107,7 +7249,7 @@ remove the retention policy, set the value to `INFINITE`.
7107
7249
 
7108
7250
  Retry options for providers.
7109
7251
 
7110
- The default is to retry 10 times for about 45 minutes with increasing interval.
7252
+ The default is to retry 23 times for about 24 hours with increasing interval.
7111
7253
 
7112
7254
  #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.ProviderRetryOptions.Initializer"></a>
7113
7255
 
@@ -7163,7 +7305,7 @@ public readonly maxAttempts: number;
7163
7305
  ```
7164
7306
 
7165
7307
  - *Type:* number
7166
- - *Default:* 10
7308
+ - *Default:* 23
7167
7309
 
7168
7310
  How many times to retry.
7169
7311
 
@@ -7748,7 +7890,7 @@ const runnerProviderProps: RunnerProviderProps = { ... }
7748
7890
  | **Name** | **Type** | **Description** |
7749
7891
  | --- | --- | --- |
7750
7892
  | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
7751
- | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
7893
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
7752
7894
 
7753
7895
  ---
7754
7896
 
@@ -7769,16 +7911,15 @@ remove the retention policy, set the value to `INFINITE`.
7769
7911
 
7770
7912
  ---
7771
7913
 
7772
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.retryOptions"></a>
7914
+ ##### ~~`retryOptions`~~<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.retryOptions"></a>
7915
+
7916
+ - *Deprecated:* use {@link retryOptions } on {@link GitHubRunners } instead
7773
7917
 
7774
7918
  ```typescript
7775
7919
  public readonly retryOptions: ProviderRetryOptions;
7776
7920
  ```
7777
7921
 
7778
7922
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
7779
- - *Default:* retry 10 times up to about 45 minutes
7780
-
7781
- Options to retry operation in case of failure like missing capacity, or API quota issues.
7782
7923
 
7783
7924
  ---
7784
7925
 
@@ -9422,6 +9563,7 @@ grantable for the status function.
9422
9563
  | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
9423
9564
  | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
9424
9565
  | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
9566
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.retryableErrors">retryableErrors</a></code> | <code>string[]</code> | List of step functions errors that should be retried. |
9425
9567
 
9426
9568
  ---
9427
9569
 
@@ -9491,6 +9633,18 @@ Note that this is not the job log, but the runner itself. It will not contain ou
9491
9633
 
9492
9634
  ---
9493
9635
 
9636
+ ##### `retryableErrors`<sup>Required</sup> <a name="retryableErrors" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.retryableErrors"></a>
9637
+
9638
+ ```typescript
9639
+ public readonly retryableErrors: string[];
9640
+ ```
9641
+
9642
+ - *Type:* string[]
9643
+
9644
+ List of step functions errors that should be retried.
9645
+
9646
+ ---
9647
+
9494
9648
  ### IRunnerProviderStatus <a name="IRunnerProviderStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"></a>
9495
9649
 
9496
9650
  - *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus">IRunnerProviderStatus</a>
package/README.md CHANGED
@@ -267,17 +267,18 @@ new GitHubRunners(this, 'runners', {
267
267
 
268
268
  ## Troubleshooting
269
269
 
270
+ Runners are started in response to a webhook coming in from GitHub. If there are any issues starting the runner like missing capacity or transient API issues, the provider will keep retrying for 24 hours. Configuration issue related errors like pointing to a missing AMI will not be retried. GitHub itself will cancel the job if it can't find a runner for 24 hours. If your jobs don't start, follow the steps below to examine all parts of this workflow.
271
+
270
272
  1. Always start with the status function, make sure no errors are reported, and confirm all status codes are OK
271
- 2. If jobs are stuck on pending:
272
- 1. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider
273
- 2. If jobs get stuck often and take a long time to start, cancel the pending jobs and start them again
273
+ 2. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider
274
+ 3. Diagnose relevant executions of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`
275
+ 1. If the execution failed, check your runner provider configuration for errors
276
+ 2. If the execution is still running for a long time, check the execution events to see why runner starting is being retried
277
+ 3. If there are no relevant executions, move to the next step
274
278
  4. Confirm the webhook Lambda was called by visiting the URL in `troubleshooting.webhookHandlerUrl` from `status.json`
275
279
  1. If it's not called or logs errors, confirm the webhook settings on the GitHub side
276
280
  2. If you see too many errors, make sure you're only sending `workflow_job` events
277
- 5. When using GitHub app, make sure there are active installation in `github.auth.app.installations`
278
- 6. Check execution details of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`
279
- 1. Use the details tab to find the specific execution of the provider (Lambda, CodeBuild, Fargate, etc.)
280
- 2. Every step function execution should be successful, even if the runner action inside it failed
281
+ 5. When using GitHub app, make sure there are active installations in `github.auth.app.installations`
281
282
 
282
283
  ## Monitoring
283
284