README.rst
1Continuous Integration
2======================
3
4In addition to a build step, the CI setup has a basic test stage
5to ensure that we don't break functionality of various tools. The
6basic idea is to decode various files and compare the output to a
7reference. This means that some changes, like renaming registers
8or bitfields in the rnndb xml requires updating the reference
9output.
10
11Layout:
12 - .gitlab-ci/
13
14 - traces/ - reference devcoredump and cmdstream traces. The trace files should be kept small, and .rd files (which are already binary) should be compressed.
15
16 - reference/ - reference output
17
18 - genoutput.sh - script to generate output from the traces, used both by the CI test job, but it can also be used to update the reference output
19
20Note on paths:
21--------------
22
23Gitlab CI uses an install-path of \`pwd\`/install. If you use something
24different, then setup a symlink. Once that is done, to update reference
25decodes (ie. to account for register .xml changes) run:
26
27 ./src/freedreno/.gitlab-ci/genoutput.sh --update
28
29TODO
30----
31- Maybe we could filter out some differences, like a new definition of a previously unknown register?
32- It would be nice to add a test for afuc.. we probably cannot add a "real" fw file to this tree, but maybe could either fetch it from the linux-firmware git tree, or create our own dummy fw.
33
34