Skip to content

Commit 4a422d3

Browse files
Content dev
1 parent 1f04511 commit 4a422d3

File tree

1 file changed

+11
-99
lines changed
  • content/learning-paths/servers-and-cloud-computing/github-on-arm

1 file changed

+11
-99
lines changed

content/learning-paths/servers-and-cloud-computing/github-on-arm/deploy.md

Lines changed: 11 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ layout: learningpathall
88

99
## Overview
1010

11-
This section showsyou how to deploy a GitHub Actions self-hosted runner on your Arm64 Google Axion C4A instance. You will install Git and GitHub CLI, authenticate with GitHub, and register the runner so CI/CD workflows run on Arm infrastructure.
11+
This section shows you how to deploy a GitHub Actions self-hosted runner on your Arm64 Google Axion C4A instance. You will install Git and GitHub CLI, authenticate with GitHub, and register the runner so CI/CD workflows run on Arm infrastructure.
1212

1313
## Set up your development environment
1414

@@ -34,11 +34,11 @@ Authenticate with GitHub:
3434
gh auth login
3535
```
3636

37-
Follow the prompts and accept the defaults.
37+
Follow the prompts and accept the defaults:
3838

3939
![Login to GitHub alt-text#center](./images/gh-auth.png "Screenshot of GitHub authentication prompt")
4040

41-
{{% notice %}}
41+
{{% notice Note %}}
4242
If you get an error opening the browser on your virtual machine, you can navigate to the following URL on the host machine and enter the device code displayed in the CLI of the virtual machine:
4343
```
4444
https://github.com/login/device
@@ -51,7 +51,7 @@ When authentication succeeds, you will see a confirmation screen in your browser
5151

5252
## Test GitHub CLI and Git
5353

54-
The command below creates a new public GitHub repository named **test-repo** using the GitHub CLI. It sets the repository visibility to public, meaning that anyone can view it:
54+
The command below creates a new public GitHub repository named `test-repo` using the GitHub CLI. It sets the repository visibility to public, meaning that anyone can view it:
5555

