Skip to content

Releases: github-aws-runners/terraform-aws-github-runner

v2.4.0

08 Mar 07:45
e6782e2
Compare
Choose a tag to compare

2.4.0 (2023-03-08)

Features

  • add outputs for lambda and lambda log groups (#3033) (e1ce8be)
  • runners: allow to use a shared encrypted AMI (#2933) (5514c72)

Bug Fixes

  • runners: bump aws-sdk from 2.1289.0 to 2.1329.0 in /modules/runners/lambdas/runners (#3018) (9bfcfe6)
  • webhook: bump @aws-sdk/client-ssm from 3.278.0 to 3.282.0 in /modules/webhook/lambdas/webhook (#3021) (7b7c211)

v2.3.0

01 Mar 15:54
4c50a04
Compare
Choose a tag to compare

2.3.0 (2023-03-01)

Features

  • syncer: add option to disable runner syncer lambda trigger (#2986) (5eb27b0)

Bug Fixes

  • runners: bump @aws-sdk/client-ssm from 3.272.0 to 3.281.0 in /modules/runners/lambdas/runners (#3014) (7c390ba)
  • runners: propagate var.runner_ec2_tags to EC2 volumes (#2985) (a9b1fa8)
  • webhook: bump @aws-sdk/client-sqs from 3.264.0 to 3.279.0 in /modules/webhook/lambdas/webhook (#3011) (9d1d3bd)

v2.2.2

24 Feb 11:05
a5c4637
Compare
Choose a tag to compare

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

17 Feb 10:32
ef548d9
Compare
Choose a tag to compare

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

10 Feb 13:55
ea79b70
Compare
Choose a tag to compare

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

  • webhook: Use @aws-sdk/client-sqs in the webhook Lambda (#2924) (b8898ef)

v2.1.1

12 Jan 15:46
af04380
Compare
Choose a tag to compare

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

06 Jan 07:48
e8aec5e
Compare
Choose a tag to compare

2.1.0 (2023-01-06)

Features

  • runners: Add delay to prevent ssm rate limits using setTimeout (#2823) (1461efd)

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

03 Jan 17:16
7d19a92
Compare
Choose a tag to compare

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

03 Jan 09:01
10a7603
Compare
Choose a tag to compare

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

  • Restore lost changes during merging next (#2824) (219cb9b)

v2.0.0

28 Dec 21:46
5fda09c
Compare
Choose a tag to compare

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.

  • 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)