Skip to content

Commit 66bcc58

Browse files
authored
Merge branch 'develop' into mcaulifn/app-tag
2 parents af34741 + a8b1645 commit 66bcc58

File tree

32 files changed

+3848
-3873
lines changed

32 files changed

+3848
-3873
lines changed

.github/workflows/auto-approve-dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ jobs:
1414
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: hmarr/auto-approve-action@v2.4.0
17+
- uses: hmarr/auto-approve-action@v3.1.0
1818
with:
1919
github-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
id: lambda
2121
env:
2222
LAMBDA: ${{ matrix.lambda }}
23-
run: echo ::set-output name=name::${LAMBDA##*/}
23+
run: echo "name=${LAMBDA##*/}" >> $GITHUB_OUTPUT
2424
- uses: actions/checkout@v3
2525
- name: Add zip
2626
run: apt update && apt install zip
@@ -57,7 +57,7 @@ jobs:
5757
path: artifacts
5858

5959
- name: Get installation token
60-
uses: npalm/action-app-token@v1.0.0
60+
uses: npalm/action-app-token@v1.1.0
6161
id: app-token
6262
with:
6363
appId: ${{ secrets.FOREST_RELEASER_APP_ID }}

.github/workflows/semantic-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
steps:
1919
- uses: actions/checkout@v3
2020

21-
- uses: amannn/action-semantic-pull-request@v4
21+
- uses: amannn/action-semantic-pull-request@v5
2222
name: Check PR for Semantic Commit Message
2323
env:
2424
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## [1.13.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v1.12.0...v1.13.0) (2022-10-14)
4+
5+
6+
### Features
7+
8+
* Experimental feature - Duplicate workflow job event to extra queue ([#2268](https://github.com/philips-labs/terraform-aws-github-runner/issues/2268)) ([985e722](https://github.com/philips-labs/terraform-aws-github-runner/commit/985e722229ce464235d206484df3d989db03e143))
9+
10+
## [1.12.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v1.11.0...v1.12.0) (2022-10-12)
11+
12+
13+
### Features
14+
15+
* 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))
18+
* Security improvements, add option to disable userdata logging ([9a9e2ee](https://github.com/philips-labs/terraform-aws-github-runner/commit/9a9e2ee1089b95950d2d142a720a68eb55e53d55)), closes [#1019](https://github.com/philips-labs/terraform-aws-github-runner/issues/1019) [#899](https://github.com/philips-labs/terraform-aws-github-runner/issues/899) [#1080](https://github.com/philips-labs/terraform-aws-github-runner/issues/1080) [#748](https://github.com/philips-labs/terraform-aws-github-runner/issues/748) [#1112](https://github.com/philips-labs/terraform-aws-github-runner/issues/1112) [#903](https://github.com/philips-labs/terraform-aws-github-runner/issues/903) [#1082](https://github.com/philips-labs/terraform-aws-github-runner/issues/1082) [#1133](https://github.com/philips-labs/terraform-aws-github-runner/issues/1133) [#2](https://github.com/philips-labs/terraform-aws-github-runner/issues/2) [#1204](https://github.com/philips-labs/terraform-aws-github-runner/issues/1204) [#1219](https://github.com/philips-labs/terraform-aws-github-runner/issues/1219) [#1202](https://github.com/philips-labs/terraform-aws-github-runner/issues/1202) [#1202](https://github.com/philips-labs/terraform-aws-github-runner/issues/1202) [#1135](https://github.com/philips-labs/terraform-aws-github-runner/issues/1135) [#1164](https://github.com/philips-labs/terraform-aws-github-runner/issues/1164) [#1154](https://github.com/philips-labs/terraform-aws-github-runner/issues/1154) [#1207](https://github.com/philips-labs/terraform-aws-github-runner/issues/1207) [#1203](https://github.com/philips-labs/terraform-aws-github-runner/issues/1203) [#1247](https://github.com/philips-labs/terraform-aws-github-runner/issues/1247) [#1222](https://github.com/philips-labs/terraform-aws-github-runner/issues/1222) [#1244](https://github.com/philips-labs/terraform-aws-github-runner/issues/1244) [#1223](https://github.com/philips-labs/terraform-aws-github-runner/issues/1223) [#1254](https://github.com/philips-labs/terraform-aws-github-runner/issues/1254) [#1286](https://github.com/philips-labs/terraform-aws-github-runner/issues/1286) [#1287](https://github.com/philips-labs/terraform-aws-github-runner/issues/1287) [#1278](https://github.com/philips-labs/terraform-aws-github-runner/issues/1278) [#1354](https://github.com/philips-labs/terraform-aws-github-runner/issues/1354) [#1357](https://github.com/philips-labs/terraform-aws-github-runner/issues/1357) [#1356](https://github.com/philips-labs/terraform-aws-github-runner/issues/1356) [#1228](https://github.com/philips-labs/terraform-aws-github-runner/issues/1228) [#1324](https://github.com/philips-labs/terraform-aws-github-runner/issues/1324) [#1358](https://github.com/philips-labs/terraform-aws-github-runner/issues/1358) [#1377](https://github.com/philips-labs/terraform-aws-github-runner/issues/1377) [#1368](https://github.com/philips-labs/terraform-aws-github-runner/issues/1368) [#1381](https://github.com/philips-labs/terraform-aws-github-runner/issues/1381) [#1415](https://github.com/philips-labs/terraform-aws-github-runner/issues/1415) [#1416](https://github.com/philips-labs/terraform-aws-github-runner/issues/1416) [#1423](https://github.com/philips-labs/terraform-aws-github-runner/issues/1423) [#1399](https://github.com/philips-labs/terraform-aws-github-runner/issues/1399) [#1401](https://github.com/philips-labs/terraform-aws-github-runner/issues/1401) [#1444](https://github.com/philips-labs/terraform-aws-github-runner/issues/1444) [#1480](https://github.com/philips-labs/terraform-aws-github-runner/issues/1480) [#1478](https://github.com/philips-labs/terraform-aws-github-runner/issues/1478) [#1479](https://github.com/philips-labs/terraform-aws-github-runner/issues/1479) [#1476](https://github.com/philips-labs/terraform-aws-github-runner/issues/1476) [#1537](https://github.com/philips-labs/terraform-aws-github-runner/issues/1537) [#1538](https://github.com/philips-labs/terraform-aws-github-runner/issues/1538) [#1541](https://github.com/philips-labs/terraform-aws-github-runner/issues/1541) [#1542](https://github.com/philips-labs/terraform-aws-github-runner/issues/1542) [#1399](https://github.com/philips-labs/terraform-aws-github-runner/issues/1399) [#1444](https://github.com/philips-labs/terraform-aws-github-runner/issues/1444) [#1572](https://github.com/philips-labs/terraform-aws-github-runner/issues/1572) [#1556](https://github.com/philips-labs/terraform-aws-github-runner/issues/1556) [#1561](https://github.com/philips-labs/terraform-aws-github-runner/issues/1561) [#1525](https://github.com/philips-labs/terraform-aws-github-runner/issues/1525) [#1591](https://github.com/philips-labs/terraform-aws-github-runner/issues/1591) [#1577](https://github.com/philips-labs/terraform-aws-github-runner/issues/1577) [#1621](https://github.com/philips-labs/terraform-aws-github-runner/issues/1621) [#1611](https://github.com/philips-labs/terraform-aws-github-runner/issues/1611) [#1615](https://github.com/philips-labs/terraform-aws-github-runner/issues/1615) [#1624](https://github.com/philips-labs/terraform-aws-github-runner/issues/1624) [#1628](https://github.com/philips-labs/terraform-aws-github-runner/issues/1628) [#1647](https://github.com/philips-labs/terraform-aws-github-runner/issues/1647) [#1644](https://github.com/philips-labs/terraform-aws-github-runner/issues/1644) [#1673](https://github.com/philips-labs/terraform-aws-github-runner/issues/1673) [#1676](https://github.com/philips-labs/terraform-aws-github-runner/issues/1676) [#1716](https://github.com/philips-labs/terraform-aws-github-runner/issues/1716) [#1741](https://github.com/philips-labs/terraform-aws-github-runner/issues/1741) [#1738](https://github.com/philips-labs/terraform-aws-github-runner/issues/1738) [#1745](https://github.com/philips-labs/terraform-aws-github-runner/issues/1745) [#1718](https://github.com/philips-labs/terraform-aws-github-runner/issues/1718) [#1791](https://github.com/philips-labs/terraform-aws-github-runner/issues/1791) [github.com/philips-labs/terraform-aws-github-runner/pull/1816#issuecomment-1060650668](https://github.com/philips-labs/github.com/philips-labs/terraform-aws-github-runner/pull/1816/issues/issuecomment-1060650668) [#1816](https://github.com/philips-labs/terraform-aws-github-runner/issues/1816) [#1833](https://github.com/philips-labs/terraform-aws-github-runner/issues/1833) [#1798](https://github.com/philips-labs/terraform-aws-github-runner/issues/1798) [#1815](https://github.com/philips-labs/terraform-aws-github-runner/issues/1815) [#1838](https://github.com/philips-labs/terraform-aws-github-runner/issues/1838) [#1797](https://github.com/philips-labs/terraform-aws-github-runner/issues/1797) [#1839](https://github.com/philips-labs/terraform-aws-github-runner/issues/1839) [#1812](https://github.com/philips-labs/terraform-aws-github-runner/issues/1812) [#1854](https://github.com/philips-labs/terraform-aws-github-runner/issues/1854) [#1855](https://github.com/philips-labs/terraform-aws-github-runner/issues/1855) [#1845](https://github.com/philips-labs/terraform-aws-github-runner/issues/1845) [#1832](https://github.com/philips-labs/terraform-aws-github-runner/issues/1832) [#1859](https://github.com/philips-labs/terraform-aws-github-runner/issues/1859) [#1937](https://github.com/philips-labs/terraform-aws-github-runner/issues/1937) [#1969](https://github.com/philips-labs/terraform-aws-github-runner/issues/1969) [#1970](https://github.com/philips-labs/terraform-aws-github-runner/issues/1970) [#1954](https://github.com/philips-labs/terraform-aws-github-runner/issues/1954) [#2019](https://github.com/philips-labs/terraform-aws-github-runner/issues/2019) [#1739](https://github.com/philips-labs/terraform-aws-github-runner/issues/1739) [#2019](https://github.com/philips-labs/terraform-aws-github-runner/issues/2019) [#2024](https://github.com/philips-labs/terraform-aws-github-runner/issues/2024) [#2051](https://github.com/philips-labs/terraform-aws-github-runner/issues/2051) [#1858](https://github.com/philips-labs/terraform-aws-github-runner/issues/1858) [#2085](https://github.com/philips-labs/terraform-aws-github-runner/issues/2085) [#2121](https://github.com/philips-labs/terraform-aws-github-runner/issues/2121) [#2073](https://github.com/philips-labs/terraform-aws-github-runner/issues/2073) [#2146](https://github.com/philips-labs/terraform-aws-github-runner/issues/2146) [#2145](https://github.com/philips-labs/terraform-aws-github-runner/issues/2145) [#2147](https://github.com/philips-labs/terraform-aws-github-runner/issues/2147) [#2122](https://github.com/philips-labs/terraform-aws-github-runner/issues/2122) [#2123](https://github.com/philips-labs/terraform-aws-github-runner/issues/2123) [#2181](https://github.com/philips-labs/terraform-aws-github-runner/issues/2181) [#2207](https://github.com/philips-labs/terraform-aws-github-runner/issues/2207) [#2102](https://github.com/philips-labs/terraform-aws-github-runner/issues/2102) [#2214](https://github.com/philips-labs/terraform-aws-github-runner/issues/2214) [#2052](https://github.com/philips-labs/terraform-aws-github-runner/issues/2052) [#2074](https://github.com/philips-labs/terraform-aws-github-runner/issues/2074) [#2233](https://github.com/philips-labs/terraform-aws-github-runner/issues/2233) [#2288](https://github.com/philips-labs/terraform-aws-github-runner/issues/2288) [#2302](https://github.com/philips-labs/terraform-aws-github-runner/issues/2302) [#2291](https://github.com/philips-labs/terraform-aws-github-runner/issues/2291) [#2209](https://github.com/philips-labs/terraform-aws-github-runner/issues/2209) [#2315](https://github.com/philips-labs/terraform-aws-github-runner/issues/2315) [#2314](https://github.com/philips-labs/terraform-aws-github-runner/issues/2314) [#2103](https://github.com/philips-labs/terraform-aws-github-runner/issues/2103) [#2345](https://github.com/philips-labs/terraform-aws-github-runner/issues/2345) [#2387](https://github.com/philips-labs/terraform-aws-github-runner/issues/2387) [#2371](https://github.com/philips-labs/terraform-aws-github-runner/issues/2371) [#2431](https://github.com/philips-labs/terraform-aws-github-runner/issues/2431) [#2369](https://github.com/philips-labs/terraform-aws-github-runner/issues/2369) [#2346](https://github.com/philips-labs/terraform-aws-github-runner/issues/2346) [#2325](https://github.com/philips-labs/terraform-aws-github-runner/issues/2325) [#2434](https://github.com/philips-labs/terraform-aws-github-runner/issues/2434) [#2455](https://github.com/philips-labs/terraform-aws-github-runner/issues/2455)
19+
20+
21+
### Bug Fixes
22+
23+
* 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))
24+
325
## [1.11.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v1.10.0...v1.11.0) (2022-10-06)
426

527

@@ -84,6 +106,7 @@
84106
* 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))
85107
* Webhook lambda misleading log ([#2291](https://github.com/philips-labs/terraform-aws-github-runner/issues/2291)) ([c6275f9](https://github.com/philips-labs/terraform-aws-github-runner/commit/c6275f9d5a68c962e32596e4abf77b1fda6dd18f))
86108

109+
87110
## [1.5.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v1.4.1...v1.5.0) (2022-07-08)
88111

89112

README.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ This [Terraform](https://www.terraform.io/) module creates the required infrastr
2222
- [Idle runners](#idle-runners)
2323
- [Ephemeral runners](#ephemeral-runners)
2424
- [Prebuilt Images](#prebuilt-images)
25+
- [Experimental - Optional queue to publish GitHub workflow job events](#experimental---optional-queue-to-publish-github-workflow-job-events)
2526
- [Examples](#examples)
2627
- [Sub modules](#sub-modules)
2728
- [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
298299

299300
### Ephemeral runners
300301

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:
302303

303304
- 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.
304305
- 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
310311

311312
### Prebuilt Images
312313

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)
315+
316+
### Experimental - Optional queue to publish GitHub workflow job events
317+
318+
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).
314333

315334
## Examples
316335

@@ -402,6 +421,7 @@ We welcome any improvement to the standard module to make the default as secure
402421
|------|-------------|------|---------|:--------:|
403422
| <a name="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 |
404423
| <a name="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+
| <a name="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 |
405425
| <a name="input_aws_partition"></a> [aws\_partition](#input\_aws\_partition) | (optiona) partition in the arn namespace to use if not 'aws' | `string` | `"aws"` | no |
406426
| <a name="input_aws_region"></a> [aws\_region](#input\_aws\_region) | AWS region. | `string` | n/a | yes |
407427
| <a name="input_block_device_mappings"></a> [block\_device\_mappings](#input\_block\_device\_mappings) | The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`. | <pre>list(object({<br> delete_on_termination = bool<br> device_name = string<br> encrypted = bool<br> iops = number<br> kms_key_id = string<br> snapshot_id = string<br> throughput = number<br> volume_size = number<br> volume_type = string<br> }))</pre> | <pre>[<br> {<br> "delete_on_termination": true,<br> "device_name": "/dev/xvda",<br> "encrypted": true,<br> "iops": null,<br> "kms_key_id": null,<br> "snapshot_id": null,<br> "throughput": null,<br> "volume_size": 30,<br> "volume_type": "gp3"<br> }<br>]</pre> | no |

examples/arm64/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ You can receive the webhook details by running:
2828
terraform output -raw webhook_secret
2929
```
3030

31-
Be-aware some shells will print some end of line character `%`.
31+
Be-aware some shells will print some end of line character `%`.

examples/default/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,6 @@ module "runners" {
8383

8484
# override scaling down
8585
scale_down_schedule_expression = "cron(* * * * ? *)"
86+
# enable this flag to publish webhook events to workflow job queue
87+
# enable_workflow_job_events_queue = true
8688
}

0 commit comments

Comments
 (0)