-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Fix "everything passes, travis fails" #7204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks for the pull request @mramato!
Reviewers, don't forget to make sure that:
I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome. 🌍 🌎 🌏 |
Well, that didn't work. Back to the drawing board (unless I'm missing something, this is still a good change) |
Hold off on merging this, I have a few additional things I want to try. |
Lots of weirdness going on. After some experimentation, I think travis/linux may be killing the requirejs process for using too much memory (or possibly trying to use too many processors). I changes makeZipFile to be less concurrent and more waterfall and we'll see if that resolves the problem. It's unfortunate if this is the case, but whatever makes CI stable is a net win. |
Partial success! I also now think that |
Awwww yeah! |
1. `buildSandcastle` is returning a stream that is passed to Promise.join. That means the promise resolves before the stream is finished. Instead it should be returning a promise created from the stream. 2. `npm pack` may be screwed with travis' console leading to random failures, redirect it's output to /dev/null to see if it addresses our random build failures 3. requirejs was occasionally being killed by travis for using too much memory, reduce concurrency during the build process to prevent this from happening.
0db468a
to
0fd7d53
Compare
Okay, I got everything to pass (once). I just reset and force-pushed my changes to see if everything passes again. Assuming it does, this should be ready for review. |
Everything passed twice in a row! @ggetz we should probably review/merge this sooner rather than later since it affects all branches. |
06edcc8
to
0fd7d53
Compare
After some back and forth with travis, they think that "npm pack" output is definitely screwing with their log handling/filtering code. They made a change to our org that seems to have fixed the problem in a different way. (We definitely still need this PR because there were real issues it fixes as well) I asked for more clarification about what they changed. I also mentioned that we had 1500 forks an org-only change probably wouldn't be good enough. Just redirecting So ultimately this PR is ready and should be reviewed/merged ASAP. |
Just in case we ever run into similar issues again, here's the full details from travis support.
|
Works great, thanks for looking into this @mramato! This has been a huge pain for a while. |
Thanks, I still want @ggetz to review the gulp changes, since it does affect the build process a bit. |
Sounds good. Well I can confirm that each of the tasks still run fine locally. @ggetz merge when ready |
Looks good! Passing consistently and no decrease in build time from what I'm seeing. |
buildSandcastle
is returning a stream that is passed to Promise.join. That means the promise resolves before the stream is finished. Instead it should be returning a promise created from the stream.npm pack
may be screwed with travis' console leading to random failures, redirect it's output to /dev/null to see if it addresses our random build failuresrequirejs was occasionally being killed by travis for using too much memory, reduce concurrency during the build process to prevent this from happening.