v39.6.0 – Parallel Tests

Summary

The release of Qobrix v39.6.0 significantly speeds up PHPUnit tests execution by running them in parallel, as well as fixes several minor issues.

Overview

Parallel Tests

When developing Qobrix, we are always looking for ways to improve our Quality Assurance processes and tools.  As part of our QA setup, we run automated unit and integration tests using the famous PHPUnit testing framework.  While the PHPUnit framework is free, running the tests comes with the time cost.  The more tests we have, the longer it takes to execute them.  By now we have thousands of tests all around.  Executing these can delay the releases and deployments by minutes, hours, or even days.

Qobrix v39.6.0 introduces a significant decrease (sometimes as much as 2x) in the test execution times, via the freshly integrated brianium/paratest package, which ensures that tests are executed in parallel, rather than sequentially.  This means that developers can enjoy a faster feedback loop, changes can be tested, reviewed, and merged in sooner, and new versions can be released without unnecessary delays.

Fixes

In this version we have also fixed a whole lot of minor issues throughout the system.  Some of the most noticeable are:

  • VueJS initialization issues.   We now have a central layout entry point for VueJS application and components to initialize.
  • Related fields now render form input placeholders properly.
  • Access checks now correctly skip parent modules when none are configured.
  • Search functionality once again correctly links to the recently updated AdminLTE resources, as well renders select2 typeahead elements properly.
  • Surveys render date correctly.  The typo in the date format that caused current day to be replaced by the day of the year is fixed.
  • JSON Schema validation for views allows non-unique items, in order to support empty placeholders in the view grid.  This should make positioning of the fields in the view a lot more flexible.
  • Improved handling for disabled Dashboards, which is particularly useful in Forex and Real Estate portals.
  • Fixed a typo in the migration configuration for Scheduled Jobs logs, which prevented correct rendering of log views.
  • Several fixes for the synchronization between several Qobrix applications (such as CRM and Portal).
  • Remove memory limit for the PHPStan execution, which is especially useful in TravisCI and BitBucket Pipelines.
  • Fixed several PHPStan warnings and enabled automatic execution on BitBucket Pipelines.