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/automate-win-app.md
+19-16Lines changed: 19 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,12 @@ 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
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/).
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
@@ -38,32 +41,32 @@ 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
71
This workflow automates dependency management, environment setup, project compilation, and artifact storage - all using a GitHub Arm-hosted Windows runner.
0 commit comments