Skip to content

Windows runners

This example will be removed soon. Please check the example for epehemeral runners to see how to setup Windows based runner.

This module shows how to create GitHub action runners using an Windows Runners. Lambda release will be downloaded from GitHub.

Usages

Steps for the full setup, such as creating a GitHub app can be found in the docs. First, download the Lambda releases from GitHub. Alternatively you can build the lambdas locally with Node or Docker, for which there is a build script available at <root>/.ci/build.sh. In the main.tf you can remove the location of the lambda zip files, the default location will work in this case.

Ensure you have set the version in lambdas-download/main.tf for running the example. The version needs to be set to a GitHub release version, see https://github.com/philips-labs/terraform-aws-github-runner/releases

cd lambdas-download
terraform init
terraform apply
cd ..

Before running Terraform, ensure the GitHub app is configured.

terraform init
terraform apply

Note: It can take upwards of ten minutes for a runner to start processing jobs, and about as long for logs to start showing up. It's recommend that scale the runners via a warm-up job and then keep them idled.

The module will try to update the GitHub App webhook and secret (only linux/mac). You can receive the webhook details by running:

terraform output webhook_secret

Requirements

Name Version
terraform >= 1.3.0
aws ~> 5.27
local ~> 2.0
random ~> 3.0

Providers

Name Version
random 3.6.0

Modules

Name Source Version
base ../base n/a
runners ../../ n/a
webhook_github_app ../../modules/webhook-github-app n/a

Resources

Name Type
random_id.random resource

Inputs

Name Description Type Default Required
github_app GitHub for API usages.
object({
id = string
key_base64 = string
})
n/a yes

Outputs

Name Description
runners n/a
webhook_endpoint n/a
webhook_secret n/a