-
Notifications
You must be signed in to change notification settings - Fork 40k
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
adding shippable.yml #5753
adding shippable.yml #5753
Conversation
ric03uec
commented
Mar 21, 2015
- Proposal to add shippable config file to improve build performance
- fixes a bug in the previous PR
seems like docker cert expired and the pull is failing because of this error
I'm closing this for now. Will open another PR once this issue is resolved. |
docker seems to have fixed the cert issues. |
@alex-mohr @ixdy @zmerlynn @brendandburns here is the PR with the shippable config file shippable.yml. You should see a big perf gain with this merge, and we'll continue to iterate and improve further. Thanks again! |
I will take a look at this tomorrow (Monday). |
@ixdy did you get a chance to look at this yesterday? Let us know if everything looks ok. |
Thanks Manisha -- looks reasonable to me, though it's outside my area of expertise. If Jeff @ixdy doesn't see any red flags, let's merge this tomorrow morning and monitor how it goes? |
@@ -0,0 +1,34 @@ | |||
language: go | |||
|
|||
go: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's probably not necessary to change in this PR, but it's worth noting that in #5687 this is converting to using a build matrix to pass environment variables to control which API version is used. Is there a similar way to configure this in Shippable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Said PR merged, so it might be worth copying the changes here. Sorry for the PR race.
I'm very sorry that I didn't get to this on Monday as I promised. (Or yesterday.) I will do better in the future. This generally looks like it's just a copy of our .travis.yml, though it adds a build image and some before_install steps. Is that assumption basically correct? I'm curious which changes help the build performance. Also, when there's both a .travis.yml and shippable.yml file in the repo, will Shippable only look at the latter? |
@ixdy when there is no build_image specified, builds run on our default image. This image (minv2) contains all languages, all tools, and also incurs some overhead that slows down the build. More importantly, it does not have the race package for go and this is causing all the slowness when compared to Travis. The yml in this PR uses our lightweight go image with the right packages preinstalled. This is cutting our build time to be as fast as Travis. With the added benefit of no community queueing, I expect faster results wrt Travis. Check out this screenshot for this PR build :) We will continue adding the right things to this image and the yml to optimize it for kubernetes builds, this is an ongoing commitment for us. And yes, when there is a travis and shippable yml in a repo, Shippable picks up shippable.yml |
@ixdy also,we've merged the changes from the other PR as you suggested. |
Thanks for the explanation and thanks for the PR! LGTM. |