Frequently asked questions
Questions about integrating a project. For questions about the web app, see Tips & FAQ in the user guide.
My code isn't in Python. Can I use QA-Board?
Yes. Your run() function, in Python, calls your code like any other executable: a C++ binary, a MATLAB script, a
hardware simulator, or Python 2. See running an executable.
My company has no QA-Board server. Where do I send results?
Start one. To try QA-Board, the quickstart runs it on your computer with one Compose
file, and saves your results in /tmp/qaboard. For your team, you need a Linux host with Docker, and a folder that
it shares with the machines running qa, e.g. over NFS: see Starting a QA-Board server, or
Kubernetes. Until then, qa run and qa batch work without a server: results
stay in output/.
My runs show in the web app, but not their files
qa saved them in a folder the server doesn't read. Check that storage in qaboard.yaml, or $QA_STORAGE, is the
server's results folder, mounted at the same path on the machine that ran qa: /tmp/qaboard for the quickstart's
server. See Where is the data saved?
Do I need a CI?
No, but it's what gives every commit results to compare with. Without a CI, qa --share batch saves your runs and
shows them in the web app, in a batch named after you (see CI integration).
Can I use GitHub-hosted runners?
Not yet: qa writes results to a storage that the server reads at the same path, like an NFS share, so the CI
runner must mount it. Use a self-hosted runner. See the roadmap.
Where are results saved?
- Local runs are saved under the output/ directory of the project. They don't need the storage: when
qacan't create its folder, it warns and runs anyway. - CI runs, and runs with
--share, are saved under thestorageset in qaboard.yaml, like /mnt/qaboard. See where is the data.
To find a run's files, qa batch <batch> --list-output-dirs prints the output directory of each run (see
APIs), and in the web app, a run's card has Copy output directory.
Can I export the data, or use another viewer?
Yes. All the outputs are files, under the storage: open them with any tool. To get them out:
- the commit page's Export gathers the files matching a pattern from the runs you filtered into one folder (see Exporting files);
- each run's card has Copy output directory;
- scripts get the runs, their metrics and their paths from the HTTP API.
Nothing prevents you from changing or deleting the files the CI created: the web app shows what's on the storage.
What is QA-Board written with?
- The
qaCLI, which wraps your code: Python. - The web app: React, with Blueprint for the design, OpenSeadragon for images, Plotly and three.js for plots and 3D.
- The server: Flask, with PostgreSQL to store metadata.