Skip to content
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

Fix AppVeyor CI #1865

Closed
gaearon opened this issue Mar 20, 2017 · 18 comments
Closed

Fix AppVeyor CI #1865

gaearon opened this issue Mar 20, 2017 · 18 comments

Comments

@gaearon
Copy link
Contributor

gaearon commented Mar 20, 2017

It’s been broken for a few days.
You can look at CI failures in all recent PRs and try to figure out what happened.

@Timer
Copy link
Contributor

Timer commented Mar 20, 2017

The lerna team mentioned there may be async contention issues on Windows, maybe someone can try setting the concurrency flag to 1 for AppVeyor.

@darrenscerri
Copy link
Contributor

@Timer, setting concurrency to 1 didn't fix the issue (#1868)

@Timer
Copy link
Contributor

Timer commented Mar 21, 2017

You set the concurrency for AppVeyor, the flag I was referring to was a flag you need to pass to Lerna itself. 😄
I realize my comment could've been taken wrong, "for [Lerna on] AppVeyor". This flag should not be necessary for Travis and would cause unnecessary slowdown.

@darrenscerri
Copy link
Contributor

Sorry, my bad! Added the concurrency flag to Lerna commands. Will check if this fixes the AppVeyor issue, if yes, will add logic to enable this flag only on AppVeyor to avoid unnecessary slowdowns otherwise.

@darrenscerri
Copy link
Contributor

Setting concurrency to 1 on Lerna still didn't fix the issue unfortunately

@Timer
Copy link
Contributor

Timer commented Mar 21, 2017

I believe it may have fixed the erratic failures, but the curl is not recognized is a new error. I'm not sure what is causing that, as it has passed previously. Can you please look into this?

@Timer
Copy link
Contributor

Timer commented Mar 21, 2017

Looks like it's a known problem, AppVeyor updated Git and this regressed, see appveyor/ci#1426.
Looks like they don't plan on fixing it for a couple days, maybe try one of the suggested workarounds with a comment to remove?

@gaearon
Copy link
Contributor Author

gaearon commented Mar 21, 2017

Great job nailing it down.

@darrenscerri
Copy link
Contributor

darrenscerri commented Mar 22, 2017

Unfortunately build is passing just for the master branch, 0.9.x is still failing.

@gaearon
Copy link
Contributor Author

gaearon commented Mar 22, 2017

Can we cherry pick the same fix there?

@darrenscerri
Copy link
Contributor

darrenscerri commented Mar 22, 2017

I actually cherry-picked the fix from 0.9.x to master. There is something else going on in that branch.

@gaearon gaearon reopened this Mar 22, 2017
@gaearon
Copy link
Contributor Author

gaearon commented Mar 22, 2017

Let's keep it open for now then

@darrenscerri
Copy link
Contributor

This issue has been fixed by #1876 and #1868.

@Timer
Copy link
Contributor

Timer commented Mar 26, 2017

Perfect! Any remaining issues are due to lerna bugs which are less present on VS2017 image.

Can you keep us posted for when they fix the curl path issue? Thanks!

I want to close this since further improvement is unactionable by us (unless if we switch from lerna bootstrap to a lerna exec npm install with concurrency 1 then bootstrap).

I just want to make sure the lerna team is aware of this issue. I believe they are. Could you double check for me? I'm tied up for a few days.

@darrenscerri
Copy link
Contributor

darrenscerri commented Mar 26, 2017

As for the curl path issue, I'll keep an eye on this.

As for the Lerna issue, it seems that there are some issues open already but all are mentioning yarn. The failing builds were all using npm, and all failed at the same exact place. Opened issue lerna/lerna#716 on the Lerna repo.

It might also just be a memory issue as mentioned in lerna/lerna#338.

In the meantime, take a look at this commit darrenscerri@19cda22. There's a script that adds the concurrency=1 flag in lerna.json just for AppVeyor. Let me know if this might be worth merging.

@Timer
Copy link
Contributor

Timer commented Mar 26, 2017

If that consistently fixes the problem it may be worth implementing in a slightly different way. We should handle it in the e2e test files (sh), not as a node script.

@darrenscerri
Copy link
Contributor

darrenscerri commented Mar 26, 2017

I will run the build multiple times to confirm that it consistently fixes the problem and will report back.

Check out the latest commit darrenscerri@19cda22. I moved the script in the tasks directory.

Since this is AppVeyor-specific, I don't agree with putting this logic in the e2e sh files when AppVeyor provides a hook to execute arbitrary commands before the build. Otherwise we would have to add conditional logic in the shell script to check whether we are inside an AppVeyor environment. And it will be quite overkill and inappropriate to use a shell script to modify a JSON file.

EDIT: Still failing :(

@gaearon
Copy link
Contributor Author

gaearon commented May 1, 2017

Seems like it’s fine now.

@gaearon gaearon closed this as completed May 1, 2017
@lock lock bot locked and limited conversation to collaborators Jan 22, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants