-
Notifications
You must be signed in to change notification settings - Fork 0
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
Use a drake binary in CI instead of compiling it from source #401
Conversation
This is great, thanks @apojomovsky ! Couple of thoughts:
|
I agree that we should try to avoid hard-coding this here, as we'll probably forget to do it later on. It would be best to do what you say, and derive the date from the commit hash. This may be easier said than done, though :).
Yeah, I see what you mean. While that would be a bit unfortunate, I agree that it is not really a huge problem; we'll notice the next day. I don't think we need to worry too much about that, so I'd say forge ahead despite that. |
There's always the chance that the nightly build doesn't exist too (can happen if it fails to build that day). Another option is to have a jenkins job of our own that is responsible for taking the hash in our |
Oh, there's one more thing I want to check. Are those drake tarballs the output from clang or gcc? I think I remember @stonier telling me that they were all gcc, but I just want to make sure, since our stuff definitely won't work with clang. |
GCC |
6a80db7
to
eef0780
Compare
I'd really like this, although I'd put it on a separate ticket and tackle it on a following iteration. Would you like me to create that ticket @stonier ? |
eef0780
to
1d25131
Compare
Just updated the PR with the ability to parse the commit date automatically and use it to generate the binary's URL. |
9111d73
to
379c3d3
Compare
I've just updated the PR with the logic to check if the nightly build URL corresponds to a valid binary. |
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.
Great! Super minor: would be great if you can avoid duplicating the BINARY_URL
harcoded value and have a pattern and a replacement. But again, not a deal breaker at all.
379c3d3
to
944d7ff
Compare
944d7ff
to
a167a94
Compare
Thanks @basicNew ! Just did that. |
Unless someone is against merging this I would say gogogo! @clalancette @stonier ? |
No problems here, can you make sure we have instructions in the developers section of the delphyne guide somewhere so we have a 'process' recorded somewhere for updating drake? Also future proof that part too - record our thoughts that it's not ideal right now, what the expected problems are (mismatching or missing binary), and what would be better iterations (a separate job that uploads our binary alongside the other drake binaries, moving internally to our own jenkins/file server). |
This all seems reasonable enough to me now (with the documentation that @stonier suggested), so let's merge and see what happens. |
Thanks for the feedback @clalancette and @stonier . |
Fixes #352 , which is also reflected on the 5th element of the list on #378 .
delphyne.repos
file.wget
as a dependency.Obs: cloning the drake repository is still required here, because although it's not built from source anymore, it's still required to run the
install_prereqs.sh
script to solve drake's runtime dependencies.With this upgrade the time required for the
build
step goes down from 16:26 minutes to 2:31 minutes :)