-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Prepare Rolling for platform transition. #32036
Conversation
Regarding the failing test (complaining about |
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/holding-releases-to-perform-rolling-transition-to-new-platforms/24191/1 |
ae7289e
to
68a46ef
Compare
This release repository was forked into ros2-gbp for the Galactic migration in April 2021 and has not been released into the upstream repository since. Since the [upcoming Rolling platform migration](#32036) will again branch the release repository into ros2-gbp I recommend that we update it pre-emptively to reduce churn in the bloom configuration branches.
These release repositories were forked into ros2-gbp for the Galactic migration in April 2021. Some packages have not been released into the upstream repository since but some have. For the packages which have had releases these have been merged into the ros2-gbp branch on 2022-02-07. Since the [upcoming Rolling platform migration](#32036) will again branch the release repositories into ros2-gbp I recommend that we update them pre-emptively to reduce churn in the bloom configuration branches.
This release repository was forked into ros2-gbp for the Galactic migration in April 2021 and has not been released into the upstream repository since. Since the [upcoming Rolling platform migration](#32036) will again branch the release repository into ros2-gbp I recommend that we update it pre-emptively to reduce churn in the bloom configuration branches.
This release repository was forked into ros2-gbp for the Galactic migration in April 2021 and has not been released into the upstream repository since. Since the [upcoming Rolling platform migration](#32036) will again branch the release repository into ros2-gbp I recommend that we update it pre-emptively to reduce churn in the bloom configuration branches.
This release repository was forked into ros2-gbp for the Galactic migration in April 2021 and has not been released into the upstream repository since. Since the [upcoming Rolling platform migration](#32036) will again branch the release repository into ros2-gbp I recommend that we update it pre-emptively to reduce churn in the bloom configuration branches.
This release repository was forked into ros2-gbp for the Galactic migration in April 2021 and has not been released into the upstream repository since. Since the [upcoming Rolling platform migration](#32036) will again branch the release repository into ros2-gbp I recommend that we update it pre-emptively to reduce churn in the bloom configuration branches.
This release repository was forked into ros2-gbp for the Galactic migration in April 2021 and has not been released into the upstream repository since. Since the [upcoming Rolling platform migration](#32036) will again branch the release repository into ros2-gbp I recommend that we update it pre-emptively to reduce churn in the bloom configuration branches.
The release repository was forked into ros2-gbp for the Galactic migration in April 2021. Since then there have been releases into the upstream release repository. These releases were merged into the ros2-gbp branch on 2022-02-07. Since the [upcoming Rolling platform migration](#32036) will again branch the release repositories into ros2-gbp and the ros2-gbp repository is now up-to-date with the external repository I recommend that we update the release repository pre-emptively to reduce churn in the bloom configuration branches.
The release repository was forked into ros2-gbp for the Galactic migration in April 2021. Since then there have been releases into the upstream release repository. These releases were merged into the ros2-gbp branch on 2022-02-07. Since the [upcoming Rolling platform migration](#32036) will again branch the release repositories into ros2-gbp and the ros2-gbp repository is now up-to-date with the external repository I recommend that we update the release repository pre-emptively to reduce churn in the bloom configuration branches.
Using the migration-tool version from 38741a4 Migration command: ``` python3 migration-tools/migrate-rosdistro.py --source rolling --dest rolling \ --source-ref 7eafe04 \ --release-org ros2-gbp \ ``` These packages did not build (as expected from previous runs) * aws-robomaker-small-warehouse-world * control_box_rst * fmi_adapter * fmilibrary_vendor * gazebo_ros2_control * gazebo_ros_pkgs * ign_rviz * ignition_cmake2_vendor * ignition_math6_vendor * locator_ros_bridge * moveit * ntpd_driver * ompl * rmw_connextdds * rmw_gurumdds * ros_ign * rosidl_typesupport_gurumdds * rtabmap * sdformat_urdf * usb_cam * warehouse_ros_mongo * webots_ros2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just did a spot check to make sure the platforms are what I expected, and that the release repos generally looked good. It all looked good to me, and CI is green now, so approved!
@tfoote, @nuclearsandwich, where can I find the CI reports please, to work on the issues with fmilibrary_vendor and locator_ros_bridge? I've setup ROS 2 Rolling on a Jammy VM and could build both repos. Hence the problems seem to occur at the actual bloom release. |
The CI failures that tfoote was referring to were the the checks for this distro file which run the rosdistro cache build process and identified missing release artifacts as a result of #32112 The failures for packages listed above were all failures during the bloom release process for the migration tool, which runs non-interactively. fmilibrary_vendor failed because of the ':{ask}' in the release_tag field
locator_ros_bridge failed because Running That being said, if you'd prefer to leave things as they are and make manual bloom-releases after subsequent migrations (such as the creation of ROS 2 Humble in a couple of months) I think that's also fine. |
Since I was canny enough to backup every ros2-gbp repository locally before running this migration. I had snapshots of the Rolling release branches prior to migration which I could use to find patches which had been clobbered by #32128 I used the following script to identify release branches with non-standard bloom commits and ran it over each repository in my backup to produce a TODO list of repositories that require attention. As of now each repository has been seen to and most have had their patches restored where necessary. There are a few packages where I am waiting for the maintainer's approval before I perform a non-maintainer release. #!/usr/bin/env ruby
require "ostruct"
require "optparse"
BLOOM_DEFAULT_COMMIT_MESSAGES = [
%r{Created orphaned branch \w+},
%r{Imported Upstream version [\.\d]+},
%r{Imported upstream version '[\.\d]+' of '\w+'},
%r{Imported upstream version '[\.\d]+' from '[^']+'},
%r{Rebase from '[\w+/]+'},
%r{Placing (debian|rpm) template files},
%r{Trimmed the branch to only the [\w/]+ sub directory},
%r{Generated (debian|RPM) files for \w+},
%r{Generated RPM spec file for \w+},
%r{Renamed RPM spec file for \w+},
%r{Overlaid patches from '\w+'},
%r{Revert "Trimmed},
]
BRANCH_BASES = %w[debian release rpm]
options = OpenStruct.new
OptionParser.new do |opts|
opts.on("-rROSDISTRO", "--rosdistro ROSDISTRO") do |rosdistro|
options.rosdistro = rosdistro
end
opts.on("-bBASE", "--branch-base BASE") do |branch_base|
if branch_base == "ALL"
options.branch_base = BRANCH_BASES
elsif not BRANCH_BASES.include? branch_base
raise ArgumentError, "#{branch_base} must be one of: #{BRANCH_BASES.join(" ")} or ALL"
else
options.branch_base = [branch_base]
end
end
end.parse!
if options.rosdistro.nil?
options.rosdistro = "rolling"
end
if options.branch_base.nil?
options.branch_base = BRANCH_BASES
end
refs_to_check = Array.new
options.branch_base.each do |base|
refs_to_check += `git for-each-ref --format='%(refname)' 'refs/heads/#{base}/#{options.rosdistro}'`.lines.map(&:strip)
end
reponame = File.basename Dir.pwd
refs_to_check.each do |ref|
non_default = false
`git log --pretty=%s #{ref}`.lines.map(&:strip).each do |commit_message|
unless BLOOM_DEFAULT_COMMIT_MESSAGES.any? { |r| r.match commit_message }
STDERR.puts commit_message if ENV['DEBUG']
non_default = true
puts "#{reponame}\tCommits on #{ref} are non-default!"
break
end
end
next if non_default
end ament_cmake-release.git
|
This pull request has been mentioned on ROS Discourse. There might be relevant details there: |
As part of the transition process using the rosdistro migration tools we need an empty target distribution with the intended target platforms.
The first commit of this PR empties the repositories list which will get re-populated when the migration tool runs.
The second commit removes ubuntu focal, adds ubuntu jammy, and adds debian bullseye leaving RHEL8 in place.
It is easier to review each commit separately.
I'd like to get review of this pull request in two phases.
I'd like on review phase to approve the platform list and source ref as I prepare to run the migration tool. This PR won't be merged as-is once approved. Instead it will be used as the foundation for a migration using 7eafe04 as the source ref.
Once the migration is complete, I'll update this PR and request a second phase of reviews for merging the completed migration.
Migration command:
Of 299 repositories, 22 failed to bloom successfully.
This is most frequently caused by missing rosdep dependencies.
The following packages failed to bloom:
control_box_rstcontrol_box_rst: 0.0.7-3 in 'rolling/distribution.yaml' [bloom] #32285fmi_adapterfmi_adapter: 2.1.1-2 in 'rolling/distribution.yaml' [bloom] #32287fmilibrary_vendorfmilibrary_vendor: 1.0.1-2 in 'rolling/distribution.yaml' [bloom] #32288gazebo_ros2_controlgazebo_ros2_control: 0.0.8-2 in 'rolling/distribution.yaml' [bloom] #32286ignition_cmake2_vendorignition_cmake2_vendor: 0.0.1-2 in 'rolling/distribution.yaml' [bloom] #32198ignition_math6_vendorignition_math6_vendor: 0.0.1-2 in 'rolling/distribution.yaml' [bloom] #32199locator_ros_bridgelocator_ros_bridge: 2.1.5-1 in 'rolling/distribution.yaml' [bloom] #32191ntpd_driverntpd_driver: 2.1.0-2 in 'rolling/distribution.yaml' [bloom] #32291omplompl: 1.5.2-2 in 'rolling/distribution.yaml' [bloom] #32292rmw_connextddsrmw_connextdds: 0.8.3-1 in 'rolling/distribution.yaml' [bloom] #32130Follow-up migration command using tool version at 38741a4 and destination distribution at c066067