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
Copy file name to clipboardExpand all lines: content/learning-paths/laptops-and-desktops/gh-arm-runners-win/_index.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,16 +7,16 @@ cascade:
7
7
8
8
minutes_to_complete: 20
9
9
10
-
who_is_this_for: This is an introductory tutorial for software developers interested in automating Windows application builds on Arm architecture using GitHub Actions.
10
+
who_is_this_for: This introductory tutorial is for software developers looking to automate Windows application builds on Arm architecture using GitHub Actions.
11
11
12
12
learning_objectives:
13
-
- Learn about GitHub Arm-hosted Windows runners.
14
-
- Understand how to configure workflows for Arm-hosted runners.
15
-
- Automate the build process of Windows applications using GitHub Actions.
13
+
- Describe GitHub Arm-hosted Windows runners.
14
+
- Configure workflows to run on Arm-hosted runners.
15
+
- Automate Windows application builds with GitHub Actions.
Copy file name to clipboardExpand all lines: content/learning-paths/laptops-and-desktops/gh-arm-runners-win/automate-win-app.md
+29-26Lines changed: 29 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,28 +6,31 @@ weight: 3
6
6
### FIXED, DO NOT MODIFY
7
7
layout: learningpathall
8
8
---
9
+
10
+
{{% notice Learning Tip %}}
9
11
In this section, you will learn how to automate the build process of a Windows application using GitHub Arm-hosted runners. You will use the application in the [Optimize Windows applications using Arm Performance Libraries Learning Path](/learning-paths/laptops-and-desktops/windows_armpl/).
12
+
{{% /notice %}}
10
13
11
-
### Overview of the Windows Application
14
+
### About the Windows Application
12
15
13
-
A basic overview of the application is provided here but for details on building the application refer to the [Optimize Windows applications using Arm Performance Libraries Learning Path](/learning-paths/laptops-and-desktops/windows_armpl/2-multithreading/).
16
+
This section provides a basic overview of the application. For detailed build instructions, see the [Optimize Windows applications using Arm Performance Libraries Learning Path](/learning-paths/laptops-and-desktops/windows_armpl/2-multithreading/).
14
17
15
-
The source code for the application that renders a rotating 3D cube to perform the calculations using different programming options is provided in this GitHub repository.
18
+
The source code for the rotating 3D cube application, which demonstrates multiple programming approaches to performing rotation calculations, is available in this GitHub repository.
16
19
17
20
```console
18
21
https://github.com/arm/SpinTheCubeInGDI
19
22
```
20
23
21
24
The application implements a spinning cube and consists of four key components:
22
-
-**Shape Generation**: Generates vertices for a sphere using a golden ratio-based algorithm.
23
-
-**Rotation Calculation**: Uses a rotation matrix to rotate the 3D shape around the X, Y, and Z axes.
24
-
-**Drawing**: Draws the transformed vertices of the shapes on the screen using a Windows API.
25
-
-**Performance Measurement**: Measures and displays the number of transforms per second.
25
+
-**Shape Generation**: generates vertices for a sphere using a golden ratio-based algorithm.
26
+
-**Rotation Calculation**: uses a rotation matrix to rotate the 3D shape around the X, Y, and Z axes.
27
+
-**Drawing**: draws the transformed vertices of the shapes on the screen using a Windows API.
28
+
-**Performance Measurement**: measures and displays the number of transforms per second.
26
29
27
30
The code has two options to calculate the rotation:
28
31
29
-
1. Multithreading: the application uses multithreading to improve performance by distributing the rotation calculations across multiple threads.
30
-
2. Arm Performance Libraries: the application uses optimized math library functions for the rotation calculations.
32
+
1.**Multithreading**: distributes rotation calculations across multiple threads to improve performance.
33
+
2.**Arm Performance Libraries**: uses Arm-optimized math functions to accelerate rotation calculations.
31
34
32
35
You will learn how to automate the build process for this application by using GitHub Actions with Arm-hosted Windows runners.
33
36
@@ -38,44 +41,44 @@ The [GitHub Actions workflow `msbuild.yml`](https://github.com/arm/SpinTheCubeIn
38
41
Below is an explanation of the steps in the workflow:
39
42
40
43
41
-
**Trigger Events**: The workflow runs when there is a push or pull request event on the main branch.
44
+
**Trigger Events**: the workflow runs when there is a push or pull request event on the main branch.
42
45
43
-
**Job Definition**: A single job named `build` is defined. It runs on the GitHub Arm-hosted Windows runner (`windows-11-arm`) as shown:
46
+
**Job Definition**: a single job named `build` is defined. It runs on the GitHub Arm-hosted Windows runner (`windows-11-arm`) as shown:
44
47
45
48
```console
46
49
jobs:
47
50
build:
48
51
runs-on: windows-11-arm
49
52
```
50
-
**Checkout Repository**: Uses the `actions/checkout@v4` action to fetch the code.
53
+
**Checkout Repository**: uses the `actions/checkout@v4` action to fetch the code.
51
54
52
-
**Add MSBuild to PATH**: Adds MSBuild tools for the build process using `microsoft/[email protected]`.
55
+
**Add MSBuild to PATH**: adds MSBuild tools for the build process using `microsoft/[email protected]`.
53
56
54
-
**Restore Dependencies**: Runs`nuget restore` to restore NuGet packages required by the solution.
57
+
**Restore Dependencies**: runs`nuget restore` to restore NuGet packages required by the solution.
55
58
56
-
**Create Download Directory**: Creates a directory to store downloaded files and verifies the Python version.
59
+
**Create Download Directory**: creates a directory to store downloaded files and verifies the Python version.
57
60
58
-
**Download ARM Performance Libraries**: Downloads the Windows installer for ARM Performance Libraries (APL) and verifies the downloaded files.
61
+
**Download ARM Performance Libraries**: downloads the Windows installer for ARM Performance Libraries (APL) and verifies the downloaded files.
59
62
60
-
**Install ARM Performance Libraries**: Installs the downloaded ARM Performance Libraries using `msiexec.exe` with a quiet mode and logs the process.
63
+
**Install ARM Performance Libraries**: installs the downloaded ARM Performance Libraries using `msiexec.exe` with a quiet mode and logs the process.
61
64
62
-
**Check Installation Success**: Verifies the success of the APL installation by checking the exit code and logs.
65
+
**Check Installation Success**: verifies the success of the APL installation by checking the exit code and logs.
63
66
64
-
**Build the Solution**: Runs MSBuild to build the solution with the specified configuration (Debug) and platform (ARM64).
67
+
**Build the Solution**: runs MSBuild to build the solution with the specified configuration (Debug) and platform (ARM64).
65
68
66
-
**Upload Build Artifact**: Uploads the built executable as an artifact using `actions/upload-artifact@v4`.
69
+
**Upload Build Artifact**: uploads the built executable as an artifact using `actions/upload-artifact@v4`.
67
70
68
-
This workflow automates the process of dependency management, environment setup, building the project, and storing the final artifact all using a GitHub Arm-hosted Windows runner.
71
+
This workflow automates dependency management, environment setup, project compilation, and artifact storage - all using a GitHub Arm-hosted Windows runner.
69
72
70
-
### Fork the repository and run the workflow
73
+
### Fork the Repository and Run the Workflow
71
74
72
-
To run the workflow, you can fork the repository and run the workflow in your GitHub account.
75
+
To run the workflow in your own GitHub account, start by forking the repository.
73
76
74
-
To fork the repository, go to the repository page on GitHub and click the `Fork` button in the top right corner. This will create a copy of the repository under your own GitHub account.
77
+
To fork the repository, go to the repository page on GitHub and click the **Fork** button in the top right corner. This will create a copy of the repository under your own GitHub account.
75
78
76
-
You can then run the workflow in your forked repository by navigating to the `Actions` tab and selecting the MSBuild workflow, then clicking `Run workflow`.
79
+
You can then run the workflow in your forked repository by navigating to the **Actions** tab and selecting the MSBuild workflow, then clicking **Run workflow**.
77
80
78
-
You can view the `Actions` logs in the repository for each step.
81
+
You can view the **Actions** logs in the repository for each step.
79
82

80
83
81
84
You have learned how to build a Windows application and upload the result as an artifact of your workflow using the GitHub Arm-hosted Windows runner.
Copy file name to clipboardExpand all lines: content/learning-paths/laptops-and-desktops/gh-arm-runners-win/introduction.md
+22-18Lines changed: 22 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,19 @@ weight: 2
6
6
### FIXED, DO NOT MODIFY
7
7
layout: learningpathall
8
8
---
9
-
GitHub Arm-hosted runners for Windows are now available in public preview, providing a powerful and efficient way to build, test, and deploy your Windows applications on Arm without the need for virtualization. These runners come with a Windows 11 Desktop image, equipped with many tools to get started with your workflows.
9
+
### Overview
10
+
11
+
GitHub now supports Arm-hosted Windows runners, making it easy to run workflows on Arm hardware without managing infrastructure yourself. This Learning Path introduces what they are, how to use them, and how to configure your own larger runner.
10
12
11
13
### What are GitHub Arm-hosted Runners?
12
14
13
15
Runners are the machines that execute jobs in a GitHub Actions workflow. An Arm-hosted runner is managed by GitHub and uses the Arm architecture, meaning you don't need to provide a server to run Actions workflows. GitHub provides the system and runs the Action workflows for you.
14
16
17
+
GitHub Arm-hosted runners for Windows are now available in public preview, providing a powerful and efficient way to build, test, and deploy your Windows applications on Arm without the need for virtualization. These runners come with a Windows 11 Desktop image, equipped with many tools to get started with your workflows.
18
+
15
19
Arm-hosted runners are available for public repositories at no cost, subject to [standard usage limits](https://docs.github.com/en/actions/administering-github-actions/usage-limits-billing-and-administration#usage-limits).
16
20
17
-
### How to use GitHub Arm-hosted Windows Runners?
21
+
### How Do I Use GitHub Arm-hosted Windows Runners?
18
22
19
23
To leverage the GitHub Windows Arm64 hosted runners, you need to use the following label in your public repository workflow runs:
20
24
@@ -23,58 +27,58 @@ runs-on: windows-11-arm
23
27
```
24
28
25
29
{{% notice Note %}}
26
-
This label will not work in private repositories, the workflow will fail if you use it.
30
+
This label does not work in private repositories - the workflow will fail if you use it.
27
31
{{% /notice %}}
28
32
29
33
30
-
### What types of GitHub-hosted runners are available?
34
+
### What Types of GitHub-hosted Runners Are Available?
31
35
32
-
Two types of GitHub-hosted runners are available; standard runners and larger runners. Larger runners are differentiated from standard runners because you can control the amount of RAM, the number of CPUs, and configure the allocated disk space. You can also use the Windows 11 Desktop Arm Image with larger runners. To use this image on larger runners, you will need to create a new runner.
36
+
GitHub offers two types of hosted runners: standard and larger runners. Larger runners give you more control—you can configure the amount of RAM, number of CPUs, and disk space. You can also use the Windows 11 Desktop Arm Image with larger runners. To use this image on larger runners, you will need to create a new runner.
33
37
34
-
### How can I create an GitHub Arm-hosted Windows larger runner?
38
+
### How Do I Create a Larger GitHub Arm-hosted Windows Runner?
35
39
36
40
Arm-hosted runners are created at the organization level.
37
41
38
-
Navigate to your organization and select the `Settings` tab. On the left pane, select `Actions->Runners`.
42
+
Navigate to your organization and select the **Settings** tab. On the left pane, select **Actions->Runners**.
39
43
40
-
On the `Runners` page, select the `New runner` drop-down on the top right, and then select `New GitHub-hosted runner`.
44
+
On the **Runners** page, select the **New runner** drop-down on the top right, and then select **New GitHub-hosted runner**.
41
45
42
46

43
47
44
-
Specify a name for the runner, this is the `runs-on` field in your workflows so make the name clear for others who use it.
48
+
Specify a name for the runner. This name is used in the `runs-on` field in your workflows, so make it clear for others who use it.
45
49
46
-
Choose Windows ARM64 for the platform and click `Save`.
50
+
Choose Windows ARM64 for the platform and click **Save**.
47
51
48
52

49
53
50
-
Specify the operating system image for the runner, select `Microsoft Windows 11 Desktop by Arm Limited`, and click `Save`.
54
+
Specify the operating system image for the runner, select **Microsoft Windows 11 Desktop by Arm Limited**, and click **Save**.
51
55
52
56

53
57
54
-
Select the size of the larger runner you need and click `Save`.
58
+
Select the size of the larger runner you need and click **Save**.
55
59
56
60

57
61
58
-
The `Capacity` section includes the maximum concurrency, which is the number of jobs to run at the same time.
62
+
The **Capacity** section includes the maximum concurrency, which is the number of jobs to run at the same time.
59
63
60
-
You can also set the runner group for this runner. The runner group controls the settings for this runner. Pay attention to the runner group as you may need to return to the runner group settings if any configuration changes are needed.
64
+
You can also set the runner group for this runner. The runner group controls this runner’s settings. You may need to return to the group if configuration changes are required.
61
65
62
66

63
67
64
-
Finally, click `Create runner`.
68
+
Finally, click **Create runner**.
65
69
66
70
Your new Arm-hosted Windows larger runner is ready to use. Remember the runner name so you can use it in your workflows with the `runs-on` label.
67
71
68
-
### How do I check the server hardware used by the Arm-hosted Windows Runners?
72
+
### How Do I Check the Server Hardware Used by the Arm-hosted Windows Runners?
69
73
70
74
The Arm-hosted runners are powered by Microsoft Azure Cobalt 100 processors, based on the Arm Neoverse N2, with 4 vCPUs and Armv9-A features, including Scalable Vector Extension 2 (SVE2).
71
75
72
-
The output from running the `wmic` command on the Arm-hosted runner is below.
76
+
The following output shows the result of running the `wmic` command on the Arm-hosted runner.
73
77
74
78

75
79
76
80
77
-
### How can I find the software installed on the Arm-hosted Windows Runners?
81
+
### How Can I Find the Software Installed on the Arm-hosted Windows Runners?
78
82
79
83
To find out more about the software installed on the Arm-hosted runners, visit the [GitHub Actions Partner Images repository](https://github.com/actions/partner-runner-images/). Check the [image documentation](https://github.com/actions/partner-runner-images/blob/main/images/arm-windows-11-image.md) for a list of software packages installed on the Windows 11 by Arm Limited image. You can also use this repository to report issues or request additional software.
0 commit comments