-
Notifications
You must be signed in to change notification settings - Fork 47.7k
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
Investigate CI failure (possible race condition) #11657
Comments
I think this one would require some experience with CircleCI. I don't have any pointers as to where to start: I don't understand why it's failing myself. So it's not a very beginner-friendly issue (I marked the difficulty as medium for that reason). |
@gaearon I want to work on this. After doing some research on circleci document, I didn't find the document said about parallel test and deployment sequence. I'm curious about how circleci deal with parallel test and deployment sequence. I think there are two situations:
So I think maybe that's because each container will run deployment after that node test finished. If the situation is as above, I come up with two solutions.
reference link: |
Only node 2 does a full build. So I don't understand how deployment on other nodes could work at all. |
Or do nodes share the file system? |
I think nodes share the file system. Otherwise, it should fail every time. It will be easier to debug if we can add more log, like current build time and artifacts. |
Would it make sense to change the upload script to only run on the second node? |
Yep, I think so, because in the document I can't ensure whether deployment stage is triggered after all parallel test finished. |
Can we just put the deployment command right into the test command? Is there any benefit to separating them? |
I think it's also workable, but may lead misunderstanding. Cause we put build process to test stage. |
The interesting part is our regular tests don't need compilation. If "compile" stage has to run before any other stages then we'll wait unnecessarily. I'd prefer to have a single script that does everything than to buy into CircleCI specific terminology unless it buys us something real good (e.g. parallelism was very useful). Maybe can try this: https://github.com/facebook/react/compare/master...gaearon:maybe-fix-ci?expand=1. |
OK, I understand your consideration. |
It looks like this:
https://circleci.com/gh/facebook/react/7816?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
It happened two times on random commits, and I don't see a pattern. Probably caused by me changing how tasks are distributed between parallel nodes in #11633. I don't understand why
upload_build.sh
would try to run before a build exists though (if that's what's happening?)The text was updated successfully, but these errors were encountered: