Skip to content

Commit 1849796

Browse files
Merge pull request #1546 from jasonrandrews/review
Update GitHub Arm-hosted runner Learning Path for public repositories.
2 parents f3e281b + d33fefc commit 1849796

File tree

7 files changed

+89
-32
lines changed

7 files changed

+89
-32
lines changed
83.5 KB
Loading

content/learning-paths/cross-platform/github-arm-runners/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ learning_objectives:
1010
- Use GitHub Actions to automate image builds.
1111

1212
prerequisites:
13-
- A GitHub account with a Team or Enterprise Cloud plan.
13+
- A GitHub account (a Team or Enterprise Cloud plan is required for private repositories).
1414
- A Docker Hub account.
1515

1616
author_primary: Jason Andrews
1717

1818
### Tags
1919
skilllevels: Introductory
20-
subjects: Containers and Virtualization
20+
subjects: CI-CD
2121
armips:
2222
- Neoverse
2323
operatingsystems:

content/learning-paths/cross-platform/github-arm-runners/_next-steps.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ recommended_path: "/learning-paths/cross-platform/docker-build-cloud/"
1717
# General online references (type: website)
1818

1919
further_reading:
20+
- resource:
21+
title: Linux arm64 hosted runners now available for free in public repositories
22+
link: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
23+
type: documentation
2024
- resource:
2125
title: Using GitHub-hosted runners
2226
link: https://docs.github.com/en/actions/using-github-hosted-runners
2327
type: documentation
24-
- resource:
25-
title: Supercharge your CI/CD with Arm Runners in GitHub Actions
26-
link: https://www.youtube.com/watch?v=vrr_OgMk458
27-
type: video
2828
- resource:
2929
title: Arm64 on GitHub Actions Powering faster, more efficient build systems
3030
link: https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/

content/learning-paths/cross-platform/github-arm-runners/actions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: "Run GitHub Actions jobs on the Arm-hosted runner"
33

4-
weight: 3
4+
weight: 5
55

66
layout: "learningpathall"
77
---
88

99
## Use GitHub Actions
1010

11-
You can use GitHub Actions to build multi-architecture images by using your new Arm-hosted runner alongside a standard runner by creating a workflow file.
11+
You can use GitHub Actions to build multi-architecture images by creating a workflow file and using Arm-hosted runners.
1212

