-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
CI cpp-tests is broken now for the latest pulsar-build image #9682
Comments
I think one available solution is to update the image again to add boost python for python3. It could also remove python2 and use python3 for python tests. And I'm trying to do this work. However, the image could only be tested in local environment. It seems that there's no way to verify if the new |
@BewareMyPower @aahmed-se probably it would have been better to tag the image with a new name and to not override the old name. I believe the best way to fix this is to publish again the old image. We can work on the new image without hurry. My expectation was to have a new image and test it on CI |
@eolivelli I agree with you. Currently it should use the old image and the CI for |
@BewareMyPower are you working on a fix on the build image or should I do it ? I hope that @aahmed-se @merlimat or anyone how has deploy permissions can fix the problem ASAP |
Yes. |
@eolivelli OK |
I have pushed the old image. And will push the new image after @BewareMyPower is fixed the issue. The old Dockerfile have some file can not download, I change some of it:
|
Fixes #9682 ### Motivation Currently, ci-cpp-tests uses `pulsar-build` image that is from `ubuntu:16.04` to build C++/Python client. The image uses `libboost-all-dev` for CMake to find boost dependencies. However, the Boost.Python library from Ubuntu 16.04's apt source only supports Python 2. ### Modifications - Specifying `PYTHON_INCLUDE_DIR` and `PYTHON_LIBRARY` could indicate the installation of Python to use. Since the `pulsar-build` image only contains Python binary but not the Python2 library (`libpython2.7so`), this PR installs `libpython-dev` to setup the Python2 library. Otherwise, CMake would still find the Python3 library(`libpython3.5.so`). - Remove redundant C++ client dependencies like `libjsoncpp-dev` and replace `libboost-all-dev` with the specific `libboost-xxx-dev`. ### Verifying this change - [ ] Make sure that the change passes the CI checks. *(Please pick either of the following options)* This change is a trivial rework / code cleanup without any test coverage.
### Motivation The CI - Pulsar Website Build has been broken for a long time. Here's an example run: https://github.com/apache/pulsar/runs/2635024657?check_suite_focus=true ``` CMake Error at python/CMakeLists.txt:85 (MESSAGE): -- Using Boost Python libs: Could not find Boost Python library ``` It looks like to be the same issue with #9682. #9690 fixed the broken CI for cpp client but the `ci-pulsar-website-build.yaml` wasn't modified. Another issue is after I fixed the cpp build for website build, the `python-doc-gen.sh` still failed because the default `pdoc` is a Python3 tool ``` + pdoc pulsar --html --html-dir /pulsar/generated-site/api/python/2.8.0-SNAPSHOT Traceback (most recent call last): File "/usr/local/bin/pdoc", line 7, in <module> from pdoc.__main__ import cli File "/usr/local/lib/python3.5/dist-packages/pdoc/__init__.py", line 328 ) -> str: ^ ``` So we need to install a Python2 version `pdoc` as well. ### Modifications - Use `ubuntu-16.04-py2` tag instead of old `ubuntu-16.04` tag in `docker-build-site.sh` and force CMake to find Python2 in `python-doc-gen.sh`. The the Pulsar Python client library could be built successfully. - Install a Python2 version `pdoc` in `python-doc-gen.sh`.
### Motivation The CI - Pulsar Website Build has been broken for a long time. Here's an example run: https://github.com/apache/pulsar/runs/2635024657?check_suite_focus=true ``` CMake Error at python/CMakeLists.txt:85 (MESSAGE): -- Using Boost Python libs: Could not find Boost Python library ``` It looks like to be the same issue with apache#9682. apache#9690 fixed the broken CI for cpp client but the `ci-pulsar-website-build.yaml` wasn't modified. Another issue is after I fixed the cpp build for website build, the `python-doc-gen.sh` still failed because the default `pdoc` is a Python3 tool ``` + pdoc pulsar --html --html-dir /pulsar/generated-site/api/python/2.8.0-SNAPSHOT Traceback (most recent call last): File "/usr/local/bin/pdoc", line 7, in <module> from pdoc.__main__ import cli File "/usr/local/lib/python3.5/dist-packages/pdoc/__init__.py", line 328 ) -> str: ^ ``` So we need to install a Python2 version `pdoc` as well. ### Modifications - Use `ubuntu-16.04-py2` tag instead of old `ubuntu-16.04` tag in `docker-build-site.sh` and force CMake to find Python2 in `python-doc-gen.sh`. The the Pulsar Python client library could be built successfully. - Install a Python2 version `pdoc` in `python-doc-gen.sh`.
Fixes #9682 Currently, ci-cpp-tests uses `pulsar-build` image that is from `ubuntu:16.04` to build C++/Python client. The image uses `libboost-all-dev` for CMake to find boost dependencies. However, the Boost.Python library from Ubuntu 16.04's apt source only supports Python 2. - Specifying `PYTHON_INCLUDE_DIR` and `PYTHON_LIBRARY` could indicate the installation of Python to use. Since the `pulsar-build` image only contains Python binary but not the Python2 library (`libpython2.7so`), this PR installs `libpython-dev` to setup the Python2 library. Otherwise, CMake would still find the Python3 library(`libpython3.5.so`). - Remove redundant C++ client dependencies like `libjsoncpp-dev` and replace `libboost-all-dev` with the specific `libboost-xxx-dev`. - [ ] Make sure that the change passes the CI checks. *(Please pick either of the following options)* This change is a trivial rework / code cleanup without any test coverage. (cherry picked from commit 1419d28)
### Motivation The CI - Pulsar Website Build has been broken for a long time. Here's an example run: https://github.com/apache/pulsar/runs/2635024657?check_suite_focus=true ``` CMake Error at python/CMakeLists.txt:85 (MESSAGE): -- Using Boost Python libs: Could not find Boost Python library ``` It looks like to be the same issue with apache#9682. apache#9690 fixed the broken CI for cpp client but the `ci-pulsar-website-build.yaml` wasn't modified. Another issue is after I fixed the cpp build for website build, the `python-doc-gen.sh` still failed because the default `pdoc` is a Python3 tool ``` + pdoc pulsar --html --html-dir /pulsar/generated-site/api/python/2.8.0-SNAPSHOT Traceback (most recent call last): File "/usr/local/bin/pdoc", line 7, in <module> from pdoc.__main__ import cli File "/usr/local/lib/python3.5/dist-packages/pdoc/__init__.py", line 328 ) -> str: ^ ``` So we need to install a Python2 version `pdoc` as well. ### Modifications - Use `ubuntu-16.04-py2` tag instead of old `ubuntu-16.04` tag in `docker-build-site.sh` and force CMake to find Python2 in `python-doc-gen.sh`. The the Pulsar Python client library could be built successfully. - Install a Python2 version `pdoc` in `python-doc-gen.sh`.
Describe the bug
Currently, the CI for cpp tests is broken because it uses the
apache/pulsar-build:ubuntu16.04
image as the base image to build cpp client. However, the image was updated yesterday to contain the change of #9609. This PR add python3 and pip3 and then CMake found python3 by default and tried to find boost python for python3. However, the boost python ofpulsar-build
image was installed bylibboost-all-dev
, which only supports python2.To Reproduce
See recent PR's CI.
Expected behavior
The pulsar-build image should work for cpp-tests.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: