actions-marketplace-validations/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 GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Maintainedlast commit Jan 5, 2026
- License
- Apache 2.0
Pinned Snippet
uses: actions-marketplace-validations/related-sciences_gce-github-runner@ef1c8c958301f8e3f6ae247151b6e5fc3501f1d1 # no releases — HEAD as of 2026-07-13tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| token | GitHub auth token, needs `repo`/`public_repo` scope: https://docs.github.com/en/rest/reference/actions#self-hosted-runners. | yes | — |
| project_id | ID of the Google Cloud Platform project. If provided, this will configure gcloud to use this project ID. | no | — |
| service_account_key | The 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_ver | Version of the GitHub Runner. "latest" will resolve the latest version. | yes | latest |
| vm_name_prefix | Prefix of the name of created VM, final name is ${prefix}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT} | yes | gce-gh-runner |
| machine_zone | GCE zone | yes | us-east1-c |
| machine_type | GCE machine type; https://cloud.google.com/compute/docs/machine-types | yes | n1-standard-4 |
| disk_size | VM disk size. | no | — |
| network | Specifies the network that the VM instances are a part of. | no | — |
| subnet | Specifies 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_account | Service account of the VM, defaults to default compute service account. | no | — |
| image_project | The Google Cloud project against which all image and image family references will be resolved. | no | — |
| image | Specifies the name of the image that the disk will be initialized with. | no | — |
| image_family | The image family for the operating system that the boot disk will be initialized with. | no | — |
| preemptible | Use GCE preemptible VM instance; https://cloud.google.com/compute/docs/instances/preemptible | yes | false |
| ephemeral | Set GitHub runner to be ephemeral; https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling | yes | false |
| no_external_address | Disables external IP address for the worker | yes | false |
| scopes | Scopes granted to the VM, defaults to full access (cloud-platform). | yes | cloud-platform |
| shutdown_timeout | Shutdown grace period (in seconds). | yes | 30 |
| actions_preinstalled | Whether the GitHub actions have already been installed at `/actions-runner`. | yes | false |
| arm | Whether the GitHub actions should use arm64 binaries. | no | false |
| maintenance_policy_terminate | Set Google maintenance policy to TERMINATE. This is required for GPUs as they do ot support live-migration. | — | — |
| boot_disk_type | Boot disk type for the GCE instance (https://cloud.google.com/sdk/gcloud/reference/compute/disk-types/list) | no | — |
| min_cpu_platform | When specified, the VM will be scheduled on host with specified CPU architecture or a newer one. | yes | AUTOMATIC |
Outputs
| name | description |
|---|---|
| label | Unique runner label. This label can be used to request a specific runner for the workflow job. |