tripal/t4d8

Automated Tests Failing: Apache OR Guzzle

laceysanderson opened this issue · 1 comments

I'm noticing that automated tests are failing often for two reasons which do not indicate a problem with your PR. Specifically, (1) apache fails to start in time, (2) GuzzleHttp exception says curl failed to connect (see sections below for more details).

In both these cases, I have found waiting at least 20-30 minutes and then re-running the workflow will fix the issue although sometimes you can get very unlucky and will need to try a number of times to get the checkmark. We must have passing tests to merge your PR, so please keep trying if you are specifically getting these two errors. For other errors you likely need to fix your code.

How to re-run tests

Scroll to the bottom of your PR where test runs are summarized. You will see something like the following screenshot. Click on the details link beside the failed run to see details for why the run failed.
failedchecks-clickdetails

This will take you to the specific version of Drupal for which the build/tests failed and scroll you to the error it encountered. If the error is either of the two mentioned above, then you will want to restart the workflow for all Drupal versions. This can be done by first clicking on Summary in the top left corner to see all Drupal versions as shown in the screenshot below.
testsuite-clicksummary

On the page summarizing all jobs within this workflow (one per Drupal version we are currently testing), you will notice a "Re-run all jobs" button up in the corner. Clicking this will trigger a new build/run for all Drupal versions and will hopefully return passing the next time around! 🤞
testsummary-clickrerunjobs

Apache failed to start in time

The following is simply a time-out error regarding apache... I am not sure why this is causing us issues but here it is 🤷

apacheError

Tests fail due to GuzzleHttp Exception

This one will get all the way to the testing phase, at which time it will fail most tests with the following errors. This implies that there is something wrong with the interface between our container and the github action container. I am not sure what is going on but most of the time it works and only sometimes it fails. There is no pattern as far as I can see for when it fails.

curlError

Note: the GuzzleHttp Exception will be repeated for all tests resulting in pages of errors. As such, when it scrolls to the bottom that is likely all you will see and you will need to scroll up to see the test suite summary with all the E's repeated. So scroll up if you see something like the following:
curlError-atbottom

This has been fixed.