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

Use prebuilt C++ client to reduce test time for build image #9374

Closed
Renkai opened this issue Jan 30, 2021 · 7 comments
Closed

Use prebuilt C++ client to reduce test time for build image #9374

Renkai opened this issue Jan 30, 2021 · 7 comments
Assignees
Labels
area/build lifecycle/stale type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages

Comments

@Renkai
Copy link
Contributor

Renkai commented Jan 30, 2021

Build C++ client now use lots of GitHub actions resource in our test workflow. If we can skip this step when the C++ client code is not changed, the time to build the docker image in the integration test will be reduced significantly.

@Renkai Renkai added the type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages label Jan 30, 2021
@jiazhai
Copy link
Member

jiazhai commented Feb 2, 2021

@Renkai Are you working on this issue?

@Renkai
Copy link
Contributor Author

Renkai commented Feb 2, 2021

@jiazhai Sure, I'm working on it

@jiazhai
Copy link
Member

jiazhai commented Feb 2, 2021

Thanks, will assign it to you

@Renkai
Copy link
Contributor Author

Renkai commented Feb 3, 2021

Maybe we can build a Debian package and upload it to somewhere every time the C++ client code updated, then retrieve it back when the integration test needs the debian package

@merlimat
Copy link
Contributor

merlimat commented Feb 3, 2021

The only reason we compile the C++ library for the Docker images is to include the Python client library, so that Python function can be executed in the Docker containers.

For CI tests purposes, it would be ok to use a snapshot of the Python lib. We could be pushing a nightly wheel file to the Apache Snapshot maven repo and fetch it from there in the integration tests.

The thing to be careful though, is that the same Dockerfile are also used to prepare the images for release. In that case, we must ensure the image is containing the right library compiled from the current working copy of the sources.

@codelipenghui
Copy link
Contributor

The issue had no activity for 30 days, mark with Stale label.

@tisonkun
Copy link
Member

IIRC we're implemented along with the move out of client C++ and Python at #17724.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build lifecycle/stale type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages
Projects
None yet
Development

No branches or pull requests

5 participants