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

Evaluate Circle CI (23171 but from a branch in JuliaLang) #23188

Merged
merged 3 commits into from
Aug 15, 2017
Merged

Conversation

tkelman
Copy link
Contributor

@tkelman tkelman commented Aug 9, 2017

See #23171, this is the same thing but I'm trying to get the Circle CI webhook to recognize the PR and build from the JuliaLang account instead of my fork. It might only work if circle.yml (or .circle/config.yml) is on master? edit: I think something's wrong with PR's from forks? Not sure, contacted circle support to see if I can figure out what's wrong.

@tkelman tkelman mentioned this pull request Aug 9, 2017
@tkelman tkelman added the ci Continuous integration label Aug 9, 2017
@ararslan
Copy link
Member

ararslan commented Aug 9, 2017

39:11 for the Circle build??? I didn't think that was even possible!

This runs in circleci's python 2.7 docker image which is based on
debian jessie, mostly for convenience since that image has a non-root
user added and some of the Julia tests work differently when run as root.

Circle CI caching is a little odd - I'm using ccache here since it's
actually fast enough to handle it pretty well, about 15 minutes to build
deps from scratch and about 3 minutes to build deps with a primed ccache.
We save the ARCH, HOME (default location where ccache saves its data, in
case we switch containers and try to run tests as a different user), and
year and week number into a tag file, then determine which saved circleci
cache tag to load from based on the checksum of that tag file. So this
will throw out the cache and have to rebuild it once a week, but since that
only adds about 10-15 minutes to a build that's not a big deal. It would be
better if circle's cache worked like Travis and AppVeyor's where it loads
the latest and checksums the content to decide whether to upload a new
replacement cache, but that's up to circle to fix.

This has to skip the socket tests, since circle doesn't currently support
ipv6 in their docker workers. They have other types of workers, but they
aren't anywhere near as fast to build or run tests.

This currently doesn't do a doc build or deployment, that's a TODO if
we decide to switch to this. It also looks like it checks out the branch
tip instead of the merge commit, but that should be fixable.

[av skip] [bsd skip]
few minutes faster, but may run a higher risk of getting OOM killed
delete not-so-relevant comments (resource_class would be relevant
if we started paying circle, other lines relevant for using ubuntu
docker image)

[av skip] [bsd skip]
@ararslan
Copy link
Member

Good to merge once Travis finishes?

@tkelman
Copy link
Contributor Author

tkelman commented Aug 15, 2017

Maybe it is working from forks now, #23249 triggered a build. Unless anyone has any comments on the yml contents, this should be good to merge and try out.

@ararslan
Copy link
Member

ararslan commented Aug 15, 2017

Without this configuration merged, the Circle webhook just reports failure since there's nothing telling it what to do. That's pretty annoying. I think we should just merge this then adjust settings as needed. As it stands, the YAML contents look good to me.

@quinnj
Copy link
Member

quinnj commented Aug 15, 2017

Yeah, it looked liked it thought it needed to do something for #22441, but didn't know what to do.

@ararslan ararslan merged commit 3b51323 into master Aug 15, 2017
@ararslan ararslan deleted the tk/circleci branch August 15, 2017 20:49
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 this pull request may close these issues.

3 participants