|
| 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