Developer Guide¶
Coding Style¶
- Please stick to the following coding style for easier code readability:
class variables start with an underscore and lowercase letters e.g.
_foo
functions start with a capital letter e.g.
GetSettings()
any variable/function names have capital letters at each individual word e.g.
GetAllCellsAdjacentTo(Cell i)
Please also use the provided code/.clang-format
style format to format your code before pushing your latest commits.
Some editors offer to automatically apply the style format upon saving a file (e.g. Qtcreator
).
Continuous Integration (CI)¶
Every commit on the master branch will trigger a build test and unit tests. If either of the tests fail you will get an email, telling you the ‘pipeline’ has failed. If this happens, visit the ‘CI/CD’ tab and check what went wrong and try to fix the error as soon as possible. Creating a merge request from a branch into the master branch will (not tested yet) also trigger the tests and your merge will be rejected in case any test fails.
If you add additional libraries to the code, these also need to be added to the test environment, i.e. the respective docker container.
Little guide:
Test the library installation in the docker container
docker run -it --rm rtsn/test:latest bash
Note the steps required and add them to the Dockerfile in the scripts folder. Build the new container (takes some time)
cd docker build -t rtsn/test:latest .
or commit your changes to the image (google that procedure). Push the new image to hub.docker.com
docker push rtsn/test:latest
This last step requires a preceeding docker login. Ask Jannick for login credentials.