@cloudsnorkel/cdk-github-runners 0.7.5 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.jsii +361 -97
  2. package/API.md +190 -1
  3. package/lib/lambdas/delete-runner/index.js +80 -4
  4. package/lib/lambdas/setup/index.html +4 -4
  5. package/lib/lambdas/setup/index.js +61 -2
  6. package/lib/lambdas/status/index.js +80 -4
  7. package/lib/lambdas/token-retriever/index.js +80 -4
  8. package/lib/lambdas/update-lambda/index.js +54 -19
  9. package/lib/lambdas/webhook-handler/index.js +7 -0
  10. package/lib/providers/codebuild.d.ts +7 -1
  11. package/lib/providers/codebuild.js +12 -6
  12. package/lib/providers/common.d.ts +13 -3
  13. package/lib/providers/common.js +4 -4
  14. package/lib/providers/docker-images/lambda/linux-arm64/runner.sh +3 -0
  15. package/lib/providers/docker-images/lambda/linux-x64/runner.sh +3 -0
  16. package/lib/providers/ec2.d.ts +8 -3
  17. package/lib/providers/ec2.js +74 -44
  18. package/lib/providers/fargate.d.ts +7 -1
  19. package/lib/providers/fargate.js +16 -8
  20. package/lib/providers/image-builders/ami.d.ts +7 -1
  21. package/lib/providers/image-builders/ami.js +25 -21
  22. package/lib/providers/image-builders/codebuild.js +1 -1
  23. package/lib/providers/image-builders/common.js +1 -1
  24. package/lib/providers/image-builders/container.d.ts +1 -1
  25. package/lib/providers/image-builders/container.js +11 -11
  26. package/lib/providers/image-builders/linux-components.d.ts +1 -1
  27. package/lib/providers/image-builders/linux-components.js +19 -19
  28. package/lib/providers/image-builders/static.js +6 -6
  29. package/lib/providers/image-builders/windows-components.d.ts +1 -1
  30. package/lib/providers/image-builders/windows-components.js +12 -12
  31. package/lib/providers/lambda.d.ts +7 -1
  32. package/lib/providers/lambda.js +5 -3
  33. package/lib/runner.d.ts +27 -1
  34. package/lib/runner.js +83 -6
  35. package/lib/secrets.js +1 -1
  36. package/package.json +7 -7
package/.jsii CHANGED
@@ -3184,7 +3184,7 @@
3184
3184
  },
3185
3185
  "locationInModule": {
3186
3186
  "filename": "src/providers/image-builders/ami.ts",
3187
- "line": 223
3187
+ "line": 230
3188
3188
  },
3189
3189
  "parameters": [
3190
3190
  {
@@ -3215,7 +3215,7 @@
3215
3215
  "kind": "class",
3216
3216
  "locationInModule": {
3217
3217
  "filename": "src/providers/image-builders/ami.ts",
3218
- "line": 220
3218
+ "line": 227
3219
3219
  },
3220
3220
  "methods": [
3221
3221
  {
@@ -3225,7 +3225,7 @@
3225
3225
  },
3226
3226
  "locationInModule": {
3227
3227
  "filename": "src/providers/image-builders/ami.ts",
3228
- "line": 285
3228
+ "line": 296
3229
3229
  },
3230
3230
  "name": "addComponent",
3231
3231
  "parameters": [
@@ -3245,7 +3245,7 @@
3245
3245
  },
3246
3246
  "locationInModule": {
3247
3247
  "filename": "src/providers/image-builders/ami.ts",
3248
- "line": 300
3248
+ "line": 311
3249
3249
  },
3250
3250
  "name": "addExtraCertificates",
3251
3251
  "parameters": [
@@ -3267,7 +3267,7 @@
3267
3267
  },
3268
3268
  "locationInModule": {
3269
3269
  "filename": "src/providers/image-builders/ami.ts",
3270
- "line": 313
3270
+ "line": 324
3271
3271
  },
3272
3272
  "name": "bind",
3273
3273
  "overrides": "@cloudsnorkel/cdk-github-runners.IAmiBuilder",
@@ -3438,7 +3438,7 @@
3438
3438
  },
3439
3439
  "locationInModule": {
3440
3440
  "filename": "src/providers/image-builders/ami.ts",
3441
- "line": 271
3441
+ "line": 282
3442
3442
  },
3443
3443
  "name": "prependComponent",
3444
3444
  "parameters": [
@@ -3599,6 +3599,25 @@
3599
3599
  "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
3600
3600
  }
3601
3601
  },
3602
+ {
3603
+ "abstract": true,
3604
+ "docs": {
3605
+ "default": "true",
3606
+ "remarks": "You may want to disable this if you are building a Windows image and don't have a Docker Desktop license.",
3607
+ "stability": "experimental",
3608
+ "summary": "Install Docker inside the image, so it can be used by the runner."
3609
+ },
3610
+ "immutable": true,
3611
+ "locationInModule": {
3612
+ "filename": "src/providers/image-builders/ami.ts",
3613
+ "line": 115
3614
+ },
3615
+ "name": "installDocker",
3616
+ "optional": true,
3617
+ "type": {
3618
+ "primitive": "boolean"
3619
+ }
3620
+ },
3602
3621
  {
3603
3622
  "abstract": true,
3604
3623
  "docs": {
@@ -4434,7 +4453,7 @@
4434
4453
  },
4435
4454
  "locationInModule": {
4436
4455
  "filename": "src/providers/codebuild.ts",
4437
- "line": 171
4456
+ "line": 178
4438
4457
  },
4439
4458
  "parameters": [
4440
4459
  {
@@ -4473,14 +4492,23 @@
4473
4492
  },
4474
4493
  "locationInModule": {
4475
4494
  "filename": "src/providers/common.ts",
4476
- "line": 477
4495
+ "line": 489
4477
4496
  },
4478
4497
  "name": "addRetry",
4479
4498
  "parameters": [
4480
4499
  {
4481
4500
  "name": "task",
4482
4501
  "type": {
4483
- "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
4502
+ "union": {
4503
+ "types": [
4504
+ {
4505
+ "fqn": "aws-cdk-lib.aws_stepfunctions.Parallel"
4506
+ },
4507
+ {
4508
+ "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
4509
+ }
4510
+ ]
4511
+ }
4484
4512
  }
4485
4513
  },
4486
4514
  {
@@ -4505,7 +4533,7 @@
4505
4533
  },
4506
4534
  "locationInModule": {
4507
4535
  "filename": "src/providers/codebuild.ts",
4508
- "line": 296
4536
+ "line": 308
4509
4537
  },
4510
4538
  "name": "getStepFunctionTask",
4511
4539
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4534,7 +4562,7 @@
4534
4562
  },
4535
4563
  "locationInModule": {
4536
4564
  "filename": "src/providers/codebuild.ts",
4537
- "line": 337
4565
+ "line": 349
4538
4566
  },
4539
4567
  "name": "grantStateMachine",
4540
4568
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4553,7 +4581,7 @@
4553
4581
  },
4554
4582
  "locationInModule": {
4555
4583
  "filename": "src/providers/common.ts",
4556
- "line": 463
4584
+ "line": 475
4557
4585
  },
4558
4586
  "name": "labelsFromProperties",
4559
4587
  "parameters": [
@@ -4603,7 +4631,7 @@
4603
4631
  },
4604
4632
  "locationInModule": {
4605
4633
  "filename": "src/providers/codebuild.ts",
4606
- "line": 340
4634
+ "line": 352
4607
4635
  },
4608
4636
  "name": "status",
4609
4637
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4668,7 +4696,7 @@
4668
4696
  "immutable": true,
4669
4697
  "locationInModule": {
4670
4698
  "filename": "src/providers/codebuild.ts",
4671
- "line": 360
4699
+ "line": 373
4672
4700
  },
4673
4701
  "name": "connections",
4674
4702
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -4729,6 +4757,23 @@
4729
4757
  }
4730
4758
  }
