You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Added the AMI to machine setup info to runner workflows. ([#2451](https://github.com/philips-labs/terraform-aws-github-runner/issues/2451)) ([e197cbd](https://github.com/philips-labs/terraform-aws-github-runner/commit/e197cbddb4837840ab62c1189d069acf5f59afdb))
16
+
***images:** add ami for windows core 2022 ([#2390](https://github.com/philips-labs/terraform-aws-github-runner/issues/2390)) ([97707c2](https://github.com/philips-labs/terraform-aws-github-runner/commit/97707c20c3110823480119fadacd95825fadff6e))
17
+
* Log workflow id in webhook ([#2511](https://github.com/philips-labs/terraform-aws-github-runner/issues/2511)) ([204acf1](https://github.com/philips-labs/terraform-aws-github-runner/commit/204acf1d1d25322c42353505aacc5594cc4e6f9c))
* Remove resource group from module ([#2512](https://github.com/philips-labs/terraform-aws-github-runner/issues/2512)) ([2628352](https://github.com/philips-labs/terraform-aws-github-runner/commit/262835219d220b5d93ccee92c5e1a1909f3e6780))
* Update ubuntu example to fix /opt/hostedtoolcache ([#2302](https://github.com/philips-labs/terraform-aws-github-runner/issues/2302)) ([8eea748](https://github.com/philips-labs/terraform-aws-github-runner/commit/8eea74817a9817ca386b77f1b90ae9ef721e250e))
Copy file name to clipboardExpand all lines: README.md
+22-2Lines changed: 22 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ This [Terraform](https://www.terraform.io/) module creates the required infrastr
22
22
-[Idle runners](#idle-runners)
23
23
-[Ephemeral runners](#ephemeral-runners)
24
24
-[Prebuilt Images](#prebuilt-images)
25
+
-[Experimental - Optional queue to publish GitHub workflow job events](#experimental---optional-queue-to-publish-github-workflow-job-events)
25
26
-[Examples](#examples)
26
27
-[Sub modules](#sub-modules)
27
28
-[ARM64 configuration for submodules](#arm64-configuration-for-submodules)
@@ -298,7 +299,7 @@ For time zones please check [TZ database name column](https://en.wikipedia.org/w
298
299
299
300
### Ephemeral runners
300
301
301
-
Currently a beta feature! You can configure runners to be ephemeral, runners will be used only for one job. The feature should be used in conjunction with listening for the workflow job event. Please consider the following:
302
+
You can configure runners to be ephemeral, runners will be used only for one job. The feature should be used in conjunction with listening for the workflow job event. Please consider the following:
302
303
303
304
- The scale down lambda is still active, and should only remove orphan instances. But there is no strict check in place. So ensure you configure the `minimum_running_time_in_minutes` to a value that is high enough to got your runner booted and connected to avoid it got terminated before executing a job.
304
305
- The messages sent from the webhook lambda to scale-up lambda are by default delayed delayed by SQS, to give available runners to option to start the job before the decision is made to scale more runners. For ephemeral runners there is no need to wait. Set `delay_webhook_event` to `0`.
@@ -310,7 +311,25 @@ The example for [ephemeral runners](./examples/ephemeral) is based on the [defau
310
311
311
312
### Prebuilt Images
312
313
313
-
This module also allows you to run agents from a prebuilt AMI to gain faster startup times. You can find more information in [the image README.md](/images/README.md). When the GitHub runner is part of the AMI you can disable the binary syncer by setting `enable_runner_binaries_syncer = false`.
314
+
This module also allows you to run agents from a prebuilt AMI to gain faster startup times. You can find more information in [the image README.md](/images/README.md)
This queue is an experimental feature to allow you to receive a copy of the wokflow_jobs events sent by the GItHub App. For example to calculate matrix or monitor the system.
319
+
320
+
To enable the feature set `enable_workflow_job_events_queue = true`. Be-aware the feature in experimental!
321
+
322
+
Messages received on the queue are using the same format as published by GitHub wrapped in a property `workflowJobEvent`.
323
+
324
+
```
325
+
export interface GithubWorkflowEvent {
326
+
workflowJobEvent: WorkflowJobEvent;
327
+
}
328
+
```
329
+
This extendible format allows to add more fields to be added if needed.
330
+
You can configure the queue by setting properties to `workflow_job_events_queue_config`
331
+
332
+
NOTE: By default, a runner AMI update requires a re-apply of this terraform config (the runner AMI ID is looked up by a terraform data source). To avoid this, you can use `ami_id_ssm_parameter_name` to have the scale-up lambda dynamically lookup the runner AMI ID from an SSM parameter at instance launch time. Said SSM parameter is managed outside of this module (e.g. by a runner AMI build workflow).
314
333
315
334
## Examples
316
335
@@ -402,6 +421,7 @@ We welcome any improvement to the standard module to make the default as secure
| <aname="input_ami_filter"></a> [ami\_filter](#input\_ami\_filter)| List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used. |`map(list(string))`|`null`| no |
404
423
| <aname="input_ami_owners"></a> [ami\_owners](#input\_ami\_owners)| The list of owners used to select the AMI of action runner instances. |`list(string)`| <pre>[<br> "amazon"<br>]</pre> | no |
424
+
| <aname="input_ami_id_ssm_parameter_name"></a> [ami\_id\_ssm\_parameter\_name](#input\_ami\_id\_ssm\_parameter\_name)| Optional SSM parameter that contains the runner AMI ID to launch instances from. Overrides `ami_filter`. The parameter value is managed outside of this module (e.g. in a runner AMI build workflow). This allows for AMI updates without having to re-apply this terraform config. |`string`|`null`| no |
405
425
| <aname="input_aws_partition"></a> [aws\_partition](#input\_aws\_partition)| (optiona) partition in the arn namespace to use if not 'aws' |`string`|`"aws"`| no |
0 commit comments