Skip to main content

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.

Admins

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 →
Users

Compare with other projects

The reference of a comparison can now be a commit from another project. Exports work with cross-project references too.

Users

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.

Project integration

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_passfail are 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-exists fails when matching runs don't exist, which helps scripts look up past results, for instance with CI=true GIT_COMMIT=....
  • qa check-bit-accuracy --strict also fails when a file exists in only one of the runs being compared. Input manifests are always written.
  • Auto-optimization reads parallel_sampling from the optimization configuration file.
  • Tuning parameters are passed to qa batch on the command line instead of through files, so past tuning runs can be reproduced and permission issues are avoided.
  • QA_USER overrides 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 a SECRET_KEY for login sessions.
  • Jenkins credentials are now given with a single JENKINS_AUTH JSON variable, which supports several Jenkins servers. It replaces JENKINS_USER_NAME, JENKINS_USER_TOKEN and JENKINS_USER_CRUMB.
  • GITLAB_AUTH gives the credentials used to show avatars of private GitLab projects.
  • Added an API to update a run's data (PUT /api/v1/output/:id).
  • PGHOST can 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 --parallel and --share.
  • Fixed the navigation bar on the committer page, and refreshing after a delete.
  • Fixed LSF issues and the LSF bridge when stopping jobs.