4731
4759
  },
4760
+ {
4761
+ "docs": {
4762
+ "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
4763
+ "stability": "experimental",
4764
+ "summary": "Log group where provided runners will save their logs."
4765
+ },
4766
+ "immutable": true,
4767
+ "locationInModule": {
4768
+ "filename": "src/providers/codebuild.ts",
4769
+ "line": 172
4770
+ },
4771
+ "name": "logGroup",
4772
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
4773
+ "type": {
4774
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
4775
+ }
4776
+ },
4732
4777
  {
4733
4778
  "docs": {
4734
4779
  "stability": "experimental",
@@ -5634,7 +5679,7 @@
5634
5679
  },
5635
5680
  "locationInModule": {
5636
5681
  "filename": "src/providers/ec2.ts",
5637
- "line": 240
5682
+ "line": 252
5638
5683
  },
5639
5684
  "parameters": [
5640
5685
  {
@@ -5664,7 +5709,7 @@
5664
5709
  "kind": "class",
5665
5710
  "locationInModule": {
5666
5711
  "filename": "src/providers/ec2.ts",
5667
- "line": 218
5712
+ "line": 224
5668
5713
  },
5669
5714
  "methods": [
5670
5715
  {
@@ -5673,14 +5718,23 @@
5673
5718
  },
5674
5719
  "locationInModule": {
5675
5720
  "filename": "src/providers/common.ts",
5676
- "line": 477
5721
+ "line": 489
5677
5722
  },
5678
5723
  "name": "addRetry",
5679
5724
  "parameters": [
5680
5725
  {
5681
5726
  "name": "task",
5682
5727
  "type": {
5683
- "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
5728
+ "union": {
5729
+ "types": [
5730
+ {
5731
+ "fqn": "aws-cdk-lib.aws_stepfunctions.Parallel"
5732
+ },
5733
+ {
5734
+ "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
5735
+ }
5736
+ ]
5737
+ }
5684
5738
  }
5685
5739
  },
5686
5740
  {
@@ -5705,7 +5759,7 @@
5705
5759
  },
5706
5760
  "locationInModule": {
5707
5761
  "filename": "src/providers/ec2.ts",
5708
- "line": 292
5762
+ "line": 304
5709
5763
  },
5710
5764
  "name": "getStepFunctionTask",
5711
5765
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5734,7 +5788,7 @@
5734
5788
  },
5735
5789
  "locationInModule": {
5736
5790
  "filename": "src/providers/ec2.ts",
5737
- "line": 370
5791
+ "line": 409
5738
5792
  },
5739
5793
  "name": "grantStateMachine",
5740
5794
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5753,7 +5807,7 @@
5753
5807
  },
5754
5808
  "locationInModule": {
5755
5809
  "filename": "src/providers/common.ts",
5756
- "line": 463
5810
+ "line": 475
5757
5811
  },
5758
5812
  "name": "labelsFromProperties",
5759
5813
  "parameters": [
@@ -5803,7 +5857,7 @@
5803
5857
  },
5804
5858
  "locationInModule": {
5805
5859
  "filename": "src/providers/ec2.ts",
5806
- "line": 400
5860
+ "line": 439
5807
5861
  },
5808
5862
  "name": "status",
5809
5863
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5832,7 +5886,7 @@
5832
5886
  "immutable": true,
5833
5887
  "locationInModule": {
5834
5888
  "filename": "src/providers/ec2.ts",
5835
- "line": 421
5889
+ "line": 461
5836
5890
  },
5837
5891
  "name": "connections",
5838
5892
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -5848,7 +5902,7 @@
5848
5902
  "immutable": true,
5849
5903
  "locationInModule": {
5850
5904
  "filename": "src/providers/ec2.ts",
5851
- "line": 227
5905
+ "line": 233
5852
5906
  },
5853
5907
  "name": "grantPrincipal",
5854
5908
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -5864,7 +5918,7 @@
5864
5918
  "immutable": true,
5865
5919
  "locationInModule": {
5866
5920
  "filename": "src/providers/ec2.ts",
5867
- "line": 222
5921
+ "line": 228
5868
5922
  },
5869
5923
  "name": "labels",
5870
5924
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5876,6 +5930,23 @@
5876
5930
  "kind": "array"
5877
5931
  }
5878
5932
  }
5933
+ },
5934
+ {
5935
+ "docs": {
5936
+ "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
5937
+ "stability": "experimental",
5938
+ "summary": "Log group where provided runners will save their logs."
5939
+ },
5940
+ "immutable": true,
5941
+ "locationInModule": {
5942
+ "filename": "src/providers/ec2.ts",
5943
+ "line": 240
5944
+ },
5945
+ "name": "logGroup",
5946
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
5947
+ "type": {
5948
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
5949
+ }
5879
5950
  }
