You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The bump_dependency.bash iterates over a list of packages and their dependents to bump versions. It currently iterates over the dependent packages in alphabetical order, but it would be better to iterate in topological order. For #554 I ran the script multiple times to select packages at the appropriate topological level.
# order in which script presented packages for pull requests
ign-msgs
ign-fuel-tools
ign-gazebo
ign-gui
ign-launch
ign-sensors
ign-transport
ign-garden
The first time through, I selected the ign-msgs pull requests and waited. Once those were merged, I selected ign-fuel-tools and ign-transport and ended the script. I ran it again and selected ign-gui and ign-sensors and ended the script. It would be convenient to run the script once and pause at each topological level to wait for pull requests to be reviewed and merged.
The text was updated successfully, but these errors were encountered:
As an interim solution to this issue, to aid in topological ordering of larger dependency trees, I wrote a python script to generate topological level-groups of packages on gazebodistro (with each group constituting a set of PRs to merge.)
Following the script's outputs, it should guarantee (I hope..) PR merging safety (thought it might momentarily break downstream packages, as expected.)
But it might be less efficient, requiring a larger number of PR batches, since there's no logic to intelligently merge PR batches across different topological levels if safe.
The script:
Finds the latest yaml files for any candidate libraries (dependency or bump targets)
Automatically resolves dependants of bump targeted libraries
Finds topological level of library
E.g. A -> B -> C (B depends on A, C depends on A). Then, A is level 2, B is level 1, C is level 0.
This is also true even if A -> C, as long as A -> B -> C!
Level is determined by length of longest path in the dependency tree.
The
bump_dependency.bash
iterates over a list of packages and their dependents to bump versions. It currently iterates over the dependent packages in alphabetical order, but it would be better to iterate in topological order. For #554 I ran the script multiple times to select packages at the appropriate topological level.The first time through, I selected the
ign-msgs
pull requests and waited. Once those were merged, I selected ign-fuel-tools and ign-transport and ended the script. I ran it again and selected ign-gui and ign-sensors and ended the script. It would be convenient to run the script once and pause at each topological level to wait for pull requests to be reviewed and merged.The text was updated successfully, but these errors were encountered: