2021-q2
Users can now log in, and tuning from the web app runs as the logged-in user. You can compare against runs from other projects, manage runs inside batches more finely, and run batches on Windows machines through Jenkins.
Log in to QA-Board
The web app has login and logout menus, with users authenticated by LDAP or a local user list. Tuning from the web app now requires logging in, and tuning experiments run as the user who started them.
Learn more →Compare with other projects
The reference of a comparison can now be a commit from another project. Exports work with cross-project references too.
Finer control over runs in a batch
Run menus can move runs to an existing or new batch, redo a single run with its original parameters and runner, mark a pending run as finished, or delete only its output files while keeping its metrics.
Windows runners through Jenkins
Batches can run on Windows machines by sending jobs to a Jenkins server configured in qaboard.yaml. The CLI prints a link to each Jenkins job and waits for it to finish. Runners can also have their own default platform.
Learn more →Web app
- The text viewer can switch between side-by-side and inline diffs, without animations, and says when both files are identical.
- Batch logs have a "scroll to bottom" button.
- Batches can be soft-deleted: their output files are removed but their metadata and metrics are kept.
- The table view has a clearer sort menu and fewer unused columns, and metrics with
target_passfailare shown green or red against their target. - The project list can be filtered, and loads faster because it no longer downloads every project's data.
- Milestones can be filtered.
- Tuning analysis can use any configuration parameter, not only tuning parameters, shows nested parameters, and has a better UI.
- The artifacts panel has a better UI.
- Project avatars from private GitLab repositories are proxied by the server, which also avoids mixed-content issues.
CLI and project setup
qa batch --action-on-existing=assert-existsfails when matching runs don't exist, which helps scripts look up past results, for instance withCI=true GIT_COMMIT=....qa check-bit-accuracy --strictalso fails when a file exists in only one of the runs being compared. Input manifests are always written.- Auto-optimization reads
parallel_samplingfrom the optimization configuration file. - Tuning parameters are passed to
qa batchon the command line instead of through files, so past tuning runs can be reproduced and permission issues are avoided. QA_USERoverrides the user name recorded for runs.- Parsing errors in configuration files are no longer ignored, and missing runs are reported with more details.
Server and administration
- Added LDAP settings (
QABOARD_LDAP_ENABLED,QABOARD_LDAP_HOST...) and aSECRET_KEYfor login sessions. - Jenkins credentials are now given with a single
JENKINS_AUTHJSON variable, which supports several Jenkins servers. It replacesJENKINS_USER_NAME,JENKINS_USER_TOKENandJENKINS_USER_CRUMB. GITLAB_AUTHgives the credentials used to show avatars of private GitLab projects.- Added an API to update a run's data (
PUT /api/v1/output/:id). PGHOSTcan be set from the environment, and the database container gets more shared memory.- CORS headers are always sent, even on errors.
- Triggering GitLab pipelines with many jobs works, thanks to pagination.
Documentation
- Documented the LDAP settings.
Fixes
- Fixed bit-accuracy checks on runs started by different users.
- Fixed sorting when metrics can be 0, and the metrics view in tables.
- Fixed auto-optimization with
--paralleland--share. - Fixed the navigation bar on the committer page, and refreshing after a delete.
- Fixed LSF issues and the LSF bridge when stopping jobs.