5880
5951
  ],
5881
5952
  "symbolId": "src/providers/ec2:Ec2Runner"
@@ -5894,7 +5965,7 @@
5894
5965
  "kind": "interface",
5895
5966
  "locationInModule": {
5896
5967
  "filename": "src/providers/ec2.ts",
5897
- "line": 126
5968
+ "line": 132
5898
5969
  },
5899
5970
  "name": "Ec2RunnerProps",
5900
5971
  "properties": [
@@ -5909,7 +5980,7 @@
5909
5980
  "immutable": true,
5910
5981
  "locationInModule": {
5911
5982
  "filename": "src/providers/ec2.ts",
5912
- "line": 132
5983
+ "line": 138
5913
5984
  },
5914
5985
  "name": "amiBuilder",
5915
5986
  "optional": true,
@@ -5927,7 +5998,7 @@
5927
5998
  "immutable": true,
5928
5999
  "locationInModule": {
5929
6000
  "filename": "src/providers/ec2.ts",
5930
- "line": 150
6001
+ "line": 156
5931
6002
  },
5932
6003
  "name": "instanceType",
5933
6004
  "optional": true,
@@ -5946,7 +6017,7 @@
5946
6017
  "immutable": true,
5947
6018
  "locationInModule": {
5948
6019
  "filename": "src/providers/ec2.ts",
5949
- "line": 143
6020
+ "line": 149
5950
6021
  },
5951
6022
  "name": "labels",
5952
6023
  "optional": true,
@@ -5970,7 +6041,7 @@
5970
6041
  "immutable": true,
5971
6042
  "locationInModule": {
5972
6043
  "filename": "src/providers/ec2.ts",
5973
- "line": 166
6044
+ "line": 172
5974
6045
  },
5975
6046
  "name": "securityGroup",
5976
6047
  "optional": true,
@@ -5988,7 +6059,7 @@
5988
6059
  "immutable": true,
5989
6060
  "locationInModule": {
5990
6061
  "filename": "src/providers/ec2.ts",
5991
- "line": 173
6062
+ "line": 179
5992
6063
  },
5993
6064
  "name": "securityGroups",
5994
6065
  "optional": true,
@@ -6012,7 +6083,7 @@
6012
6083
  "immutable": true,
6013
6084
  "locationInModule": {
6014
6085
  "filename": "src/providers/ec2.ts",
6015
- "line": 203
6086
+ "line": 209
6016
6087
  },
6017
6088
  "name": "spot",
6018
6089
  "optional": true,
@@ -6030,7 +6101,7 @@
6030
6101
  "immutable": true,
6031
6102
  "locationInModule": {
6032
6103
  "filename": "src/providers/ec2.ts",
6033
- "line": 210
6104
+ "line": 216
6034
6105
  },
6035
6106
  "name": "spotMaxPrice",
6036
6107
  "optional": true,
@@ -6049,7 +6120,7 @@
6049
6120
  "immutable": true,
6050
6121
  "locationInModule": {
6051
6122
  "filename": "src/providers/ec2.ts",
6052
- "line": 157
6123
+ "line": 163
6053
6124
  },
6054
6125
  "name": "storageSize",
6055
6126
  "optional": true,
@@ -6068,7 +6139,7 @@
6068
6139
  "immutable": true,
6069
6140
  "locationInModule": {
6070
6141
  "filename": "src/providers/ec2.ts",
6071
- "line": 182
6142
+ "line": 188
6072
6143
  },
6073
6144
  "name": "subnet",
6074
6145
  "optional": true,
@@ -6087,7 +6158,7 @@
6087
6158
  "immutable": true,
6088
6159
  "locationInModule": {
6089
6160
  "filename": "src/providers/ec2.ts",
6090
- "line": 196
6161
+ "line": 202
6091
6162
  },
6092
6163
  "name": "subnetSelection",
6093
6164
  "optional": true,
@@ -6105,7 +6176,7 @@
6105
6176
  "immutable": true,
6106
6177
  "locationInModule": {
6107
6178
  "filename": "src/providers/ec2.ts",
6108
- "line": 189
6179
+ "line": 195
6109
6180
  },
6110
6181
  "name": "vpc",
6111
6182
  "optional": true,
@@ -6131,7 +6202,7 @@
6131
6202
  },
