From cebc79f0e5b93c62a06894a0cde433156ed0a286 Mon Sep 17 00:00:00 2001 From: edersonbrilhante Date: Fri, 6 Mar 2026 15:04:46 +0100 Subject: [PATCH 1/4] chore: allow to use local cache in ec2 lambdas --- modules/platform/ec2_deployment/main.tf | 6 +++--- .../scripts/download_lambdas.sh | 20 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/modules/platform/ec2_deployment/main.tf b/modules/platform/ec2_deployment/main.tf index fd504efb..e8bfdc28 100644 --- a/modules/platform/ec2_deployment/main.tf +++ b/modules/platform/ec2_deployment/main.tf @@ -68,9 +68,9 @@ module "runners" { # Retention period for the logs in days. logging_retention_in_days = var.runner_configs.logging_retention_in_days - webhook_lambda_zip = "/tmp/${var.runner_configs.prefix}/webhook.zip" - runner_binaries_syncer_lambda_zip = "/tmp/${var.runner_configs.prefix}/runner-binaries-syncer.zip" - runners_lambda_zip = "/tmp/${var.runner_configs.prefix}/runners.zip" + webhook_lambda_zip = "${data.external.download_lambdas.result.path}/webhook.zip" + runner_binaries_syncer_lambda_zip = "${data.external.download_lambdas.result.path}/runner-binaries-syncer.zip" + runners_lambda_zip = "${data.external.download_lambdas.result.path}/runners.zip" # Configure the various types of runners we provide, along with on-demand # versus standby pools, etc. diff --git a/modules/platform/ec2_deployment/scripts/download_lambdas.sh b/modules/platform/ec2_deployment/scripts/download_lambdas.sh index 1b154ec7..9591d2c6 100755 --- a/modules/platform/ec2_deployment/scripts/download_lambdas.sh +++ b/modules/platform/ec2_deployment/scripts/download_lambdas.sh @@ -9,12 +9,18 @@ fi DOWNLOAD_PATH="$1" VERSION="$2" -rm -rf "$DOWNLOAD_PATH" -mkdir -p "$DOWNLOAD_PATH" +if [ -n "$USE_CACHE" ] && [ -n "$CACHE_PATH" ] && [ -d "$CACHE_PATH" ]; then + echo "USE_CACHE is set and $CACHE_PATH exists, skipping download." >&2 + DOWNLOAD_PATH="$CACHE_PATH" + VERSION="local-cache" +else + rm -rf "$DOWNLOAD_PATH" + mkdir -p "$DOWNLOAD_PATH" -# Download files to the specified director -wget --no-verbose -P "$DOWNLOAD_PATH" "https://github.com/github-aws-runners/terraform-aws-github-runner/releases/download/${VERSION}/runner-binaries-syncer.zip" -wget --no-verbose -P "$DOWNLOAD_PATH" "https://github.com/github-aws-runners/terraform-aws-github-runner/releases/download/${VERSION}/runners.zip" -wget --no-verbose -P "$DOWNLOAD_PATH" "https://github.com/github-aws-runners/terraform-aws-github-runner/releases/download/${VERSION}/webhook.zip" + # Download files to the specified directory + wget --no-verbose -P "$DOWNLOAD_PATH" "https://github.com/github-aws-runners/terraform-aws-github-runner/releases/download/${VERSION}/runner-binaries-syncer.zip" + wget --no-verbose -P "$DOWNLOAD_PATH" "https://github.com/github-aws-runners/terraform-aws-github-runner/releases/download/${VERSION}/runners.zip" + wget --no-verbose -P "$DOWNLOAD_PATH" "https://github.com/github-aws-runners/terraform-aws-github-runner/releases/download/${VERSION}/webhook.zip" +fi -echo -n "{\"version\":\"${VERSION}\"}" +echo -n "{\"version\":\"${VERSION}\",\"path\":\"${DOWNLOAD_PATH}\"}" From 56c2355a8ed98420cd1a8b57ed76bb35ba812406 Mon Sep 17 00:00:00 2001 From: edersonbrilhante Date: Fri, 6 Mar 2026 16:01:45 +0100 Subject: [PATCH 2/4] feat: add support to use input use_dedicated_host --- examples/templates/tenant/tenant/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/templates/tenant/tenant/config.yml b/examples/templates/tenant/tenant/config.yml index bd5a2d1f..b7a84dca 100644 --- a/examples/templates/tenant/tenant/config.yml +++ b/examples/templates/tenant/tenant/config.yml @@ -41,6 +41,9 @@ ec2_runner_specs: subnet_ids: - subnet-0abc1234def567890 max_instances: + placement: + license_specifications: + use_dedicated_host: instance_types: - pool_config: From bad4c8eef12e7f1cbe2655ee9514f1f308a0288d Mon Sep 17 00:00:00 2001 From: edersonbrilhante Date: Fri, 6 Mar 2026 16:06:01 +0100 Subject: [PATCH 3/4] chore: use branch feat-ec2-dynamic-config --- modules/platform/ec2_deployment/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/platform/ec2_deployment/main.tf b/modules/platform/ec2_deployment/main.tf index e8bfdc28..48ee0e39 100644 --- a/modules/platform/ec2_deployment/main.tf +++ b/modules/platform/ec2_deployment/main.tf @@ -39,7 +39,7 @@ data "external" "download_lambdas" { module "runners" { - source = "git::https://github.com/edersonbrilhante/terraform-aws-github-runner.git//modules/multi-runner?ref=feat-macos-support" + source = "git::https://github.com/edersonbrilhante/terraform-aws-github-runner.git//modules/multi-runner?ref=feat-ec2-dynamic-config" aws_region = var.aws_region From e0e78a5e98ea0d8e46c65d59c80486da312ff920 Mon Sep 17 00:00:00 2001 From: edersonbrilhante Date: Mon, 9 Mar 2026 14:40:39 +0100 Subject: [PATCH 4/4] feat: use branch feat-macos-support --- examples/templates/tenant/tenant/config.yml | 16 ++++++---------- modules/platform/ec2_deployment/main.tf | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/examples/templates/tenant/tenant/config.yml b/examples/templates/tenant/tenant/config.yml index b7a84dca..ac8b8b6f 100644 --- a/examples/templates/tenant/tenant/config.yml +++ b/examples/templates/tenant/tenant/config.yml @@ -29,21 +29,17 @@ ec2_runner_specs: ami_kms_key_arn: runner_os: runner_architecture: - runner_user: ubuntu + runner_user: placement: - host_resource_group_arn: arn:aws:resource-groups:eu-west-1:123456789012:group/acme-dedicated-hosts + host_resource_group_arn: tenancy: host - availability_zone: eu-west-1b - license_specifications: - - license_configuration_arn: arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0 - use_dedicated_host: true - vpc_id: vpc-0abc1234def567890 - subnet_ids: - - subnet-0abc1234def567890 + availability_zone: max_instances: - placement: license_specifications: use_dedicated_host: + vpc_id: + subnet_ids: + - instance_types: - pool_config: diff --git a/modules/platform/ec2_deployment/main.tf b/modules/platform/ec2_deployment/main.tf index 48ee0e39..e8bfdc28 100644 --- a/modules/platform/ec2_deployment/main.tf +++ b/modules/platform/ec2_deployment/main.tf @@ -39,7 +39,7 @@ data "external" "download_lambdas" { module "runners" { - source = "git::https://github.com/edersonbrilhante/terraform-aws-github-runner.git//modules/multi-runner?ref=feat-ec2-dynamic-config" + source = "git::https://github.com/edersonbrilhante/terraform-aws-github-runner.git//modules/multi-runner?ref=feat-macos-support" aws_region = var.aws_region