Releases: github-aws-runners/terraform-aws-github-runner
v2.4.0
v2.3.0
v2.2.2
2.2.2 (2023-02-24)
Bug Fixes
- runners: bump @aws-sdk/client-ssm from 3.245.0 to 3.272.0 in /modules/runners/lambdas/runners (#2971) (a1c700f)
- runners: Fix typo in .setup_info generated in start-runner.ps1. (#2967) (e8f74bc)
- webhook: bump @aws-sdk/client-ssm from 3.245.0 to 3.278.0 in /modules/webhook/lambdas/webhook (#2990) (b61c2bf)
- webhook: bump @octokit/rest from 19.0.5 to 19.0.7 in /modules/webhook/lambdas/webhook (#2980) (8a5a8ae)
v2.2.1
2.2.1 (2023-02-17)
Bug Fixes
- binary-syncer: Allow lambda inside VPC (#2938) (4bb80be)
- runners: bump @octokit/auth-app from 4.0.8 to 4.0.9 in /modules/runners/lambdas/runners (#2953) (fce2a75)
- runners: Fix incorrect path to SSM cloudwatch config parameter. (8f4cc41)
- runners: Fix path to SSM cloudwatch config parameter on Windows (#2922) (8f4cc41)
- syncer: bump axios from 1.2.2 to 1.3.3 in /modules/runner-binaries-syncer/lambdas/runner-binaries-syncer (#2959) (1aa261e)
v2.2.0
2.2.0 (2023-02-10)
Features
Bug Fixes
- Add missing entry for AWS-recommended price-capacity-optimized strategy to ProcessEnv interface (9b8f88b)
- Adds InsufficientInstanceCapacity to list of scaling errors (4eb3b16)
- multi-runner: Create DLQ only if requested (#2903) (3d33744)
- multi-runner: Missing ami_id_ssm_parameter_name parameter from multi-runner #2883 (#2911) (19138d9)
- runner: Adds InsufficientInstanceCapacity to list of scaling errors (#2926) (4eb3b16)
- runners: Add missing entry for AWS-recommended price-capacity-optimized strategy to ProcessEnv interface (#2921) (9b8f88b)
- runners: Bump @octokit/types from 8.0.0 to 9.0.0 in /modules/runners/lambdas/runners (#2910) (abdc3ac)
- runners: Bump cron-parser from 4.7.0 to 4.7.1 in /modules/runners/lambdas/runners (#2893) (fd2dc78)
- syncer: bump aws-sdk from 2.1290.0 to 2.1312.0 in /modules/runner-binaries-syncer/lambdas/runner-binaries-syncer (#2940) (8d1b281)
- webhook: Bump @octokit/webhooks from 10.4.0 to 10.7.0 in /modules/webhook/lambdas/webhook (#2907) (d9ab310)
Performance Improvements
v2.1.1
2.1.1 (2023-01-12)
Important notice:
The fix applied #2801 to ensure the pool respects booting instance can have as side effect that after upgrading you have lesser instance in your pool. This is intended since booting instances could be potentential pool instances. Adjust your pool when needed, and try to configure the crontab for the pool in such way it is not running more frequent than the time it takes to boot instances in the pool.
Bug Fixes
- Honnor booting instance in runner pool (#2801) (9f841f7)
- runners: Bump @aws-sdk/client-ssm from 3.241.0 to 3.245.0 in /modules/runners/lambdas/runners (#2866) (ca6a0bb)
- runners: Bump @octokit/auth-app from 4.0.7 to 4.0.8 in /modules/runners/lambdas/runners (#2870) (755796f)
- runners: Bump luxon from 3.1.1 to 3.2.1 in /modules/runners/lambdas/runners (#2860) (159a1ef)
- syncer: Bump aws-sdk from 2.1284.0 to 2.1290.0 in /modules/runner-binaries-syncer/lambdas/runner-binaries-syncer (#2871) (f8c027d)
- webhook: Bump @aws-sdk/client-ssm from 3.238.0 to 3.245.0 in /modules/webhook/lambdas/webhook (#2872) (c50a773)
- webhook: Bump aws-sdk from 2.1289.0 to 2.1292.0 in /modules/webhook/lambdas/webhook (#2876) (b3507af)
v2.1.0
2.1.0 (2023-01-06)
Features
Bug Fixes
- variables: Correction enable_enable_fifo_build_queue (#2857) (455e272)
- examples: multi-runner runner label (2840d5e)
- runners: Bump @aws-sdk/client-ssm from 3.238.0 to 3.241.0 in /modules/runners/lambdas/runners (#2838) (89b1839)
- runners: Bump aws-sdk from 2.1284.0 to 2.1289.0 in /modules/runners/lambdas/runners (#2855) (402e5ac)
- webhook: Bump aws-sdk from 2.1284.0 to 2.1289.0 in /modules/webhook/lambdas/webhook (#2856) (5d6dd37)
- webhook: Bump axios from 1.2.1 to 1.2.2 in /modules/runner-binaries-syncer/lambdas/runner-binaries-syncer (#2827) (686624a)
v2.0.2
2.0.2 (2023-01-03)
Migration.
Please check release 2.0.0
Bug Fixes
- runners: Bump json5 from 2.2.1 to 2.2.3 in /modules/runners/lambdas/runners (#2842) (d3169c2)
- syncer: Bump json5 from 2.2.1 to 2.2.3 in /modules/runner-binaries-syncer/lambdas/runner-binaries-syncer (#2841) (b2816f7)
- webhook: Bump json5 from 2.2.1 to 2.2.3 in /modules/webhook/lambdas/webhook (#2840) (68ff414)
v2.0.1
2.0.1 (2023-01-03)
Migration
The migration mentioned below should be part of 2.0.0, but due to merge issues it was not part of the release. This patch will add them.
The following variables are renamed for consistently. Old variables names will trigger an error with upgrade instruction.
- enabled_userdata -> enable_userdata (#2784)
- fifo_build_queue -> enable_fifo_build_queue (#2809)
- runner_enable_workflow_job_labels_check_all -> enable_runner_workflow_job_labels_check_all (#2809)
Bug Fixes
v2.0.0
2.0.0 (2022-12-28)
⚠ BREAKING CHANGES
- Set default lambda node runtime to 18x on arm64 (#2763)
- Drop deprecated terraform variables (#2761)
- use optional in variable block_device_mappings (#2664)
- Organise SSM paramamters by path (#2569)
- Add multi-runner capability (#2472)
- Remove old scale down mechanism (< 0.19.0) (#2519)
- Remove support check_run (#2521)
Features
- Add multi-runner capability (#2472) (fef8d65)
- Added publishing to workflow_job event queue for multi runner module. (#2570) (a8b33b5)
- Organise SSM paramamters by path (#2569) (b912bb8)
- Remove old scale down mechanism (< 0.19.0) (#2519) (7506e9d)
- Remove support check_run (#2521) (4677619)
- Set default lambda node runtime to 18x on arm64 (#2763) (2fd1e16)
- webhook: Support multiple arrays of tags is matchers. (#2736) (d17f441)
Bug Fixes
- Apply SSM changes for multi-runner (c0051f6)
- Drop deprecated terraform variables (#2761) (955bd1d)
- Main module broken after supporting multiple labels (#2802) (df054e8)
- Main module broken after supporting multiple labels for multi-runnes (df054e8)
- multi-runner: Add missing default for runner_metadata_options (#2690) (910b91c)
- multi-runner: Default value validation error (#2685) (448a3a7)
- Multiirunner dl queue. (#2644) (0823d47)
- Remove extraneous slashes from SSM paths, other typos (#2765) (7cdef21)
- runners: Remove Application legacy tag (#2705) (96ced8a)
- webhook: Add missing test dependency (086a2e1)
Migration Directions
Application tagged namespaces
In #2182 the Application tag on the runner is namespace, in this release the support for the old tag is removed (#2705) and only the new tag ghr:Application
is used for scaling down. To ensure that olds instances got removed by the scale-down function it is important to first upgrade to 1.17. Alternative you can stop them manually.
Terraform 1.3+ required
We drop support for Terraform versions between lower then 1.3. This means versions 1.0.x till 1.2.x are not longer supported. The impact of upgrading from any Terraform version above 1 to 1.3.x should be minimal.
SSM Paths changed - Update required for tailored start-runner script (#2569)
Migration is only required when using your tailored start-runner script for example when building your own AMI. Before all parameters were based on convention. We have update them to be predictable with still similar conventions as default.
We set the tag ghr:ssm_config_path
as EC2 instance tag to the path used for the configuration. In the config path we store the same values as before (run_as
, enable_cloudwatch
, agent_mode
). The tokens are stored in a separate location which can be retrieved by looking up the value token_path
in the config.
For a more details example check-out the following diffs:
Multi runner capability (#2519)
- The multi-runner is available as a stand-alone module. However the change introduced a breaking change on the main module. The variable
runner_enable_workflow_job_labels_check
is not available under this module as we now only support the flagenable_runner_workflow_job_labels_check_all
to check all/partial workflow labels to be present in the runner labels. Running TF apply on existing deployment will apply some changes done in internal modules to existing infrastructure. - Impact on using internal (submodules). There are some changes in the webhook internal module as per this feature. So, If you have been using it directly, the changes will be towards accepting runner configuration (queue details and label matchers) as a single object instead of earlier configuration of scattered queue details and criteria to match the workflow labels against the runner labels.
Removal support check_run (#1256
In the past we used for scaling the check_run event, since GitHub had now support for a workflow_job event. Now the event is upport for quite some time. And also support exists on GHES. We will phase out check_run support.
Ensure you configure the GitHub app to subscribe to workflow_job. In case you on an old GHES server version, the only. migration path is to update GHES or remain on old version of the module
Removal old scale-down mechanism
Migration is only required when you are on an older version than 0.19.0.
- Option 1, upgrade to 2.x could cause orphan instances which will not be terminated by the scale-down function, thoses instances needs to be removed manual.
- Option 2, upgrade first to a verions 1.17+ and keep this version running till all instances before the upgrade are terminated. Next upgrade to 2.x.
Default Node version and lambda architecture
The default for node is set to node 18 (LTS) and the default for the lambda architecture is changed from x64 to arm64. This architecture change has no impact on the runners (#2763).
Variables
Depcreated variables are removed from the module.
- environment -> prefix
- instance_type -> instance_types
- market_options -> instance_target_capacity_type
The following variables are renamed for consistently. Old variables names will trigger an error with upgrade instruction.