-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
ROS 2 Release Checklist
Target distros: Humble, Jazzy
Packages: muto_msgs, muto_core, muto_agent, muto_composer, eclipse_muto
Version: 0.42.0
Part 1: Prerequisites
- Install bloom and catkin-pkg
sudo apt install python3-bloom python3-catkin-pkg
- Verify each upstream repo (
eclipse-muto/messages,agent,composer,core,eclipse_muto) is public on GitHub - Ensure the
mainbranch of each repo has the final, release-ready code
Part 2: Prepare Source Repositories
For each package repo:
- Generate changelogs
catkin_generate_changelog --all
- Edit the generated
CHANGELOG.rstfiles. Document notable changes, keep the "Forthcoming" header - Bump the version and create a tag
This updates
catkin_prepare_release --bump minor # 0.42.0package.xml, replaces the changelog heading with the version/date, creates a git tag, and pushes to the remote. - Verify the tag exists on GitHub for each repo
Part 3: Release Infrastructure
3.1 Create a release team on ros2-gbp
- Go to ros2-gbp/ros2-gbp-github-org
- Open a "New Release Team" issue to create an Eclipse Muto release team
- List the GitHub usernames of all team members
3.2 Submit source entry PR to ros/rosdistro
- Fork ros/rosdistro (if not already)
- Add source entries to
humble/distribution.yamlfor each repo:muto_msgs: source: type: git url: https://github.com/eclipse-muto/messages.git version: main status: developed
- Repeat for
muto_core,muto_agent,muto_composer,eclipse_muto - Repeat in
jazzy/distribution.yaml - Open PR and wait for it to be merged
3.3 Request release repos on ros2-gbp
- After the source entry PR is merged, open an "Add New Release Repositories" issue at ros2-gbp/ros2-gbp-github-org
- Request creation of:
ros2-gbp/muto_msgs-releaseros2-gbp/muto_core-releaseros2-gbp/muto_agent-releaseros2-gbp/muto_composer-releaseros2-gbp/eclipse_muto-release
- Wait for repos to be created
3.4 Set up GitHub token for bloom
- Create a GitHub Personal Access Token (classic) with
public_repoandworkflowscopes - Save to
~/.config/bloom:{ "github_user": "<your-username>", "oauth_token": "<your-token>" } - Add credential helper to
~/.gitconfig:[credential "https://github.com/ros2-gbp"] username = x-access-token helper = "!f() { test \"$1\" = get && echo \"password=<your-token>\"; }; f"
Part 4: Run bloom-release
4.1 Release for Humble
-
bloom-release --new-track --rosdistro humble --track humble muto_msgs -
bloom-release --new-track --rosdistro humble --track humble muto_core -
bloom-release --new-track --rosdistro humble --track humble muto_agent -
bloom-release --new-track --rosdistro humble --track humble muto_composer -
bloom-release --new-track --rosdistro humble --track humble eclipse_muto
--new-trackis only needed for the first release. Bloom will prompt for the upstream repo URL, branch, etc.
4.2 Release for Jazzy
-
bloom-release --new-track --rosdistro jazzy --track jazzy muto_msgs -
bloom-release --new-track --rosdistro jazzy --track jazzy muto_core -
bloom-release --new-track --rosdistro jazzy --track jazzy muto_agent -
bloom-release --new-track --rosdistro jazzy --track jazzy muto_composer -
bloom-release --new-track --rosdistro jazzy --track jazzy eclipse_muto
Part 5: Post-Release
- Verify bloom auto-created PRs against ros/rosdistro with the release entries
- Wait for rosdistro maintainer review
- After merge, monitor the ROS buildfarm for build status
- Confirm packages appear in ros-testing (should be 24–48 hours after merge)
- Confirm packages are synced to the main
packages.ros.orgrepo (next sync cycle, should be every 2–4 weeks)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels