Closed jwmerrill closed 8 months ago
This gets the CI build to run successfully, but I'm noticing that it actually is timing out without getting any test results.
Opening the "unit tests in the browser" section in the CI run shows
get http://localhost:8000/test/unit.html?xunit=true
setAsyncScriptTimeout(2**31 - 1)
ERROR: {
"message": "[safeExecuteAsync(\"window.xunitCallback = arguments[0];\")] Error response status: 21, , Timeout - An operation did not complete before its timeout expired. Selenium error: Automation Server Error -- Selenium didn't complete your last command on time.\nFor help, please check https://docs.saucelabs.com/dev/error-messages",
"status": 21,
"cause": {
"status": 21,
"sessionId": "e4d1c0c884044cecbbe9fedfb19555f9",
"value": {
"message": "Automation Server Error -- Selenium didn't complete your last command on time.\nFor help, please check https://docs.saucelabs.com/dev/error-messages"
}
},
"jsonwire-error": {
"status": 21,
"summary": "Timeout",
"detail": "An operation did not complete before its timeout expired."
}
}
I'm not sure how long this has been a problem. Unfortunately, we don't have a history of any CI runs that were successful and didn't have this problem.
I'm not sure how long this has been a problem. Unfortunately, we don't have a history of any CI runs that were successful and didn't have this problem.
I did check one of the builds last week to make sure we weren't ignoring a testless build, and I did see one with tests listed. https://app.circleci.com/pipelines/github/mathquill/mathquill/105/workflows/6ad19848-5aa1-4f7c-92a8-cd243519ea3e/jobs/663
get http://localhost:8000/test/unit.html?xunit=true
setAsyncScriptTimeout(2**31 - 1)
waited for xunitCallback()
Got results XML (442 lines):
<testsuite name="Mocha Tests" tests="439" failures="0" errors="0" skipped="0" timestamp="Wed, 27 Sep 2023 17:49:58 GMT" time="4.685">
<testcase classname="autoOperatorNames" name="simple LaTeX parsing, typing" time="0.193"/>
<testcase classname="autoOperatorNames" name="text() output" time="0.008"/>
<testcase classname="autoOperatorNames" name="deleting" time="0.021"/>
<testcase classname="autoOperatorNames override autoOperatorNames" name="basic" time="0.017"/>
<testcase classname="autoOperatorNames override autoOperatorNames" name="command contains non-letters" time="0"/>
<testcase classname="autoOperatorNames override autoOperatorNames" name="command length less than 2" time="0"/>
<testcase classname="autoOperatorNames override autoOperatorNames command list not perfectly space-delimited" name="double space" time="0.001"/>
<testcase classname="autoOperatorNames override autoOperatorNames command list not perfectly space-delimited" name="leading space" time="0"/>
<testcase classname="autoOperatorNames override autoOperatorNames command list not perfectly space-delimited" name="trailing space" time="0"/>
...
Wrote to /tmp/circleci-test-results/test-results.xml
0 failures, 0 errors
Archiving the following test results
* /tmp/circleci-test-results/test-results.xml
Total size uploaded: 6.3 KiB
M-E-R-G-E-I-T-- Merge it! 🙌 I'm a powerless cheerleader.
This gets the CI build to run successfully, but I'm noticing that it actually is timing out without getting any test results.
This was fixed by https://github.com/mathquill/mathquill/pull/1030
MathQuill's CI system starts a server in the background by running
make server
. Previously, this would runnpm install
, which could race later ci steps that were attempting to use node modules.Fix this by adding a NO_INSTALL environment variable that tells the server not to automatically install npm dependencies.