You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This application is **exclusively built for Google Cloud Platform (GCP)**, leveraging native services like **Google Compute Engine (GCE) Instance Templates** to manage **ephemeral** just-in-time self-hosted GitHub Actions Runners. Unlike generic solutions that merely "support" GCP, this project offers a deep, cloud-native integration designed specifically for GCP.
9
13
10
14
For the developer, it functions as a **drop-in replacement**: just add `gcp-` to your GitHub Actions workflow YAML file (e.g., replace `runs-on: ubuntu-latest` with `runs-on: gcp-ubuntu-latest`).
11
15
12
16
The architecture prioritizes **simplicity and auditability**, avoiding complex abstractions. All services are configured **regionally**, giving you full control over data sovereignty. This ensures that strictly regional requirements—such as keeping all infrastructure and data within Germany—are easily met.
13
17
14
-
## Features
18
+
## ✨ Features
15
19
16
20
***Native Hardware Support**: Easily switch between **x86/64** (Intel, AMD) and **ARM** (Ampere Altra, Google Axion) architectures.
17
21
***Flexible Instance Sizes**: Choose the exact CPU and RAM needed for your workload using different GCE machine types.
@@ -23,19 +27,25 @@ The architecture prioritizes **simplicity and auditability**, avoiding complex a
23
27
***Secure Configuration**: Automatically stores credentials in Google Secret Manager.
24
28
***Cost Effective**: Runners are only active when jobs are queued.
25
29
26
-
## Video Tutorial
30
+
## 📺 Video Tutorial
27
31
28
32
[](https://www.youtube.com/watch?v=TBCL2Z7ryzA)
29
33
30
34
Click the image to watch the 3-minute video tutorial.
31
35
32
-
## Prerequisites
36
+
## 🚀 Quick Start (10 Minutes)
33
37
34
-
All requirements are pre-installed in [Google Cloud Shell](https://shell.cloud.google.com/), making it the recommended environment for deployment.
35
-
*Click "Trust repo" during the first run in Cloud Shell.*
38
+
The fastest way to get started is using **Google Cloud Shell**.
39
+
40
+
1.**Open in Cloud Shell**:
36
41
37
-
[](https://shell.cloud.google.com/cloudshell/open?shellonly=true&ephemeral=false&cloudshell_git_repo=https://github.com/Cyclenerd/google-cloud-github-runner&cloudshell_git_branch=master&cloudshell_tutorial=CLOUD_SHELL_TUTORIAL.md)
42
+
[](https://shell.cloud.google.com/cloudshell/open?shellonly=true&ephemeral=false&cloudshell_git_repo=https://github.com/Cyclenerd/google-cloud-github-runner&cloudshell_git_branch=master&cloudshell_tutorial=CLOUD_SHELL_TUTORIAL.md)
43
+
2.**Trust the Repo**: Click "Trust repo" when prompted to enable the tutorial features.
44
+
3.**Follow the Tutorial**: A step-by-step guide will open directly in your terminal.
38
45
46
+
## 📋 Prerequisites
47
+
48
+
All requirements are pre-installed in [Google Cloud Shell](https://shell.cloud.google.com/), making it the recommended environment for deployment.
39
49
40
50
Alternatively, you can install the tools locally on your machine.
41
51
@@ -47,7 +57,7 @@ Alternatively, you can install the tools locally on your machine.
47
57
***Terraform**: [Download and install](https://developer.hashicorp.com/terraform/downloads), than use for easy Google Cloud services deployment.
48
58
***Python 3.14+**: Only needed for local development and changes to the code.
49
59
50
-
## Cost Control and Predictability
60
+
## ⚠️ Cost Control and Predictability
51
61
52
62
> [!WARNING]
53
63
> **This project will incur Google Cloud costs.** This application creates and manages Google Compute Engine instances, which generate billable charges. Key cost considerations:
@@ -94,7 +104,7 @@ You can estimate costs using the [Google Cloud Pricing Calculator](https://cloud
94
104
***Private Networking:** Runners operate within your Google Cloud VPC, allowing secure access to private internal resources or VPN-connected services.
95
105
***Flexible Storage:** Easily provision high-capacity disks for builds with large dependencies or artifacts, overcoming the storage limitations of GitHub-managed runners.
96
106
97
-
## Deployment to Google Cloud
107
+
## 🛠️ Deployment to Google Cloud
98
108
99
109
Deploy the entire stack using Terraform:
100
110
@@ -113,7 +123,7 @@ terraform apply
113
123
114
124
For detailed deployment instructions and configuration options, see [gcp/README.md](gcp/README.md).
115
125
116
-
## Configuration & Setup
126
+
## ⚙️ Configuration & Setup
117
127
118
128
Complete the setup via the provided web interface:
119
129
@@ -139,7 +149,7 @@ Complete the setup via the provided web interface:
139
149
- run: echo "Hello from Google Cloud!"
140
150
```
141
151
142
-
## Architecture
152
+
## 🏗️ Architecture
143
153
144
154
```mermaid
145
155
graph TD
@@ -195,7 +205,7 @@ graph TD
195
205
5.**Webhook: Job Completed**: Instance deregisters with GitHub and is deleted.
196
206
6.**Delete Runner Instance (VM)**: App deletes the GCE instance upon `workflow_job.completed`.
This project is an independent Open Source initiative and is not affiliated with, endorsed by, or associated with GitHub or Google Cloud. All trademarks and registered trademarks are the property of their respective owners.
0 commit comments