6132
6203
  "locationInModule": {
6133
6204
  "filename": "src/providers/fargate.ts",
6134
- "line": 281
6205
+ "line": 288
6135
6206
  },
6136
6207
  "parameters": [
6137
6208
  {
@@ -6170,14 +6241,23 @@
6170
6241
  },
6171
6242
  "locationInModule": {
6172
6243
  "filename": "src/providers/common.ts",
6173
- "line": 477
6244
+ "line": 489
6174
6245
  },
6175
6246
  "name": "addRetry",
6176
6247
  "parameters": [
6177
6248
  {
6178
6249
  "name": "task",
6179
6250
  "type": {
6180
- "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
6251
+ "union": {
6252
+ "types": [
6253
+ {
6254
+ "fqn": "aws-cdk-lib.aws_stepfunctions.Parallel"
6255
+ },
6256
+ {
6257
+ "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
6258
+ }
6259
+ ]
6260
+ }
6181
6261
  }
6182
6262
  },
6183
6263
  {
@@ -6202,7 +6282,7 @@
6202
6282
  },
6203
6283
  "locationInModule": {
6204
6284
  "filename": "src/providers/fargate.ts",
6205
- "line": 364
6285
+ "line": 373
6206
6286
  },
6207
6287
  "name": "getStepFunctionTask",
6208
6288
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6231,7 +6311,7 @@
6231
6311
  },
6232
6312
  "locationInModule": {
6233
6313
  "filename": "src/providers/fargate.ts",
6234
- "line": 418
6314
+ "line": 427
6235
6315
  },
6236
6316
  "name": "grantStateMachine",
6237
6317
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6250,7 +6330,7 @@
6250
6330
  },
6251
6331
  "locationInModule": {
6252
6332
  "filename": "src/providers/common.ts",
6253
- "line": 463
6333
+ "line": 475
6254
6334
  },
6255
6335
  "name": "labelsFromProperties",
6256
6336
  "parameters": [
@@ -6300,7 +6380,7 @@
6300
6380
  },
6301
6381
  "locationInModule": {
6302
6382
  "filename": "src/providers/fargate.ts",
6303
- "line": 421
6383
+ "line": 430
6304
6384
  },
6305
6385
  "name": "status",
6306
6386
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6471,6 +6551,23 @@
6471
6551
  }
6472
6552
  }
6473
6553
  },
