gitpod-io/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
Maintainedlast commit Dec 17, 2025
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: gitpod-io/gce-github-runner@d5fc1669c36a44d972a234760f58433bbcc01801 # no releases — HEAD as of 2026-07-11

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
runner_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.nopublic-github-runners
machine_zoneGCE zonenoeurope-west1-b
machine_typeGCE machine type; https://cloud.google.com/compute/docs/machine-typesyesn2d-standard-32
disk_sizeVM disk size.no500GB
image_projectThe Google Cloud project against which all image and image family references will be resolved. nopublic-github-runners
imageSpecifies the name of the image that the disk will be initialized with. If not provided, will use the latest gh-runner-* image.no
image_familyThe image family for the operating system that the boot disk will be initialized with.no
labelRunner label. Can be set to override the VM name to recreate a runner with a specific label, e.g. to replace a runner that was shutdown. If set, 'task' will be ignored.no
scopesScopes granted to the VM, defaults to full access (cloud-platform).yescloud-platform
shutdown_timeoutShutdown grace period (in seconds).yes30s
taskAdditional context about the workflowyesdefault
gcp_credentialsGCP JSON credentialsyes
namedescription
labelUnique runner label. This label can be used to request a specific runner for the workflow job.
machine-zoneVM availability zone