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

Update docker images to use upstream's colcon yaml #239

Merged

Conversation

diegoferigo
Copy link
Collaborator

After #237, we no longer need to use a custom branch and we can depend directly from upstream. This PR updates the Dockerfile used to generate the images for our CI/CD pipeline to download the official colcon yaml for Citadel.

I also disabled the static compilation of ign-gazebo since it does not work properly as discussed in ami-iit/gazebo-scenario-plugins#2 (comment).

since it does not work anyway when both the static and dynamic version of protobuf are loaded by the OS
@diegoferigo diegoferigo self-assigned this Sep 7, 2020
@traversaro
Copy link
Contributor

traversaro commented Sep 7, 2020

Eventually this will be replaced by assuming that the correct binaries are already installed in the system via the apt .deb packages provided by the OpenRobotics repo, right?

I am asking as a CICD pipeline that uses branches scares me a bit as it is a bit difficult to reproduce its result if the underlying branches change, but if this is something temporary that is not a big problem.

@diegoferigo
Copy link
Collaborator Author

diegoferigo commented Sep 7, 2020

In general our policy is to stay compatible with upstream's binaries with the master branch, and currently those CI/CD pipelines already use the released packages (then, master is out of sync waiting the v1 release, but this is another story). Instead, devel should only be compatible with any upstream branch, not necessarily released / tagged versions. This helps us to keep the pace with upstream and get either the most recent features of the release used in master (Citadel right now) or test / prepare the update to new releases (like Dome).

In short, devel will always use a colcon workspace and it will possibly get broken if there are breaking changes. Within the same upstream release, upstream guidelines about API and ABI stability are already quite robust and should prevent that, but never say never :)

Edit: in these past few months of using our own colcon yaml, the pipeline got occasionally broken. This happens when upstream updates the dependencies used by the ign-gazebo branch. They keep in sync the branches of the dependencies of the official yaml, though if we vendor it, it's more likely that we get a cmake error rather than using directly the upstream resources.

@diegoferigo diegoferigo merged commit c65f045 into robotology-legacy:devel Sep 7, 2020
@diegoferigo diegoferigo deleted the feature/docker-upstream branch September 7, 2020 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants