@tfoote
Following up from some comments during the last TSC meeting and this ancient thread, I’d like to check what tasks need to be done to get Debian Buster as a Tier 2 supported platform for ROS 2 Eloquent.
In particular what infrastructure do we need to set up and what do we need to provide to where for the binary packages to be made available?
I was discussing this with @tfoote just now and we think that for the moment it would be okay if you added a Debian Buster build to ci.ros2.org via pull requests to GitHub - ros2/ci: ROS 2 CI Infrastructure as the shortest path to shareable results. To make developing that PR easier it might make sense to set up a local CI clone which would require at least two virtual machines, one for the master and one for the agent.
Linux builds on ci.ros2.org and ros_buildfarm are run inside Docker containers, so it is not necessary for either setup to have agents running Debian natively and I’d expect there to be some problems doing so since the configuration management for buildfarm_deployment and the instructions available for setting up ci.ros2.org infrastructure all assume Ubuntu 16.04.
@miker256 this article uses ROS from Buster repositories and is not going to be much use when supporting mainline ROS 2 development on Debian Buster since they’ll need tool versions from our repositories not Debian’s.
ros2/ci has many different job types
Right now support tiers describe what may block a release, automated testing frequency requirements, and, on platforms where per-package binaries are available, what type of binaries we provide. In the past it’s been easier to add additional nightly jobs for tier 2 platforms rather than create a separate periodic job type. But only the Tier 1 platforms are triggered as part of a pull request review process and even with nightly jobs running that does not mean that our on-call build farmer is required to respond to issues on other platforms. Once the jobs are running on CI we’ll expect that the community members who want to support Debian will do the work of checking the periodic jobs and getting them on par with the other platforms.
The sub-module https://github.com/osrf/rticonnextdds-src/ included in https://github.com/ros2/ci seems to be private.
Now, comment out the part of the Dockerfile that adds the license and run the job with the option not to use Connext. Do we have to contract and prepare our own RTI Connext DDS license?
The logic in ros2/ci has two options to use Connext:
either install the Debian package available (which implies accepting the embedded license) or install Connext on macOS / Windows machines
or build Connext from source (that is what the osrf/rticonnextdds-src repo is for). Since this repo is private you would need to talk to RTI if you want access to their sources in a similar way.
Sticking to just the first option is probably fine for you.
@dirk-thomas
We modified the Dockerfile and finished testing with jenkins. The build was successful, but some test fail. The test summary is as follows.
When I tried from the latest commit, test results have been improved.
There are still some errors, but it seems to be caused by the version difference of apt package.