* test: fix invalid deserialization
* feat: install node or python only when needed
* feat: when action is rerun, run testbed with logs in debug
* feat(ci): update actions to node 20
* feat: log stdout & stderr from setup & build cmd as debug
* fix: bump helix revision
* fix: use helix fork for the time being
* fix(ci): install missing setuptools
* fix(ci): revert back to python 3.10
* fix(ci): disable lance
* feat: parallelise at hole level
* fix(ci): move strategy to testbed job
* feat: output json results file
* fix(ci): install jq
* fix(ci): add missing `runs-on`
* fix(ci): add dependency to testbed job
* fix(ci): invalid artifact key name
* fix(ci): add missing i in fastapi key
* feat(ci): make CI run different # of threads per repo
* fix(ci): results.json not in markdown
* feat: round output values
* fix: avoid creating zombie processes
* fix: check on word instead of line
* feat: recreate holes for long CI