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: README.md
+46-8Lines changed: 46 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff 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
6
6
7
7
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.
8
8
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.
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
+
9
55
## Important files in this repo
10
56
11
57
*`.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
15
61
*`test.resc` - Renode script file, you will most likely be changing this one
16
62
*`test.robot` - [Robot](https://robotframework.org/) test file, most likely also requiring adaptations
17
63
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
-
26
64
## Providing fixes
27
65
28
66
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