6554
+ {
6555
+ "docs": {
6556
+ "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
6557
+ "stability": "experimental",
6558
+ "summary": "Log group where provided runners will save their logs."
6559
+ },
6560
+ "immutable": true,
6561
+ "locationInModule": {
6562
+ "filename": "src/providers/fargate.ts",
6563
+ "line": 284
6564
+ },
6565
+ "name": "logGroup",
6566
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
6567
+ "type": {
6568
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
6569
+ }
6570
+ },
6474
6571
  {
6475
6572
  "docs": {
6476
6573
  "stability": "experimental",
@@ -6825,7 +6922,7 @@
6825
6922
  },
6826
6923
  "locationInModule": {
6827
6924
  "filename": "src/runner.ts",
6828
- "line": 187
6925
+ "line": 190
6829
6926
  },
6830
6927
  "parameters": [
6831
6928
  {
@@ -6852,8 +6949,114 @@
6852
6949
  "kind": "class",
6853
6950
  "locationInModule": {
6854
6951
  "filename": "src/runner.ts",
6855
- "line": 169
6952
+ "line": 171
6856
6953
  },
6954
+ "methods": [
6955
+ {
6956
+ "docs": {
6957
+ "remarks": "A failed runner usually means the runner failed to start and so a job was never executed. It doesn't necessarily mean the job was executed and failed. For that, see {@link metricJobCompleted}.",
6958
+ "stability": "experimental",
6959
+ "summary": "Metric for failed runner executions."
6960
+ },
6961
+ "locationInModule": {
6962
+ "filename": "src/runner.ts",
6963
+ "line": 560
6964
+ },
6965
+ "name": "metricFailed",
6966
+ "parameters": [
6967
+ {
6968
+ "name": "props",
6969
+ "optional": true,
6970
+ "type": {
6971
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricProps"
6972
+ }
6973
+ }
6974
+ ],
6975
+ "returns": {
6976
+ "type": {
6977
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
6978
+ }
6979
+ }
6980
+ },
6981
+ {
6982
+ "docs": {
6983
+ "remarks": "It has `ProviderLabels` and `Status` dimensions. The status can be one of \"Succeeded\", \"SucceededWithIssues\", \"Failed\", \"Canceled\", \"Skipped\", or \"Abandoned\".\n\n**WARNING:** this method creates a metric filter for each provider. Each metric has a status dimension with six possible values. These resources may incur cost.",
6984
+ "stability": "experimental",
6985
+ "summary": "Metric for the number of GitHub Actions jobs completed."
6986
+ },
6987
+ "locationInModule": {
6988
+ "filename": "src/runner.ts",
6989
+ "line": 505
6990
+ },
6991
+ "name": "metricJobCompleted",
6992
+ "parameters": [
6993
+ {
6994
+ "name": "props",
6995
+ "optional": true,
6996
+ "type": {
6997
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricProps"
6998
+ }
6999
+ }
7000
+ ],
7001
+ "returns": {
7002
+ "type": {
7003
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
7004
+ }
7005
+ }
7006
+ },
7007
+ {
7008
+ "docs": {
7009
+ "remarks": "A successful execution doesn't always mean a runner was started. It can be successful even without any label matches.\n\nA successful runner doesn't mean the job it executed was successful. For that, see {@link metricJobCompleted}.",
7010
+ "stability": "experimental",
7011
+ "summary": "Metric for successful executions."
7012
+ },
7013
+ "locationInModule": {
7014
+ "filename": "src/runner.ts",
7015
+ "line": 551
7016
+ },
7017
+ "name": "metricSucceeded",
7018
+ "parameters": [
7019
+ {
7020
+ "name": "props",
7021
+ "optional": true,
7022
+ "type": {
7023
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricProps"
7024
+ }
7025
+ }
7026
+ ],
7027
+ "returns": {
7028
+ "type": {
7029
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
7030
+ }
7031
+ }
7032
+ },
7033
+ {
7034
+ "docs": {
7035
+ "remarks": "This time may be longer than the time the runner took.",
7036
+ "stability": "experimental",
7037
+ "summary": "Metric for the interval, in milliseconds, between the time the execution starts and the time it closes."
7038
+ },
7039
+ "locationInModule": {
7040
+ "filename": "src/runner.ts",
7041
+ "line": 567
7042
+ },
7043
+ "name": "metricTime",
7044
+ "parameters": [
7045
+ {
7046
+ "name": "props",
7047
+ "optional": true,
7048
+ "type": {
7049
+ "fqn": "aws-cdk-lib.aws_cloudwatch.MetricProps"
7050
+ }
7051
+ }
7052
+ ],
7053
+ "returns": {
7054
+ "type": {
7055
+ "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
7056
+ }
7057
+ }
7058
+ }
7059
+ ],
6857
7060
  "name": "GitHubRunners",
6858
7061
  "properties": [
6859
7062
  {
@@ -6864,7 +7067,7 @@
6864
7067
  "immutable": true,
6865
7068
  "locationInModule": {
6866
7069
  "filename": "src/runner.ts",
6867
- "line": 173
7070
+ "line": 175
6868
7071
  },
6869
7072
  "name": "providers",
6870
7073
  "type": {
@@ -6884,7 +7087,7 @@
6884
7087
  "immutable": true,
6885
7088
  "locationInModule": {
6886
7089
  "filename": "src/runner.ts",
6887
- "line": 178
7090
+ "line": 180
6888
7091
  },
6889
7092
  "name": "secrets",
6890
7093
  "type": {
@@ -6898,7 +7101,7 @@
6898
7101
  "immutable": true,
6899
7102
  "locationInModule": {
6900
7103
  "filename": "src/runner.ts",
6901
- "line": 187
7104
+ "line": 190
6902
7105
  },
6903
7106
  "name": "props",
6904
7107
  "optional": true,
@@ -6920,7 +7123,7 @@
6920
7123
  "kind": "interface",
6921
7124
  "locationInModule": {
6922
7125
  "filename": "src/runner.ts",
6923
- "line": 24
7126
+ "line": 26
6924
7127
  },
6925
7128
  "name": "GitHubRunnersProps",
6926
7129
  "properties": [
@@ -6935,7 +7138,7 @@
6935
7138
  "immutable": true,
6936
7139
  "locationInModule": {
6937
7140
  "filename": "src/runner.ts",
6938
- "line": 47
7141
+ "line": 49
6939
7142
  },
6940
7143
  "name": "allowPublicSubnet",
6941
7144
  "optional": true,
@@ -6953,7 +7156,7 @@
6953
7156
  "immutable": true,
6954
7157
  "locationInModule": {
6955
7158
  "filename": "src/runner.ts",
6956
- "line": 79
7159
+ "line": 81
6957
7160
  },
6958
7161
  "name": "extraCertificates",
6959
7162
  "optional": true,
@@ -6972,7 +7175,7 @@
6972
7175
  "immutable": true,
6973
7176
  "locationInModule": {
6974
7177
  "filename": "src/runner.ts",
6975
- "line": 86
7178
+ "line": 88
6976
7179
  },
6977
7180
  "name": "idleTimeout",
6978
7181
  "optional": true,
@@ -6990,7 +7193,7 @@
6990
7193
  "immutable": true,
6991
7194
  "locationInModule": {
6992
7195
  "filename": "src/runner.ts",
6993
- "line": 93
7196
+ "line": 95
6994
7197
  },
6995
7198
  "name": "logOptions",
6996
7199
  "optional": true,
@@ -7009,7 +7212,7 @@
7009
7212
  "immutable": true,
7010
7213
  "locationInModule": {
7011
7214
  "filename": "src/runner.ts",
7012
- "line": 30
7215
+ "line": 32
7013
7216
  },
7014
7217
  "name": "providers",
7015
7218
  "optional": true,
@@ -7032,7 +7235,7 @@
7032
7235
  "immutable": true,
7033
7236
  "locationInModule": {
7034
7237
  "filename": "src/runner.ts",
7035
- "line": 52
7238
+ "line": 54
7036
7239
  },
7037
7240
  "name": "securityGroup",
7038
7241
  "optional": true,
@@ -7050,7 +7253,7 @@
7050
7253
  "immutable": true,
7051
7254
  "locationInModule": {
7052
7255
  "filename": "src/runner.ts",
7053
- "line": 35
7256
+ "line": 37
7054
7257
  },
7055
7258
  "name": "vpc",
7056
7259
  "optional": true,
@@ -7068,7 +7271,7 @@
7068
7271
  "immutable": true,
7069
7272
  "locationInModule": {
7070
7273
  "filename": "src/runner.ts",
7071
- "line": 40
7274
+ "line": 42
7072
7275
  },
7073
7276
  "name": "vpcSubnets",
7074
7277
  "optional": true,
@@ -7279,12 +7482,13 @@
7279
7482
  "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
7280
7483
  "interfaces": [
7281
7484
  "aws-cdk-lib.aws_ec2.IConnectable",
7282
- "aws-cdk-lib.aws_iam.IGrantable"
7485
+ "aws-cdk-lib.aws_iam.IGrantable",
7486
+ "constructs.IConstruct"
7283
7487
  ],
7284
7488
  "kind": "interface",
7285
7489
  "locationInModule": {
7286
7490
  "filename": "src/providers/common.ts",
7287
- "line": 415
7491
+ "line": 420
7288
7492
  },
7289
7493
  "methods": [
7290
7494
  {
@@ -7296,7 +7500,7 @@
7296
7500
  },
7297
7501
  "locationInModule": {
7298
7502
  "filename": "src/providers/common.ts",
7299
- "line": 432
7503
+ "line": 444
7300
7504
  },
7301
7505
  "name": "getStepFunctionTask",
7302
7506
  "parameters": [
@@ -7325,7 +7529,7 @@
7325
7529
  },
7326
7530
  "locationInModule": {
7327
7531
  "filename": "src/providers/common.ts",
7328
- "line": 440
7532
+ "line": 452
7329
7533
  },
7330
7534
  "name": "grantStateMachine",
7331
7535
  "parameters": [
@@ -7349,7 +7553,7 @@
7349
7553
  },
7350
7554
  "locationInModule": {
7351
7555
  "filename": "src/providers/common.ts",
7352
- "line": 447
7556
+ "line": 459
7353
7557
  },
7354
7558
  "name": "status",
7355
7559
  "parameters": [
@@ -7382,7 +7586,7 @@
7382
7586
  "immutable": true,
7383
7587
  "locationInModule": {
7384
7588
  "filename": "src/providers/common.ts",
7385
- "line": 423
7589
+ "line": 428
7386
7590
  },
7387
7591
  "name": "labels",
7388
7592
  "type": {
@@ -7393,6 +7597,23 @@
7393
7597
  "kind": "array"
7394
7598
  }
7395
7599
  }
7600
+ },
7601
+ {
7602
+ "abstract": true,
7603
+ "docs": {
7604
+ "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
7605
+ "stability": "experimental",
7606
+ "summary": "Log group where provided runners will save their logs."
7607
+ },
7608
+ "immutable": true,
7609
+ "locationInModule": {
7610
+ "filename": "src/providers/common.ts",
7611
+ "line": 435
7612
+ },
7613
+ "name": "logGroup",
7614
+ "type": {
7615
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
7616
+ }
7396
7617
  }
7397
7618
  ],
7398
7619
  "symbolId": "src/providers/common:IRunnerProvider"
@@ -7482,6 +7703,23 @@
7482
7703
  "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageStatus"
7483
7704
  }
7484
7705
  },
7706
+ {
7707
+ "abstract": true,
7708
+ "docs": {
7709
+ "stability": "experimental",
7710
+ "summary": "Log group for runners."
7711
+ },
7712
+ "immutable": true,
7713
+ "locationInModule": {
7714
+ "filename": "src/providers/common.ts",
7715
+ "line": 414
7716
+ },
7717
+ "name": "logGroup",
7718
+ "optional": true,
7719
+ "type": {
7720
+ "primitive": "string"
7721
+ }
7722
+ },
7485
7723
  {
7486
7724
  "abstract": true,
7487
7725
  "docs": {
@@ -7852,7 +8090,7 @@
7852
8090
  },
7853
8091
  "locationInModule": {
7854
8092
  "filename": "src/providers/lambda.ts",
7855
- "line": 165
8093
+ "line": 173
7856
8094
  },
7857
8095
  "parameters": [
7858
8096
  {
@@ -7882,7 +8120,7 @@
7882
8120
  "kind": "class",
7883
8121
  "locationInModule": {
7884
8122
  "filename": "src/providers/lambda.ts",
7885
- "line": 123
8123
+ "line": 124
7886
8124
  },
7887
8125
  "methods": [
7888
8126
  {
@@ -7891,14 +8129,23 @@
7891
8129
  },
7892
8130
  "locationInModule": {
7893
8131
  "filename": "src/providers/common.ts",
7894
- "line": 477
8132
+ "line": 489
7895
8133
  },
7896
8134
  "name": "addRetry",
7897
8135
  "parameters": [
7898
8136
  {
7899
8137
  "name": "task",
7900
8138
  "type": {
7901
- "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
8139
+ "union": {
8140
+ "types": [
8141
+ {
8142
+ "fqn": "aws-cdk-lib.aws_stepfunctions.Parallel"
8143
+ },
8144
+ {
8145
+ "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
8146
+ }
8147
+ ]
8148
+ }
7902
8149
  }
7903
8150
  },
7904
8151
  {
@@ -7923,7 +8170,7 @@
7923
8170
  },
7924
8171
  "locationInModule": {
7925
8172
  "filename": "src/providers/lambda.ts",
7926
- "line": 245
8173
+ "line": 254
7927
8174
  },
7928
8175
  "name": "getStepFunctionTask",
7929
8176
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7952,7 +8199,7 @@
7952
8199
  },
7953
8200
  "locationInModule": {
7954
8201
  "filename": "src/providers/lambda.ts",
7955
- "line": 307
8202
+ "line": 316
7956
8203
  },
7957
8204
  "name": "grantStateMachine",
7958
8205
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7971,7 +8218,7 @@
7971
8218
  },
7972
8219
  "locationInModule": {
7973
8220
  "filename": "src/providers/common.ts",
7974
- "line": 463
8221
+ "line": 475
7975
8222
  },
7976
8223
  "name": "labelsFromProperties",
7977
8224
  "parameters": [
@@ -8021,7 +8268,7 @@
8021
8268
  },
8022
8269
  "locationInModule": {
8023
8270
  "filename": "src/providers/lambda.ts",
8024
- "line": 310
8271
+ "line": 319
8025
8272
  },
8026
8273
  "name": "status",
8027
8274
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8052,7 +8299,7 @@
8052
8299
  "immutable": true,
8053
8300
  "locationInModule": {
8054
8301
  "filename": "src/providers/lambda.ts",
8055
- "line": 140
8302
+ "line": 141
8056
8303
  },
8057
8304
  "name": "LINUX_ARM64_DOCKERFILE_PATH",
8058
8305
  "static": true,
@@ -8070,7 +8317,7 @@
8070
8317
  "immutable": true,
8071
8318
  "locationInModule": {
8072
8319
  "filename": "src/providers/lambda.ts",
8073
- "line": 131
8320
+ "line": 132
8074
8321
  },
8075
8322
  "name": "LINUX_X64_DOCKERFILE_PATH",
8076
8323
  "static": true,
@@ -8086,7 +8333,7 @@
8086
8333
  "immutable": true,
8087
8334
  "locationInModule": {
8088
8335
  "filename": "src/providers/lambda.ts",
8089
- "line": 234
8336
+ "line": 243
8090
8337
  },
8091
8338
  "name": "connections",
8092
8339
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -8102,7 +8349,7 @@
8102
8349
  "immutable": true,
8103
8350
  "locationInModule": {
8104
8351
  "filename": "src/providers/lambda.ts",
8105
- "line": 145
8352
+ "line": 146
8106
8353
  },
8107
8354
  "name": "function",
8108
8355
  "type": {
@@ -8117,7 +8364,7 @@
8117
8364
  "immutable": true,
8118
8365
  "locationInModule": {
8119
8366
  "filename": "src/providers/lambda.ts",
8120
- "line": 155
8367
+ "line": 156
8121
8368
  },
8122
8369
  "name": "grantPrincipal",
8123
8370
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -8134,7 +8381,7 @@
8134
8381
  "immutable": true,
8135
8382
  "locationInModule": {
8136
8383
  "filename": "src/providers/lambda.ts",
8137
- "line": 160
8384
+ "line": 161
8138
8385
  },
8139
8386
  "name": "image",
8140
8387
  "type": {
@@ -8149,7 +8396,7 @@
8149
8396
  "immutable": true,
8150
8397
  "locationInModule": {
8151
8398
  "filename": "src/providers/lambda.ts",
8152
- "line": 150
8399
+ "line": 151
8153
8400
  },
8154
8401
  "name": "labels",
8155
8402
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8161,6 +8408,23 @@
8161
8408
  "kind": "array"
8162
8409
  }
8163
8410
  }
8411
+ },
8412
+ {
8413
+ "docs": {
8414
+ "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
8415
+ "stability": "experimental",
8416
+ "summary": "Log group where provided runners will save their logs."
8417
+ },
8418
+ "immutable": true,
8419
+ "locationInModule": {
8420
+ "filename": "src/providers/lambda.ts",
8421
+ "line": 168
8422
+ },
8423
+ "name": "logGroup",
8424
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
8425
+ "type": {
8426
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
8427
+ }
8164
8428
  }
8165
8429
  ],
8166
8430
  "symbolId": "src/providers/lambda:LambdaRunner"
@@ -8178,7 +8442,7 @@
8178
8442
  "kind": "interface",
8179
8443
  "locationInModule": {
8180
8444
  "filename": "src/providers/lambda.ts",
8181
- "line": 29
8445
+ "line": 30
8182
8446
  },
8183
8447
  "name": "LambdaRunnerProps",
8184
8448
  "properties": [
@@ -8192,7 +8456,7 @@
8192
8456
  "immutable": true,
8193
8457
  "locationInModule": {
8194
8458
  "filename": "src/providers/lambda.ts",
8195
- "line": 74
8459
+ "line": 75
8196
8460
  },
8197
8461
  "name": "ephemeralStorageSize",
8198
8462
  "optional": true,
@@ -8212,7 +8476,7 @@
8212
8476
  "immutable": true,
8213
8477
  "locationInModule": {
8214
8478
  "filename": "src/providers/lambda.ts",
8215
- "line": 38
8479
+ "line": 39
8216
8480
  },
8217
8481
  "name": "imageBuilder",
8218
8482
  "optional": true,
@@ -8231,7 +8495,7 @@
8231
8495
  "immutable": true,
8232
8496
  "locationInModule": {
8233
8497
  "filename": "src/providers/lambda.ts",
8234
- "line": 46
8498
+ "line": 47
8235
8499
  },
8236
8500
  "name": "label",
8237
8501
  "optional": true,
@@ -8250,7 +8514,7 @@
8250
8514
  "immutable": true,
8251
8515
  "locationInModule": {
8252
8516
  "filename": "src/providers/lambda.ts",
8253
- "line": 57
8517
+ "line": 58
8254
8518
  },
8255
8519
  "name": "labels",
8256
8520
  "optional": true,
@@ -8274,7 +8538,7 @@
8274
8538
  "immutable": true,
8275
8539
  "locationInModule": {
8276
8540
  "filename": "src/providers/lambda.ts",
8277
- "line": 67
8541
+ "line": 68
8278
8542
  },
8279
8543
  "name": "memorySize",
8280
8544
  "optional": true,
@@ -8293,7 +8557,7 @@
8293
8557
  "immutable": true,
8294
8558
  "locationInModule": {
8295
8559
  "filename": "src/providers/lambda.ts",
8296
- "line": 99
8560
+ "line": 100
8297
8561
  },
8298
8562
  "name": "securityGroup",
8299
8563
  "optional": true,
@@ -8311,7 +8575,7 @@
8311
8575
  "immutable": true,
8312
8576
  "locationInModule": {
8313
8577
  "filename": "src/providers/lambda.ts",
8314
- "line": 106
8578
+ "line": 107
8315
8579
  },
8316
8580
  "name": "securityGroups",
8317
8581
  "optional": true,
@@ -8334,7 +8598,7 @@
8334
8598
  "immutable": true,
8335
8599
  "locationInModule": {
8336
8600
  "filename": "src/providers/lambda.ts",
8337
- "line": 113
8601
+ "line": 114
8338
8602
  },
8339
8603
  "name": "subnetSelection",
8340
8604
  "optional": true,
@@ -8353,7 +8617,7 @@
8353
8617
  "immutable": true,
8354
8618
  "locationInModule": {
8355
8619
  "filename": "src/providers/lambda.ts",
8356
- "line": 83
8620
+ "line": 84
8357
8621
  },
8358
8622
  "name": "timeout",
8359
8623
  "optional": true,
@@ -8371,7 +8635,7 @@
8371
8635
  "immutable": true,
8372
8636
  "locationInModule": {
8373
8637
  "filename": "src/providers/lambda.ts",
8374
- "line": 90
8638
+ "line": 91
8375
8639
  },
8376
8640
  "name": "vpc",
8377
8641
  "optional": true,
@@ -8710,7 +8974,7 @@
8710
8974
  "kind": "interface",
8711
8975
  "locationInModule": {
8712
8976
  "filename": "src/runner.ts",
8713
- "line": 99
8977
+ "line": 101
8714
8978
  },
8715
8979
  "name": "LogOptions",
8716
8980
  "properties": [
@@ -8724,7 +8988,7 @@
8724
8988
  "immutable": true,
8725
8989
  "locationInModule": {
8726
8990
  "filename": "src/runner.ts",
8727
- "line": 110
8991
+ "line": 112
8728
8992
  },
8729
8993
  "name": "includeExecutionData",
8730
8994
  "optional": true,
@@ -8742,7 +9006,7 @@
8742
9006
  "immutable": true,
8743
9007
  "locationInModule": {
8744
9008
  "filename": "src/runner.ts",
8745
- "line": 117
9009
+ "line": 119
8746
9010
  },
8747
9011
  "name": "level",
8748
9012
  "optional": true,
@@ -8759,7 +9023,7 @@
8759
9023
  "immutable": true,
8760
9024
  "locationInModule": {
8761
9025
  "filename": "src/runner.ts",
8762
- "line": 103
9026
+ "line": 105
8763
9027
  },
8764
9028
  "name": "logGroupName",
8765
9029
  "optional": true,
@@ -8778,7 +9042,7 @@
8778
9042
  "immutable": true,
8779
9043
  "locationInModule": {
8780
9044
  "filename": "src/runner.ts",
8781
- "line": 126
9045
+ "line": 128
8782
9046
  },
8783
9047
  "name": "logRetention",
8784
9048
  "optional": true,
@@ -9994,6 +10258,6 @@
9994
10258
  "symbolId": "src/providers/image-builders/windows-components:WindowsComponents"
9995
10259
  }
9996
10260
  },
9997
- "version": "0.7.5",
9998
- "fingerprint": "laqJPG7tuKfwHJxSKRBzkd+Ep19fgids70hLEG6AxIE="
10261
+ "version": "0.8.0",
10262
+ "fingerprint": "hG0jayveZV6WH9SPX76kZV6XCazbfoOtwe9VkakdaFQ="
9999
10263
  }