Skip to content

Commit fe94a6d

Browse files
authored
Merge pull request #14 from ReinhardKeil/main
Add: Instructions to setup self-hosted runners on RPi
2 parents a5c3334 + f5d4b60 commit fe94a6d

5 files changed

Lines changed: 470 additions & 3 deletions

File tree

profile/CICD.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@ Modern embedded software development requires automated workflows that ensure co
88

99
![CI/CD Process Overview](CICD_Overview.png "CI/CD Process Overview")
1010

11+
[GitHub Actions](https://docs.github.com/en/actions) execute build or test jobs on runners. A `*.yml` file in a `.github/workflows` directory of a repository defines a set of tasks such as building and testing pull requests.
12+
13+
The repositories on [github.com/Arm-Examples](https://github.com/Arm-Examples) use topics to label:
14+
15+
- [cicd](https://github.com/search?q=topic%3Acicd+org%3AArm-Examples+fork%3Atrue&type=repositories) – repository with automated workflows.
16+
- [simulation](https://github.com/search?q=topic%3Asimulation+org%3AArm-Examples+fork%3Atrue&type=repositories) – repository with test on simulation.
17+
- [hardware](https://github.com/search?q=topic%3Ahardware+org%3AArm-Examples+fork%3Atrue&type=repositories) – repository with test on hardware target.
18+
19+
[Arm-Software/cmsis-actions](https://github.com/ARM-software/cmsis-actions) are reusable workflows that let you install tools and active software licenses. Use the instructions of these actions to enable other CI/CD systems such as Azure DevOps or GitLab.
20+
1121
## CI/CD Capabilities for Embedded Development
1222

1323
The underlying build system of [Keil Studio](https://www.keil.arm.com/) uses the [CMSIS-Toolbox](https://open-cmsis-pack.github.io/cmsis-toolbox/) and CMake. [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners) provide virtual machines for automated build and execution tests using simulation models, while [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) enable testing on actual target hardware. [CI](https://en.wikipedia.org/wiki/Continuous_integration) is streamlined with:
@@ -50,7 +60,7 @@ CI pipelines may store build artifact files, reports, and may further automate f
5060

5161
## HIL Testing with pyOCD
5262

53-
[Hardware-in-the-Loop (HIL)](https://en.wikipedia.org/wiki/Hardware-in-the-loop_simulation) testing is enabled with [self-hosted GitHub runners](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) that connect to Linux systems equipped with debug probes. Build artifacts (firmware images) are generated through automated build tests on GitHub-hosted runners, then deployed to self-hosted runners where pyOCD downloads the firmware to target hardware and executes the test suite.
63+
[Hardware-in-the-Loop (HIL)](https://en.wikipedia.org/wiki/Hardware-in-the-loop_simulation) testing is enabled with [self-hosted GitHub runners](RPI_GH_Runner.md) that connect to Linux systems equipped with debug probes. Build artifacts (firmware images) are generated through automated build tests on GitHub-hosted runners, then deployed to self-hosted runners where pyOCD downloads the firmware to target hardware and executes the test suite.
5464

5565
![HIL Integration](https://raw.githubusercontent.com/Arm-Examples/Safety-Example-Infineon-T2G/main/Doc/CI_HIL.png "HIL Integration")
5666

profile/ImageSource/images.pptx

24.9 KB
Binary file not shown.

profile/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Arm-Examples show the usage of Arm technology on various platforms.
77
- [Browse all repositories](https://github.com/orgs/Arm-Examples/repositories?q=archived%3Afalse)
88
- [Recently updated repositories](https://github.com/orgs/Arm-Examples/repositories?sort=updated&?q=archived%3Afalse)
99
- [Popular repositories (most stars)](https://github.com/orgs/Arm-Examples/repositories?sort=stargazers&?q=archived%3Afalse)
10-
- Click on "Most Used Topics" (Desktop Webside only)
10+
- Click on "Most used topics" (Desktop Webside only)
1111

1212
## Featured Examples for Keil MDK
1313

@@ -65,7 +65,7 @@ The [MDK Professional Edition](https://www.keil.arm.com/keil-mdk/#mdk-v6-edition
6565

6666
### CI/CD Automation (GitHub Actions)
6767

68-
Most of the above example projects include GitHub actions that run automated CI tests. The following projects help to get started with test automation. Read the section **[CI/CD](CICD.md)** to learn more.
68+
Most of the above example projects include GitHub actions that run automated CI tests. The following projects help to get started with test automation. Test can execute to [FVP simulation models](https://arm-software.github.io/AVH/main/simulation/html/index.html) or [hardware targets using a self-hosted runner](RPI_GH_Runner.md). Read the section **[CI/CD](CICD.md)** to learn more.
6969

7070
| Example | Hardware | Content |
7171
|:--------|:---------|:---------|

0 commit comments

Comments
 (0)