Skip to content

Commit e1bface

Browse files
authored
Merge pull request #64 from felix-seifert/felix-seifert/description-of-tests
Describe how our tests can interfere with development and might require updates
2 parents ef8e4a3 + 587c059 commit e1bface

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

DEVELOPING.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Dev Guide
2+
3+
## Automated Tests
4+
5+
Before merging any PR into our `main` branch, we run automated tests on your modified source code. Besides some platform
6+
independent unit tests, several of these tests are platform dependent and require to be executed remotely on the GitHub
7+
build agents. These tests generate roadmaps on different OSs with your modified code and compare them to how these
8+
roadmaps should look like.
9+
10+
All the required tests are triggered automatically once you open or change a PR. To verify that the `main` branch hosts
11+
a correct version of the code, any merge to the `main` branch also triggers the tests.
12+
13+
### Change Example Roadmaps
14+
15+
Usually, the appearance of the newly generated roadmaps should not change between different releases of `Roadmapper`.
16+
However, some code changes purposefully change the appearance of the generated roadmaps. To let our tests succeed with
17+
the new version, we will then have to generate new example roadmaps on the GitHub build agents which accommodate these
18+
changes.
19+
20+
To generate these example roadmaps on different GitHub build agents, we have the manual workflow
21+
[generate_examples](.github/workflows/generate_examples.yaml). We can trigger it manually through the
22+
[Actions tab](https://github.com/csgoh/roadmapper/actions/workflows/generate_examples.yaml). In the dropdown to trigger
23+
a run of the workflow, we can also select on which branch the workflow should run, i.e. we can influence which code
24+
should be used to generate the example roadmaps.
25+
26+
As we usually want to generate new example roadmaps for code which is not present on the `main` branch, we have to run
27+
the workflow on the branch where the respective code changes are present. When ran, the workflow produces artifacts for
28+
the different platforms which contain the example roadmaps. These artifacts can be found in the summary of the
29+
respective workflow run. To use these new example roadmaps, we should download them and commit them manually to the
30+
directory [`src/tests/example_roadmaps`](src/tests/example_roadmaps).

0 commit comments

Comments
 (0)