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

SDK Build/test pipeline separation from build-image #599

Closed
markmandel opened this issue Feb 19, 2019 · 4 comments

Comments

@markmandel
Copy link
Collaborator

commented Feb 19, 2019

As we add more SDKs the build-image is getting more and stuff installed in it.

My proposal would be to find a way to have a smaller build image for each of the SDKs, to compile and test each SDK individualy, rather than have rust, and node and go, and C++ all live in the same build image.

This would also allow us to build and test each sdk in parallel, which is nice as well -- and also means that if you want to add a dependency to the top of the build-image - we aren't recompiling rust every time.

It should hopefully also lower the barrier to entry for new SDK developers as well.

Some initial, vague ideas

  1. Have a central Makefile include for all SDKs, that does much of what the build/Makefile does - tagging based on sha, create build image for the sdk if it doesn't exist, etc (maybe it could be shared across the project? Also set a standard set of targets: build, test, etc.
  2. Have a base SDK build image -- that sets the gRPC version, and likely includes protoc installed already. SDK authors can extend this, install their language of choice and move forward from there.
  3. Update Cloud Build to manage these images as well - might be able to integrate this into the build/makefile ?

Then we can strip Rust, compiled protoc, and C++ out from the build image, and that will lower it's size considerably, as well as make faster to build when updates occur.

@cyriltovena

This comment has been minimized.

Copy link
Collaborator

commented Feb 22, 2019

I'll work on this.

@cyriltovena

This comment has been minimized.

Copy link
Collaborator

commented Apr 14, 2019

To close this we should improve the ci. Currently building images each times.

@markmandel

This comment has been minimized.

Copy link
Collaborator Author

commented Jul 27, 2019

Feels like we an close this. WDYT?

@markmandel

This comment has been minimized.

Copy link
Collaborator Author

commented Jul 30, 2019

Looks like no objections! Closing!

@markmandel markmandel closed this Jul 30, 2019

@markmandel markmandel added this to the 0.12.0 milestone Jul 30, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.