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

Trigger rebuild of latest ROS base images #182

Closed
redkite opened this issue Aug 14, 2018 · 5 comments
Closed

Trigger rebuild of latest ROS base images #182

redkite opened this issue Aug 14, 2018 · 5 comments

Comments

@redkite
Copy link

redkite commented Aug 14, 2018

We are trying to use the latest ROS base images for our CI process, but the images are outdated and builds fail.

Is there any way to trigger a rebuild of these images, or do we just have to wait? It's probably to build the full stack for ourselves then. From what I can see in Travis they seem to have failed due to some network timeout issues lately?

@mikaelarguedas
Copy link
Contributor

Thanks @redkite for reporting.
Could you provide more information about what image you are trying to use, how you use it in your CI scripts as well as more details about the build failures you experience?

The base images are in the official dockerhub library and rebuilt when new ubuntu images are released. Ways of ensuring rebuilds when a ROS distribution is synced are discussed at #112.

It's probably to build the full stack for ourselves then.

We recommend running an upgrade (apt update && apt upgrade -y) to be sure to get the latest ROS packages released before performing builds on top. There shouldn't be a need to rebuild any released package yourself.

From what I can see in Travis they seem to have failed due to some network timeout issues lately?

Travis is just used for sanity checking on our side, the state of travis does not reflect the state of the images part of the official Docker library.

HTH,

@redkite
Copy link
Author

redkite commented Aug 14, 2018

Thank you for the info.

Could you provide more information about what image you are trying to use, how you use it in your CI scripts as well as more details about the build failures you experience?

We are using the ros:kinetic-ros-base image, and had problems with the changed behavior of rosconsole from 0.5.1 to 0.5.2. I think it's caused by newer packages that rely on version 0.5.2 without upgrading rosconsole itself. After running the base image we install all necessary ROS packages with rosdep to ensure all dependencies we have are correct.

As a workaround I'll add the upgrade process to the Dockerfile after pulling the ros base image. Would be nice to have a mechanism to rebuild the docker images after new deb-packages have been published, but I can see that there probably won't be any other way than solving #112 .

@mikaelarguedas
Copy link
Contributor

Sounds good, thanks for the additional information.

I think it's caused by newer packages that rely on version 0.5.2 without upgrading rosconsole itself.

If this is the case, these packages should have their package.xml modified to reflect the minimal version they require (example here), this way apt will make sure that the installed version is high enough. If you get a chance to identify which packages these are, please consider submitting a PR for listing the minimal rosconsole version.

Would be nice to have a mechanism to rebuild the docker images after new deb-packages have been published, but I can see that there probably won't be any other way than solving #112 .

Agreed 👍 hopefully we'll get around implementing it in the future.

As there seem to be a workaround, I'm going to close this issue, feel free to comment here if you still face problems and we can reopen this issue

@mikaelarguedas
Copy link
Contributor

mikaelarguedas commented Aug 14, 2018

As a second datapoint: I pulled the latest ros:kinetic-ros-base and checked the rosconsole version:

# apt-cache show ros-kinetic-rosconsole | grep Version
Version: 1.12.13-0xenial-20180222-205214-0800

This seem to be the last released version for kinetic: https://github.com/ros/rosdistro/blob/d9bd4bb03c4a9c6e9dead3c5a3b3efaf8c3f52ea/kinetic/distribution.yaml#L9806

Can you make sure you have the latest docker image ? (docker pull ros:kinetic-ros-base)


Edit: You were referring to rosconsole_bridge and not rosconsole that is indeed outdated in the docker image:

# apt list --upgradable | grep rosconsole-bridge
ros-kinetic-rosconsole-bridge/xenial 0.5.2-0xenial-20180803-163308-0800 amd64 [upgradable from: 0.5.1-0xenial-20180222-205946-0800]

@redkite
Copy link
Author

redkite commented Aug 14, 2018

Yes, sorry. My bad, it is indeed ros-kinetic-rosconsole-bridge. I added apt upgrade to my Dockerfile for now, seems to run fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants