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

Add article on checking package build status to Releasing guide. #4621

Draft
wants to merge 1 commit into
base: rolling
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions source/How-To-Guides/Releasing/Check-package-build-status.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Check package build status
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Check package build status
Check package build status on the Build Farm

God, we need a style guide. Is it Build Farm or Buildfarm or build farm?!

==========================

Released ROS 2 packages with binary releases enabled are built on the `ROS 2 build farm <https://build.ros2.org>`_.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Released ROS 2 packages with binary releases enabled are built on the `ROS 2 build farm <https://build.ros2.org>`_.
The ROS 2 build farm is the ROS project's primary means of generating binary packages from publicly available ROS package source code repositories. Released ROS 2 packages with the `binary releases` flag enabled are built on the `ROS 2 build farm <https://build.ros2.org>`_ and then made available to downstream users via a variety of different package management systems (e.g. Yum, Apt, RPM, etc) .

Drawing this out for the less versed users.


Email notifications
-------------------

Maintainers of a released package will receive email notifications from the ROS 2 build farm, specifically ``[email protected]`` when builds fail or succeed after failure.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this e-mail keyed to? The package.xml I presume?

It would be good to remind people where that address is set. Can more than one person be notified?

The email notification will include a log excerpt and a link to the failing build in the ROS 2 build farm web interface.


Build farm rosdistro status pages
---------------------------------

The ROS 2 build farm web interface was not designed for the scale of jobs on the build farm.
Navigating to specific builds using the web interface is cumbersome and generates unnecessary load and thus is not recommended.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Navigating to specific builds using the web interface is cumbersome and generates unnecessary load and thus is not recommended.
Navigating to specific builds using the web interface is cumbersome and generates unnecessary load on the build farm and thus is not recommended.


The ROS 2 build farm repository hosts several status pages which are used by the ROS core team and ROS bosses.
These status pages can be used by package maintainers as well.

ROS 2 status pages are hosted at `<https://repo.ros2.org/status_page>`_, which contains an autoindex of all current status pages.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ROS 2 status pages are hosted at `<https://repo.ros2.org/status_page>`_, which contains an autoindex of all current status pages.
ROS 2 status pages are hosted at `<https://repo.ros2.org/status_page>`_, which contains an automatically generated index of all current package status pages.

The status pages which are most relevant to package maintainers are the "release status" pages which are named ``ros_${ROS_DISTRO}_${TARGET}.html``.
The ``${ROS_DISTRO}`` value is the codename of a specific ROS distribution and the ``${TARGET}`` value is taken from the specific release build configuration file in the `ROS 2 build farm configuration <https://github.com/ros2/ros_buildfarm_config>`_.
Current target values are
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Current target values are
Current target values are:


- ``default`` for the AMD64 Ubuntu release supported by the ROS distribution,
- ``rhel`` for the AMD64 RHEL-compatible Enterprise Linux release supported by the ROS odistribution.
- ``XYv8`` for the ARM64 Ubuntu release supported by the ROS distribution.
The first two characters indicate the operating system distribution (``u`` for Ubuntu, ``d`` for Debian) and release codename (e.g. ``j`` for Ubuntu 22.04 Jammy, ``n`` for Ubuntu 24.04 Noble), the latter two characters ``v8`` refer to the target architecture ARM64 by its historic Debian designation ``armv8``.


Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For example, if you wish to find the status page for ROS 2 Jazzy packages built for the Ubuntu 24.04 Noble operating system on an Arm64 architecture your ``${ROS_DISTRO}`` would be `jazzy` and your ``${TARGET}`` would be ``unv8``, yielding the URL: ``https://repo.ros2.org/status_page/ros_jazzy_unv8.html``


To find information about your package in a specific ROS distribution such as Rolling Ridley on Ubuntu AMD64, use the ``ros_rolling_default.html`` status page.

Examples
^^^^^^^^

Fixed package
..
TODO(nuclearsandwich) this is just filler to prove images work.
Needs elaboration

.. image:: Check-package-build-status/images/fixed_package.png
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, I think a diagram here may be easier to read here than displaying the images and then trying to describe what's going on. Is it easy to maintain, not really, but it is a lot clearer.

If I had a better idea about what is going on I could whip something up in Canva really quick. What are you doing this Friday at 11am? =)


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions source/How-To-Guides/Releasing/Releasing-a-Package.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Releasing a Package
Subsequent-Releases
Release-Team-Repository
Release-Track
Check-package-build-status

**Releasing a package makes your package available on the public ROS 2 buildfarm.**
This will:
Expand Down
Loading