5656
```console
5757
gh repo create test-repo --public
@@ -71,15 +71,14 @@ You should see an output similar to:
7171
If the **Actions** tab is not visible, enable Actions under **Settings****Actions****General** by selecting **Allow all actions and reusable workflows**.
7272
{{% /notice %}}
7373

74-
![runner](./images/newsh-runner.png)
74+
![runner alt-text#center](./images/newsh-runner.png "Screenshot of repository Runners settings page")
7575

76-
Then, click on the **New self-hosted runner** button. In the **Add new self-hosted runner** section. Select Linux for the operating system, and choose ARM64 for the architecture. This will generate commands to set up the runner. Copy and run them on your Google Axion C4A virtual machine.
76+
Click **New self-hosted runner**. In the setup panel, choose `Linux` as the operating system and `ARM64` as the architecture. Copy the generated setup commands and run them on your C4A VM.
77+
78+
![new-runner alt-text#center](./images/new-runner.png "Screenshot of the Add new self-hosted runner panel")
7779

78-
![new-runner](./images/new-runner.png)
79-
80-
The final command links the runner to your GitHub repo using a one-time registration token.
81-
82-
During the command’s execution, you will be prompted to provide the runner group, the name of the runner, and the work folder name. You can accept the defaults by pressing **Enter** at each step. The output will resemble as below:
80+
The final command links the runner to your GitHub repository using a one-time registration token.
81+
During setup, you will be prompted for the runner group, runner name, and work folder. Press **Enter** at each prompt to accept the defaults. The output should look similar to:
8382

8483
```output
8584
--------------------------------------------------------------------------------
@@ -119,94 +118,7 @@ You should see an output similar to:
119118
```
120119
The runner will now be visible in the GitHub actions:
121120

122-
![final-runner](./images/final-runner.png)
121+
![final-runner alt-text#center](./images/final-runner.png "Screenshot of runner visible in GitHub")
123122

124123
For now, you can terminate the `./run.sh` command with `Ctrl+C`. Move on to the next section to set up a simple web server using the runner.
125-
](./images/gh-auth.png)
126-
127-
{{% notice %}}
128-
If you get an error opening the browser on your virtual machine, you can navigate to the following URL on the host machine.
129-
```
130-
https://github.com/login/device
131-
```
132-
From there, you can enter the code displayed in the CLI of the virtual machine.
133-
{{% /notice %}}
134-
135-
If the log in was successful, you will see the following confirmation in your browser window.
136-
137-
![GitHub UI](./images/login-page.png)
138-
139-
### Test GitHub CLI and Git
140-
141-
The command below creates a new public GitHub repository named **test-repo** using the GitHub CLI. It sets the repository visibility to public, meaning anyone can view it
142-
143-
```console
144-
gh repo create test-repo --public
145-
```
146-
You should see an output similar to:
147-
```output
148-
✓ Created repository <your-github-account>/test-repo on GitHub
149-
https://github.com/<your-github-account>/test-repo
150-
```
151-
152-
153-
### Configure the Self-Hosted Runner
154-
155-
* Go to your repository's **Settings > Actions**, and under the **Runners** section
156-
* Click on **Add Runner** or view existing self-hosted runners.
157-
158-
{{% notice Note %}}
159-
If the **Actions** tab is not visible, ensure Actions are enabled by navigating to **Settings > Actions > General**, and select **Allow all actions and reusable workflows**.
160-
{{% /notice %}}
161-
162-
![runner](./images/newsh-runner.png)
163124

164-
Then, click on the **New self-hosted runner** button. In the **Add new self-hosted runner** section. Select Linux for the operating system, and choose ARM64 for the architecture. This will generate commands to set up the runner. Copy and run them on your Google Axion C4A virtual machine.
165-
166-
![new-runner](./images/new-runner.png)
167-
168-
The final command links the runner to your GitHub repo using a one-time registration token.
169-
170-
During the command’s execution, you will be prompted to provide the runner group, the name of the runner, and the work folder name. You can accept the defaults by pressing **Enter** at each step. The output will resemble as below:
171-
172-
```output
173-
--------------------------------------------------------------------------------
174-
| ____ _ _ _ _ _ _ _ _ |
175-
| / ___(_) |_| | | |_ _| |__ / \ ___| |_(_) ___ _ __ ___ |
176-
| | | _| | __| |_| | | | | '_ \ / _ \ / __| __| |/ _ \| '_ \/ __| |
177-
| | |_| | | |_| _ | |_| | |_) | / ___ \ (__| |_| | (_) | | | \__ \ |
178-
| \____|_|\__|_| |_|\__,_|_.__/ /_/ \_\___|\__|_|\___/|_| |_|___/ |
179-
| |
180-
| Self-hosted runner registration |
181-
| |
182-
--------------------------------------------------------------------------------
183-
184-
# Authentication
185-
186-
√ Connected to GitHub
187-
# Runner Registration
188-
Enter the name of the runner group to add this runner to: [press Enter for Default]
189-
Enter the name of runner: [press Enter for lpprojectubuntuarm64]
190-
This runner will have the following labels: 'self-hosted', 'Linux', 'ARM64'
191-
Enter any additional labels (ex. label-1,label-2): [press Enter to skip]
192-
√ Runner successfully added
193-
√ Runner connection is good
194-
```
195-
196-
Finally, start the runner by executing:
197-
```console
198-
./run.sh
199-
```
200-
You should see an output similar to:
201-
202-
```output
203-
√ Connected to GitHub
204-
205-
Current runner version: '2.326.0'
206-
2025-07-15 05:51:13Z: Listening for Jobs
207-
```
208-
The runner will now be visible in the GitHub actions:
209-
210-
![final-runner](./images/final-runner.png)
211-
212-
For now, you can terminate the `./run.sh` command with `Ctrl+C`. Move on to the next section to set up a simple web server using the runner.

0 commit comments

Comments
 (0)