Skip to content

Commit 2bbbb95

Browse files
committed
[#86890] README: Running the template section
1 parent 7f08ff2 commit 2bbbb95

File tree

1 file changed

+46
-8
lines changed

1 file changed

+46
-8
lines changed

README.md

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,52 @@ It has a GitHub Actions CI set up for you so that you only need to provide the m
66

77
Fork this repo and [adapt the template to build a test case which shows the failure](#usage-to-report-bugs), and if you have an idea how to [provide a fix](#providing-fixes), implement it in this repo to showcase the desired solution and outcome, all nicely automated.
88

9+
> [!WARNING]
10+
> Remember to enable workflows on your forked repository, by going to `Actions` tab and clicking `I understand my workflows, go ahead and enable them`, otherwise CI will not be executed when you commit your patches.
11+
12+
## Using the template to make reproducible issue representation
13+
14+
Start by [expanding provided Robot test](https://renode.readthedocs.io/en/latest/introduction/testing.html#running-the-robot-test-script). Here you can reproduce the scenario which causes the issue.
15+
16+
Basic [Renode test script](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html) is already prepared for you to build upon. This script creates a single [Nucleo H533RE](https://designer.antmicro.com/library/devices/nucleo_h533re?software=zephyr|nucleo_h533re|) platform and loads Zephyr Hello World binary.
17+
18+
Feel free to modify both of these files and add other if needed e.g. by including [custom platform files](https://renode.readthedocs.io/en/latest/basic/describing_platforms.html#describing-platforms) or by [adding custom models](#overriding-existing-or-adding-new-peripheral-models-in-runtime).
19+
20+
If you already have [Renode's source code](https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html) and want to work with it, you can run the template by [running your modified Robot script](https://renode.readthedocs.io/en/latest/introduction/testing.html#running-the-robot-test-script)
21+
```
22+
renode-test test.robot
23+
```
24+
25+
Alternatively, you can just run Renode script file:
26+
```
27+
renode test.resc
28+
```
29+
30+
If you want to run this template's workflow locally, you can use [act](https://github.com/nektos/act), which allows you to run CI locally.
31+
Remember to enable `artifact-server-path` and specify the directory, to which artifacts will be uploaded. Otherwise, CI won't run successfully. Specifying `--action-offline-mode` caches Renode compilation speeding up the workflow.
32+
33+
```
34+
act --artifact-server-path=artifacts --action-offline-mode
35+
```
36+
37+
To change the Renode version which the CI is testing against, change `renode-revision` to specific commit SHA (or tag) in [CI plumbing](.github/workflows/test.yml)
38+
39+
Adapt the `.resc` and `.robot` files until you get the CI to fail (with the dreaded red cross showing up) in a way that you know should not happen, e.g. the simulated binary should be printing something to UART but apparently doesn't.
40+
41+
Report an issue in [Renode repository](https://github.com/renode/renode) and link to your fork of this repository, with any additional explanations needed.
42+
43+
Files in the `artifacts/` directory will automatically be saved as build artifacts so if you want to share e.g. logs, make sure they end up there after the CI executes.
44+
45+
## How does this template work
46+
47+
1. When you push a commit into your fork of this repository **AND enable workflows**, a GitHub Workflow (CI) is ran.
48+
2. `build.sh` is executed, allowing you to easily install additional dependencies
49+
3. Custom artifacts located in `artifacts` directory are uploaded
50+
4. Latest Renode is downloaded, which runs your `test.robot` test
51+
5. Test results are uploaded as `test-results-latest`
52+
6. Latest stable Renode is downloaded and tested against your Robot script
53+
7. Test results are uploaded as `test-results-stable`
54+
955
## Important files in this repo
1056

1157
* `.github/workflows` - the GH Actions plumbing; touch it only if you want to make some fundamental changes
@@ -15,14 +61,6 @@ Fork this repo and [adapt the template to build a test case which shows the fail
1561
* `test.resc` - Renode script file, you will most likely be changing this one
1662
* `test.robot` - [Robot](https://robotframework.org/) test file, most likely also requiring adaptations
1763

18-
## Usage to report bugs
19-
20-
Adapt the `.resc` and `.robot` files until you get the CI to fail (with the dreaded red cross showing up) in a way that you know should not happen, e.g. the simulated binary should be printing something to UART but apparently doesn't.
21-
22-
Report an issue in https://github.com/renode/renode and link to your clone, with any additional explanations needed.
23-
24-
Files in the `artifacts/` directory will automatically be saved as build artifacts so if you want to share e.g. logs, make sure they end up there after the CI executes.
25-
2664
## Providing fixes
2765

2866
Sometimes you may already know what the fix should be - this repository is an easy way to get your fix included in mainline Renode!

0 commit comments

Comments
 (0)