Skip to content
This repository has been archived by the owner on Jul 29, 2024. It is now read-only.

Fix CircleCI Build #4837

Merged
merged 1 commit into from
Jun 4, 2018
Merged

Fix CircleCI Build #4837

merged 1 commit into from
Jun 4, 2018

Conversation

krotscheck
Copy link
Contributor

@krotscheck krotscheck commented Jun 1, 2018

This patch attempts to fix the continually breaking circleci build. The changes made were:

  • Switch to using circleci v2 syntax, as the v1 syntax will be deprecated in August. Also, it permits running the build locally using the circleci commandline tool.
  • Adjust timeouts on error tests to fail consistently on high-performance machines.
  • Correct error formatting on error tests.

Fixes #4810

@krotscheck
Copy link
Contributor Author

Right, so, I have no idea why this works. I have two hypotheses:

  1. Slightly newer version of node-6.
  2. CircleCI bumped their container memory allowance to 4Gb with v2.

But, hey! Circle's green again, so 🍻 all around.

This patch fixes the continually breaking circleci build. The changes made were:
- Switch to using circleci v2 syntax, as the v1 syntax will be deprecated in August.
  It also permits running this build locally using the `circleci` commandline tool.
- Adjust timeouts on error tests to fail consistently on high-performance machines.
- Correct error formatting on error tests.

Fixes #4810
@krotscheck
Copy link
Contributor Author

@qiyigg 🎁 for ya. Do you mind taking a look so all the queued-up PR's can rebase?

@qiyigg
Copy link
Contributor

qiyigg commented Jun 4, 2018

@krotscheck Cool! Thanks a lot. By the way, do you find the root cause of the previous failure?

@krotscheck
Copy link
Contributor Author

@qiyigg - nothing other than supposition. What I observed is that failing builds locally tended to fail at the end of a spec, rather than at the beginning. There's a whole variety of bugs in the geckodriver project (mozilla/geckodriver#966) regarding the correct order of driver.close() and driver.quit(), and given that the chromedriver also seems to linger if jasmine exits with an error, I believe the driver teardown logic itself is the root cause. i.e. lots of driver processes get started, not cleaned up, and suddenly the container runs out of memory.

From what I saw in the teardown logic (driverProvider.ts), it seemed like the error case on getSession() isn't really handled at all, and we'd need to go through to explore the various edge cases to make sure everything is cleaned up properly.

@qiyigg
Copy link
Contributor

qiyigg commented Jun 4, 2018

ok, thanks, merged.

@qiyigg qiyigg merged commit 1c6a1a8 into angular:master Jun 4, 2018
@krotscheck krotscheck deleted the circleci branch June 4, 2018 21:33
awarecan pushed a commit to awarecan/protractor that referenced this pull request Jun 4, 2018
angular#4837)

This patch fixes the continually breaking circleci build. The changes made were:
- Switch to using circleci v2 syntax, as the v1 syntax will be deprecated in August.
  It also permits running this build locally using the `circleci` commandline tool.
- Adjust timeouts on error tests to fail consistently on high-performance machines.
- Correct error formatting on error tests.
This was referenced Jun 4, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CircleCI build fail: WebDriverError: Failed to decode response from marionette
3 participants