This new release brings ~400 new commits with improvements all over the place: docs, features, fixes... QA-Board is used in many projects at Samsung, and we don't have plans to break backward compatibility. Therefore we feel ready to call it this version v1.
If you run into issues with QA-Board, or want to know more about its use-cases, know it's actively developed. Don't hesitate to contact me.
New Features
- Display run badges to e.g. show inference results in QA-Board and link to model training logs
- Compare versus runs from different projects
- Soft-deletes to keep run metadata but remove all/some files
- Parallel sampling for auto-tuning
- User accounts, required to trigger experiments from the app.
- Per-user custom tests in the web application.
- Move runs to an existing or new batch
- Built-in distributed workers with
celery, and monitoring withflower. - Redo: all a batch's run, or just failed ones, or per-run... and with the same parameters as the original.
- Usage outside of git repos: support
GIT_MESSAGE/GIT_AUTHORED_DATETIME/GIT_COMMIT/GIT_BRANCHin ENV. - Support for default
databaseper batches.yaml file - Use indexing when using matrix configurations, e.g.
${matrix.value[0]} - Input manifests support, and a
--strictmode in bit-accuracy checks that forbids unexpected output files - distributed workers via Jenkins
- Custom bit-accuracy
comparefunction to e.g. ignore metadata - More flexible per-input configurations in batches
- Can use globs to define in qaboard.yaml
inputs.batches. In this case it can be helpful to enable the optional flagallow_duplicate_batches. - Internal: for "user-side" DAG/pipelines make it possible to call e.g.
CI=true GIT_COMMIT=xxxxx qa batch --action-on-existing=assert-exists
UX improvements
- Tons of improvements to the logs, status indicators and error messages. Both in the CLI and web application.
- We tried to make the defaults of everything (UI, config...) more natural.
- Tuning analysis / tradeoffs tab enabled with runs started on the CLI, not just with experiments from the app
- UI: layout improvements in many places
- Image viewer: No animations to make the diff feel smoother, tooltip with real image values, hide the reference if same as new. Allow ref images with different dimensions, and behave nicely.
- File viewer icons
- Filter list of projects
- Scroll to bottom button in logs
target_passfailmetrics to show in green/red instead of a gradient- Text viewer: toogle side-by-side / inline
- Indicator when identical files are compared
- Filter milestones in the selection menu. Direct links to milestones in the project sidebar.
- Remove columns without metrics from the table view
- Mark pending runs as finished from the UI
- Highlight commit that have milestones and prevent deleting them
- Avoid recoloring plotly plots if we don't overlay new/reference
- ...and many minor things
Performance
- Support for custom
postgresqlconfiguration - Removed re-renders and overhead in the web application
- Transparent pre-compressed gzip files (
.gz) to limit storage usage with custom viewers - Memoize string edit distances
Fixes
- Many minor issues all over the place...
- Gitlab not needed anymore. But if used, added a proxy to get project avatars, and support triggering manual jobs in CI pipelines with tons of jobs...
- hardcoded ports, URL...
- Don't rely on conventions for the output directory locations
- Better uswgi setup: no startup failures, "cheaper" algo, set queue size...
- Fix imports when not running under a QA-Board directory
Upgrades
- Upgraded dependencies of the web application and backend
- Website updated to Docusaurus v2