1313
## Create a new GitHub repository
1414

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: "Build options for multi-architecture container images"
3+
4+
weight: 2
5+
6+
layout: "learningpathall"
7+
---
8+
9+
## How can I build multi-architecture container images?
10+
11+
Building multi-architecture container images for complex projects is challenging.
12+
13+
There are two common ways to build multi-architecture images, and both are explained in [Learn how to use Docker](/learning-paths/cross-platform/docker/).
14+
15+
### Use instruction emulation
16+
17+
The first method uses instruction emulation. You can learn about this method in [Build multi-architecture images with Docker buildx](/learning-paths/cross-platform/docker/buildx/). The drawback of emulation is slow performance, especially for complex builds which involve tasks such as compiling large C++ applications.
18+
19+
### Use a manifest and multiple computers
20+
21+
The second method uses multiple computers, one for each architecture, and joins the images to create a multi-architecture image using Docker manifest. You can learn about this method in [Use Docker manifest to create multi-architecture images](/learning-paths/cross-platform/docker/manifest/). The drawback of the manifest method is its complexity as it requires multiple systems.
22+
23+
### Arm-hosted runners
24+
25+
Arm-hosted runners from GitHub provide a way to create multi-architecture images with higher performance and lower complexity compared to the two methods described above.
26+
27+
When you use Arm-hosted runners, you don't need to worry about self-hosting (managing servers) or instruction emulation (slow performance).
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "Arm-hosted runners for public repositories"
3+
4+
weight: 3
5+
6+
layout: "learningpathall"
7+
---
8+
9+
## What are Arm-hosted runners?
10+
11+
Runners are the machines that execute jobs in a GitHub Actions workflow. An Arm-hosted runner is a runner that is managed by GitHub and uses the Arm architecture. This means that you don't need to provide a server to run Actions workflows. GitHub provides the system and runs the Action workflows for you.
12+
13+
Arm-hosted runners are available for public and private repositories.
14+
15+
If you have a free plan, Arm-hosted runners are available in public repositories at no cost, subject to standard usage limits.
16+
17+
You can use Arm-hosted runners in private repositories with a Teams or Enterprise Cloud account (covered on the next page).
18+
19+
## What kind of server hardware is used by Arm-hosted runners?
20+
21+
You may have software that relies on Arm architecture features. Arm-hosted runners are powered by Cobalt 100 processors, based on the Arm Neoverse N2. The free runners have 4 vCPUs and Armv9-A features including Scalable Vector Extension 2 (SVE2).
22+
23+
The output of the `lscpu` command is below.
24+
25+
![Arm-hosted runner info #center](_images/lscpu.png)
26+
27+
## What do I need to change in my workflow to use Arm-hosted runners?
28+
29+
To use Arm-hosted Linux runners, use the `ubuntu-22.04-arm` and `ubuntu-24.04-arm` labels in your public repository workflow runs.
30+
31+
For example, if you have a workflow file with:
32+
33+
```console
34+
runs-on: ubuntu-24.04
35+
```
36+
37+
You can replace it with the Arm-hosted runner:
38+
39+
```console
40+
runs-on: ubuntu-24.04-arm
41+
```
42+
43+
## How can I find out more about the software installed on the Arm-hosted runners?
44+
45+
You can look at the [GitHub Actions Partner Images repository](https://github.com/actions/partner-runner-images/) for information about the runner images and installed software.
46+
47+
You can also use the repository to report issues or request additional software be added to the images.
48+
49+
50+

content/learning-paths/cross-platform/github-arm-runners/runner.md

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,16 @@
11
---
2-
title: "Create a new Arm-hosted runner"
2+
title: "Create a new Arm-hosted runner for private repositories"
33

4-
weight: 2
4+
weight: 4
55

66
layout: "learningpathall"
77
---
88

9-
## How can I build multi-architecture container images?
9+
## Can I use Arm-hosted runners for private repositories?
1010

11-
Building multi-architecture container images for complex projects is challenging.
11+
Yes, you can use Arm-hosted runners in private repositories.
1212

13-
There are two common ways to build multi-architecture images, and both are explained in [Learn how to use Docker](/learning-paths/cross-platform/docker/).
14-
15-
The first method uses instruction emulation. You can learn about this method in [Build multi-architecture images with Docker buildx](/learning-paths/cross-platform/docker/buildx/). The drawback of emulation is slow performance, especially for complex builds which involve tasks such as compiling large C++ applications.
16-
17-
The second method uses multiple machines, one for each architecture, and joins the images to create a multi-architecture image using Docker manifest. You can learn about this method in [Use Docker manifest to create multi-architecture images](/learning-paths/cross-platform/docker/manifest/). The drawback of the manifest method is its complexity as it requires multiple machines.
18-
19-
Arm-hosted runners from GitHub provide a way to create multi-architecture images with higher performance and lower complexity compared to the two methods described above.
20-
21-
When you use Arm-hosted runners, you don't need to worry about self-hosting (managing servers) or instruction emulation (slow performance).
22-
23-
## What are Arm-hosted runners?
24-
25-
Runners are the machines that execute the jobs in a GitHub Actions workflow. An Arm-hosted runner is a runner that is managed by GitHub and uses the Arm architecture. This means that you don't need to provide a server to run Actions workflows. GitHub provides the system and runs the Action workflows for you.
26-
27-
Arm-hosted runners are available for Linux and Windows.
28-
29-
This Learning Path uses Linux.
30-
31-
{{% notice Note %}}
3213
You must have a Team or Enterprise Cloud plan to use Arm-hosted runners.
33-
{{% /notice %}}
3414

3515
Two types of GitHub-hosted runners are available; standard runners, and larger runners. Larger runners are differentiated from standard runners because users can control the amount of RAM, the number of CPUs, and configure the allocated disk space. Larger runners have additional options for a static IP address and the ability to group runners and control settings across the runner group. Currently, Arm-hosted runners are a type of larger runner.
3616

0 commit comments

Comments
 (0)