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

TST: Migrate to CircleCI for builds #228

Closed
tswast opened this issue Oct 19, 2018 · 5 comments · Fixed by #234
Closed

TST: Migrate to CircleCI for builds #228

tswast opened this issue Oct 19, 2018 · 5 comments · Fixed by #234
Assignees
Labels
type: process A process-related concern. May include testing, release, or the like.

Comments

@tswast
Copy link
Collaborator

tswast commented Oct 19, 2018

Everytime I use Travis, I have the frustration that I can't really define separate Docker images to use as the base for conda versus pip versus different versions of Python. This made changes like #222 a lot harder than they would have been if I could have had more control over the base image.

I also suspect that Travis is maybe at fault for our Conda build failing #189. My only evidence for this is that I've tested on conda locally several times and am unable to reproduce the issue we see in the Travis build.

There are two interacting features of CircleCI that I think would be a big help:

  1. Docker executor type
  2. Workflows, which provide the ability to run multiple "jobs" in parallel, where each job has its own executor definition.

One problem with this plan is that I don't have access to the GCP project that we use for Travis builds so that I can set up the secrets on CircleCI. Maybe @jreback could give me access to that?

@tswast tswast added the type: process A process-related concern. May include testing, release, or the like. label Oct 19, 2018
@tswast tswast changed the title TST: Move to CircleCI for builds TST: [Discussion] Move to CircleCI for builds Oct 19, 2018
@tswast
Copy link
Collaborator Author

tswast commented Oct 19, 2018

pandas is mostly migrating to Azure Pipelines: pandas-dev/pandas#22690

@max-sixty
Copy link
Contributor

Azure would allow us to test Windows too.

We use Google Cloud Builder successfully internally - but I'm not sure there's a mature OSS offering. Is that right?

@tswast
Copy link
Collaborator Author

tswast commented Oct 22, 2018

Azure would allow us to test Windows too.

Yeah. I'm not too keen on having to maintain VM images, but it'll be okay if we can re-use the configs from pandas.

We use Google Cloud Builder successfully internally - but I'm not sure there's a mature OSS offering. Is that right?

There's a free tier for Cloud Builder, but nothing OSS-specific AFAIK.

@tswast
Copy link
Collaborator Author

tswast commented Nov 2, 2018

I just mailed #232. The reason I went with CircleCI instead of Azure is that I couldn't "install" the Azure GitHub app. Even though it's free for OSS projects, I can't install it due to not being a billing admin for the pydata org. CircleCI does not have this requirement. I can enable builds directly from the CircleCI interface without going through GitHub for "billing".

Also, I'm quite pleased by the local development capabilities of CircleCI. The fact that everything is run in Docker containers makes it very easy to test locally with an almost-identical environment before pushing my changes to GitHub. I don't think we'll run into the problems that pandas had with CircleCI because we aren't doing any complicated native-code compilation.

@tswast
Copy link
Collaborator Author

tswast commented Nov 6, 2018

Should probably disable Travis and update the build badge in the readme before closing this.

@tswast tswast reopened this Nov 6, 2018
@tswast tswast changed the title TST: [Discussion] Move to CircleCI for builds TST: Migrate to CircleCI for builds Nov 9, 2018
@tswast tswast self-assigned this Nov 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: process A process-related concern. May include testing, release, or the like.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants