Xilinx / KRS

The Kria Robotics Stack (KRS) is a ROS 2 superset for industry, an integrated set of robot libraries and utilities to accelerate the development, maintenance and commercialization of industrial-grade robotic solutions while using adaptive computing.
https://Xilinx.github.io/KRS/
Other
46 stars 18 forks source link

ROS 2 build-farm integration of KRS core packages #53

Closed vmayoral closed 2 years ago

vmayoral commented 2 years ago

This ticket follows from https://github.com/ros2-gbp/ros2-gbp-github-org/pull/22#issuecomment-1073811491 and tracks the progress of releasing into the official ROS 2 buildfarm generic hardware acceleration-related KRS ROS packages.

ping @methylDragon, @luca-della-vedova. Please me keep this updated.

Hardware acceleration packages release status

Additional feedback

ROS packages release process

  1. Getting the package sources in working order (including creating a release tag on the source repository)
  2. Making a release repository (separate from the source repository)
  3. Doing a release, pushing it to the release repository
  4. Sending a PR to rosdistro and getting it merged
  5. Checking the buildfarm for successful builds, and waiting for the sources to get synced to the official ROS debian repositories

Additional tickets to track

vmayoral commented 2 years ago

@methylDragon, @luca-della-vedova I brought this information in here to continue tracking progress.

Reviewed the progress and added the dependency between ament_acceleration and ament_vitis. Let me know if you have any additional input!

vmayoral commented 2 years ago

@methylDragon, on https://github.com/ros-acceleration/tracetools_acceleration/issues/1#issuecomment-1081891662 a PR would be appreciated (if needed).

vmayoral commented 2 years ago

Fulfilled for all repos http://wiki.ros.org/buildfarm/Pull%20request%20testing

methylDragon commented 2 years ago

Nice!! I'll be doing the releases enabling PR testing moving forward then

On Wed, 30 Mar 2022, 07:16 Víctor Mayoral Vilches, @.***> wrote:

Fulfilled for all repos http://wiki.ros.org/buildfarm/Pull%20request%20testing

— Reply to this email directly, view it on GitHub https://github.com/Xilinx/KRS/issues/53#issuecomment-1083195759, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2TVRV6DOIQOYFYQX357PDVCROZ7ANCNFSM5R6N3R5Q . You are receiving this because you were mentioned.Message ID: @.***>

vmayoral commented 2 years ago

Reviewed package status and updated things accordingly above.

Looking further into colcon-hardware-acceleration.

vmayoral commented 2 years ago

All right, I think we're getting there. For the sake of alignment, thinks that I can track and are left:

Looking at Humble Freeze dates @methylDragon, anything that concerns you at this stage to make it safely?

methylDragon commented 2 years ago

We have until May 19 and most of the packages are already merged into rosdistro. There shouldn't be any issues unless vitis_common has binary build failures. Syncs will happen and don't require us to fit the package in after the deadline (the deadline just means the packages have to be frozen.)

The release for adaptive_component will be a bit tighter though, especially if we want to make time to make sure it's really robust.. But in principle if we just want a release, it can follow the same sort of process as per the packages we've released so far.

vmayoral commented 2 years ago

All right, it appears only package 1 is left to be completed with the overall KRS core packages release.

@methylDragon do we have any updates on?

methylDragon commented 2 years ago

No updates here, unfortunately.. The colcon team doesn't have capacity dedicated to this, so any support we get from them is from review time, that I've been trying to push for. This is for both PyPI and packagecloud.

The bizdev side people might be better to ask for progress on getting that maneuvered around, but we should be able to meet the humble freeze (also, the package is already available on PyPI anyway.)

But in the meantime I'll ping the colcon team to see if we can be added as maintainers.


What I'm more concerned about is whether we'll be able to get the acceleration nodes merged by the time. Would it be possible to start looking into those issues? I haven't been able to fully test the boards/run through the testing tutorials yet.

vmayoral commented 2 years ago

No updates here, unfortunately.. The colcon team doesn't have capacity assigned to this, so any support we get from them is from review time, that I've been trying to push for. This is for both PyPI and packagecloud.

Ok thanks.

To get clarity on my side and report back, does this mean that (both for now and future contributions) the bottleneck of colcon-hardware-acceleration contributions and PR reviews will be the colcon team? If so, and no access/privileges are given to us after transferring the repo, doesn't this mean that effectively, this repo will be maintained by the colcon team?

Maybe I misunderstood something in here, but this wasn't intended.

What I'm more concerned about is whether we'll be able to get the acceleration nodes merged by the time. Would it be possible to start looking into those issues? I haven't been able to fully test the boards/run through the testing tutorials yet.

What do you mean by "to get the acceleration nodes merged by the time"? The instructions that I have is for me to work with you guys to meet the objectives above (milestone 1) before anything else. Happy to support you while trying to run the acceleration examples if you're encountering problems. If so, could you open tickets with the corresponding issues (e.g. within acceleration_examples)?

Note that these examples aren't meant to be released in Humble/Rolling just yet.

methylDragon commented 2 years ago

I'm trying to get us added as maintainers, I think it'll be better for both the colcon team and the hardware-acceleration-wg in that case.

But for now there are no new actionables aside from waiting for colcon, and for the sync and making sure the currently released packages get propagated to the public repos.


Let's start working on the hardware acceleration nodes in the meantime.

There's a couple of information gathering issues asking about the intention currently and moving forward for certain decisions made in the implementation of adaptive_component. Should we track this in a separate issue?

methylDragon commented 2 years ago

Ok, both of us should be added as maintainers on the colcon org's hwa team! I've merged the PR accordingly.

@vmayoral , would you like to try doing the PyPI release?

How to do it With the publish-python binary and folder in the colcon package, run ``` # This targets the PyPI release and allows you to skip the packagecloud one! ./bin/publish-python -upload wheel:pypi ```
vmayoral commented 2 years ago

Thanks @methylDragon, uploaded 0.7.0 and confirmed I have privileges in both the repo and PyPI.

AFAIK, this wraps all items above for releasing key KRS repos. A few open questions:

methylDragon commented 2 years ago

Hi @vmayoral ,

As for packagecloud... The colcon team is trying to get the permissions to add us as maintainers to the colcon org's packagecloud. I think you can give them some time, and once they get those permissions, you can run this command to push to it instead (making sure to edit publish-python.yaml to point to the colcon org's packagecloud repo): ./bin/publish-python -upload stdeb:packagecloud

If they can't get the permissions, I think they'll look for a workaround. I'm not sure about the timeline for this.

vmayoral commented 2 years ago

All right, thanks. That clarifies a lot. I'll annotate then the checkboxes above to reflect pending things accordingly.

methylDragon commented 2 years ago

There might be a rolling sync by the end of this week, let's keep a look out!

methylDragon commented 2 years ago

Rolling sync is started: https://discourse.ros.org/t/preparing-for-rolling-sync-2022-04-12/25091

There is a hold on new rolling releases (so adaptive_component will have to wait till the sync is done.)

vmayoral commented 2 years ago

I can see @methylDragon that we're full-green now (e.g. http://repo.ros2.org/status_page/ros_rolling_default.html?q=ament_acceleration) but I did a quick check searching in Open Robotics ROS 2 apt repository and couldn't find these in Rolling (ros-rolling-*).

Maybe my expectation was wrong and there're some additional steps needed in the process until these become ready?

methylDragon commented 2 years ago

We need to wait for the sync to complete. It usually takes about a week or so, but our packages are in already.

See the new package list

If you can, confirm all the packages we've released are there. I see them.

methylDragon commented 2 years ago

I see some references in the source list: image

methylDragon commented 2 years ago

image image

methylDragon commented 2 years ago

http://packages.ros.org/ros2/ubuntu/lists/

methylDragon commented 2 years ago

Oh, also, rolling package releases on Linux only target Jammy if I'm not wrong. Try it out on a Jammy machine?

I see our packages in:

But not in (expected):

methylDragon commented 2 years ago

adaptive_component should be in rolling after this sync

methylDragon commented 2 years ago

https://discourse.ros.org/t/new-packages-for-ros-2-rolling-ridley-2022-04-22/25213 It's in!

methylDragon commented 2 years ago

Colcon package is up on http://repo.ros2.org/status_page/rolling_default.html and http://repo.ros2.org/status_page/humble_default.html !!

methylDragon commented 2 years ago

Now we're only waiting for a humble sync for our rolling packages (other than colcon) and we should be done!

vmayoral commented 2 years ago

Thanks everyone for the effort in here!