related-sciences/Ephemeral GCE GitHub self-hosted runner

Creates ephemeral GCE based GitHub Action self-hosted runner. It uses startup script to bootstrap the VM.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
tokenGitHub auth token, needs `repo`/`public_repo` scope: https://docs.github.com/en/rest/reference/actions#self-hosted-runners.yes
project_idID of the Google Cloud Platform project. If provided, this will configure gcloud to use this project ID.no
service_account_keyThe service account key which will be used for authentication credentials. This key should be created and stored as a secret. Should be JSON key.no
runner_verVersion of the GitHub Runner. "latest" will resolve the latest version.yeslatest
vm_name_prefixPrefix of the name of created VM, final name is ${prefix}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}yesgce-gh-runner
machine_zoneGCE zoneyesus-east1-c
machine_typeGCE machine type; https://cloud.google.com/compute/docs/machine-typesyesn1-standard-4
disk_sizeVM disk size.no
networkSpecifies the network that the VM instances are a part of.no
subnetSpecifies the subnet that the VM instances are a part of (must be part of network).no
accelerator[count=COUNT],[type=TYPE] Attaches accelerators (e.g. GPUs) to the instances. TYPE The specific type (e.g. nvidia-tesla-k80 for nVidia Tesla K80) of accelerator to attach to the instances. Use 'gcloud compute accelerator-types list' to learn about all available accelerator types. COUNT Number of accelerators to attach to each instance. The default value is 1. no
runner_service_accountService account of the VM, defaults to default compute service account.no
image_projectThe Google Cloud project against which all image and image family references will be resolved. no
imageSpecifies the name of the image that the disk will be initialized with.no
image_familyThe image family for the operating system that the boot disk will be initialized with.no
preemptibleUse GCE preemptible VM instance; https://cloud.google.com/compute/docs/instances/preemptibleyesfalse
ephemeralSet GitHub runner to be ephemeral; https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscalingyesfalse
no_external_addressDisables external IP address for the workeryesfalse
scopesScopes granted to the VM, defaults to full access (cloud-platform).yescloud-platform
shutdown_timeoutShutdown grace period (in seconds).yes30
actions_preinstalledWhether the GitHub actions have already been installed at `/actions-runner`.yesfalse
armWhether the GitHub actions should use arm64 binaries.nofalse
maintenance_policy_terminateSet Google maintenance policy to TERMINATE. This is required for GPUs as they do ot support live-migration.
boot_disk_typeBoot disk type for the GCE instance (https://cloud.google.com/sdk/gcloud/reference/compute/disk-types/list)no
min_cpu_platformWhen specified, the VM will be scheduled on host with specified CPU architecture or a newer one.yesAUTOMATIC
namedescription
labelUnique runner label. This label can be used to request a specific runner for the workflow job.