Skip to content

Commit a342166

Browse files
authored
Add release instructions for gazebo vendor packages (#576)
Signed-off-by: Addisu Z. Taddese <[email protected]>
1 parent 13da3c2 commit a342166

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

release_instructions.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,3 +306,49 @@ For checking that the build process is ongoing as expected:
306306
1. This pull request may take a minute or two to open.
307307
1. Once it is open, make a comment containing the text "build bottle".
308308
For further details, see the [README at osrf/homebrew-simulation](https://github.com/osrf/homebrew-simulation#to-build-bottles).
309+
310+
1. A pull request was opened to
311+
<https://github.com/gazebo-release/$VENDOR_PACKAGE/>, where
312+
`$VENDOR_PACKAGE` is the name of the Gazebo vendor package for ROS (see
313+
<https://gazebosim.org/docs/latest/ros2_gz_vendor_pkgs/>)
314+
315+
1. Ensure that the ROS CI build passes. Note that some builds have
316+
warnings which show up as failures on the Github UI while the build
317+
actually succeeded.
318+
1. For packages that are considered to be part of ROS core
319+
(`gz_cmake_vendor`, `gz_utils_vendor`, and `gz_math_vendor`), start
320+
additional CI tests using ci.ros2.org to build and test all ROS core
321+
packages that depend on these Gazebo vendor packages.
322+
* To do so, start a new [`ci_launcher`](https://ci.ros2.org/job/ci_launcher/) build with the
323+
following parameters:
324+
325+
* `CI_BRANCH_TO_TEST`: branch name of the PR (e.g. `releasepy/rolling/3.1.1`)
326+
* `CI_ROS2_REPOS_URL`: If the vendor package is going to `rolling`,
327+
this can be skipped, otherwise use `https://raw.githubusercontent.com/ros2/ros2/$ROSDISTRO/ros2.repos`
328+
where `$ROSDISTRO` is replaced by the target ROS distribution.
329+
* `CI_UBUNTU_DISTRO`: Pick the Ubuntu distro that matches the target ROS distribution
330+
* `CI_ROS_DISTRO`: The target ROS distribution. For Harmonic this is `jazzy`, for Ionic this is `rolling` until `kilted` is released.
331+
* `CI_BUILD_ARGS`: `--event-handlers console_cohesion+ console_package_list+ --cmake-args -DINSTALL_EXAMPLES=OFF -DSECURITY=ON -DAPPEND_PROJECT_NAME_TO_INCLUDEDIR=ON --packages-above-and-dependencies $VENDOR_PACKAGE` where `$VENDOR_PACKAGE` is the name of the Gazebo vendor package.
332+
* `CI_TEST_ARGS`: `--event-handlers console_cohesion+ --retest-until-pass 2 --ctest-args -LE xfail --pytest-args -m 'not xfail' --executor sequential --packages-above $VENDOR_PACKAGE` where `$VENDOR_PACKAGE` is the name of the Gazebo vendor package.
333+
334+
* Note: you might have to ask the Infrastructure team to get
335+
permission to run builds on ci.ros2.org.
336+
337+
1. Once all of CI builds are successful, merge the PR
338+
1. Make sure you have the required permission by checking
339+
<https://github.com/ros2-gbp/ros2-gbp-github-org/blob/latest/gazebo.tf>.
340+
If your username is not there, follow
341+
[these instructions](https://docs.ros.org/en/rolling/How-To-Guides/Releasing/Release-Team-Repository.html#join-a-release-team)
342+
to get added to the release team.
343+
1. Follow the steps of releasing a ROS package to release the vendor
344+
package
345+
<https://docs.ros.org/en/rolling/How-To-Guides/Releasing/Subsequent-Releases.html>
346+
* Bump patch versions if the package has already been released for
347+
the target ROS distribution. This is almost always what you want
348+
to do.
349+
* Bump minor version only if the package is being released into
350+
`rolling` and if the release happens immediately after a new ROS
351+
distribution has been branched off of `rolling`. The intention
352+
here is that all release branches (e.g. `jazzy`, `kilted`,
353+
`rolling`, etc.) have distinct minor version numbers.
354+
* Never bump the major version number.

0 commit comments

Comments
 (0)