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

CI: Improve CircleCI #22763

Closed
h-vetinari opened this issue Sep 19, 2018 · 12 comments · Fixed by #22992
Closed

CI: Improve CircleCI #22763

h-vetinari opened this issue Sep 19, 2018 · 12 comments · Fixed by #22992
Labels
CI Continuous Integration
Milestone

Comments

@h-vetinari
Copy link
Contributor

h-vetinari commented Sep 19, 2018

Not sure how much of that needs to be done upstream, but right now, CircleCI is performing very poorly.

We're on the sixth page of jobs (so about 24h waiting time for commits coming in now), and CircleCI is stalling intermittently, e.g. right now, since about half an hour (not sure if those workers may be changing to some private pipelines that are not visible to me):

4e

Further improvements that would speed things up:

  • skip jobs also if there are newer force-pushed (e.g. squashed) commits
  • respect [ci skip] if issued
  • sometimes, only 1-2 workers are running (on change-over between PRs), instead of 4
  • more workers?
  • etc...
@jschendel jschendel added the CI Continuous Integration label Sep 19, 2018
@jreback
Copy link
Contributor

jreback commented Sep 20, 2018

I we somehow got bumped to 1 container, rather than the 4 that we had before. So this is why things are taking forever. I emailed them, let's see.

cc @TomAugspurger

@h-vetinari
Copy link
Contributor Author

h-vetinari commented Sep 20, 2018

We somehow got bumped to 1 container, rather than the 4 that we had before. So this is why things are taking forever. I emailed them, let's see.

I think you might have looked at the queue when just one of them was running, but it fluctuates from 0-4 (see OP). It's almost as if the workers are shared with another queue that's not visible (and so, on finishing one PR, the 4 workers sometimes move somewhere else, and after finishing there, come back one by one).

@TomAugspurger
Copy link
Contributor

TomAugspurger commented Sep 20, 2018 via email

@h-vetinari
Copy link
Contributor Author

It seems that also the "cancel-on-newer-commit" thing is not working. Right now, I see the jobs for an old commit of #22736 starting (https://circleci.com/gh/pandas-dev/pandas?page=3), even though newer commits exist (https://circleci.com/gh/pandas-dev/pandas?page=1).

@h-vetinari
Copy link
Contributor Author

Aaaand we're back on the fifth page... https://circleci.com/gh/pandas-dev/pandas?page=4

@TomAugspurger
Copy link
Contributor

TomAugspurger commented Oct 4, 2018 via email

@jreback
Copy link
Contributor

jreback commented Oct 4, 2018

we will inevitable have hard to debug regressions if we lose the locale job - maybe can set this on another job though

the 3.5 is prob somewhat duplicative

@TomAugspurger
Copy link
Contributor

Right. I forgot to finish my comment.

Of those, the hardest to replicate on azure is the SQL tests. The best way to do that would be a docker-based setup where we have Postgres and mysql services that the test container talks to. Azure-CI supports that, but based on 5 minutes of reading there docs, would require a fair amount of effort to setup.

The other (3.5 and locale) can be ported directly to a linux test on azure.

@WillAyd
Copy link
Member

WillAyd commented Oct 4, 2018 via email

@h-vetinari
Copy link
Contributor Author

@TomAugspurger

Why not leave one build in CircleCI? With 4 workers, that will almost be 4x as fast as currently, which should be enough to keep pace with travis/azure. Maybe that job could even combine 3.5/linux/local/SQL tests.

@h-vetinari
Copy link
Contributor Author

Speed has increased again recently. Down from ~30min average to ~20min.

@h-vetinari
Copy link
Contributor Author

Runtime has stayed much better (still ~20min), but builds are not cancelled (even if still in the queue) if newer commits are pushed. Having lots of that in #23062 ATM

@jreback jreback added this to the 0.24.0 milestone Oct 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants