Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR does 5 things. The first is to cache the download of the cypress binary in a local folder of the runner. Right now we are downloading the binary of cypress for each system test instance separately and verify them each time. By storing it in a caching folder on our runners, we only have to download and verify it once per runner and version and afterwards just can use those files for each build. That saves about 40 seconds per system test run, which comes down to about 3 minutes overall.
The second change is updating joomla-cypress to 0.0.16. This version changes the installation of Joomla slightly. Up till now, we were waiting for each ajax request individually and giving each a timeout of 20 seconds. For some reason, the
ajax_populate1
wasn't properly caught and timed out prematurely. Now we are waiting for all ajax calls in one wait() command with a combined timeout of 2 minutes. That should fix the random issues we had with the installation in the system tests in the past.The third change updates cypress to the latest version of 10.10.0.
The fourth change catches uncaught exceptions in cypress. These seem to be errors in the communication between cypress and the browser, but not errors in our application. The used code has been copied from the web, where the consensus was, that this would be fine...
The fifth change was a re-ordering of the steps in drone to prevent race conditions between steps with the same RDBMS (namely Postgres)