gazebo-tooling / release-tools

8 stars 9 forks source link

Rewrite DSL generation to remove the approach based on Indexes #1137

Closed j-rivero closed 4 months ago

j-rivero commented 4 months ago

The DSL generation in gazebo_libs is based on an approach of building two indexes before looping over the gz-collections.yaml file. That approach does not respect the fact of having different ci_config (CI confgurations) that use the same platform and will overwrite the first one found if that situation occurs. The index build process also did not load the exclusion clauses included in the ci_configuration which are useful to be parsed when building the index.

The changes in this PR modify it to mainly:

Note: the common jobs used for -pr- need the assumption of having the same metadata when ci_configs use the same platform. The restrictions needs to be coded or the design corrected with structural changes.

This should unblock the options to avoid duplicates of the abicheckers and create noble pr jobs that do not duplicate the existing jammy ones.

j-rivero commented 4 months ago

CI results are promising:

diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_common-pr-win.xml /tmp/pr_xml_configuration/gz_common-pr-win.xml
--- /tmp/current_xml_configuration/gz_common-pr-win.xml 2024-05-15 17:12:08.959819245 +0000
+++ /tmp/pr_xml_configuration/gz_common-pr-win.xml  2024-05-15 17:11:04.003470351 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-common3</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-common4</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_fuel_tools-pr-win.xml /tmp/pr_xml_configuration/gz_fuel_tools-pr-win.xml
--- /tmp/current_xml_configuration/gz_fuel_tools-pr-win.xml 2024-05-15 17:12:17.963867864 +0000
+++ /tmp/pr_xml_configuration/gz_fuel_tools-pr-win.xml  2024-05-15 17:11:05.911480225 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-fuel-tools4</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-fuel-tools7</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_gui-pr-win.xml /tmp/pr_xml_configuration/gz_gui-pr-win.xml
--- /tmp/current_xml_configuration/gz_gui-pr-win.xml    2024-05-15 17:12:22.439892263 +0000
+++ /tmp/pr_xml_configuration/gz_gui-pr-win.xml 2024-05-15 17:11:06.895485318 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-gui3</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-gui6</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_msgs-pr-win.xml /tmp/pr_xml_configuration/gz_msgs-pr-win.xml
--- /tmp/current_xml_configuration/gz_msgs-pr-win.xml   2024-05-15 17:12:11.219831411 +0000
+++ /tmp/pr_xml_configuration/gz_msgs-pr-win.xml    2024-05-15 17:11:04.483472834 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-msgs5</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-msgs8</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_physics-pr-win.xml /tmp/pr_xml_configuration/gz_physics-pr-win.xml
--- /tmp/current_xml_configuration/gz_physics-pr-win.xml    2024-05-15 17:12:26.911916557 +0000
+++ /tmp/pr_xml_configuration/gz_physics-pr-win.xml 2024-05-15 17:11:07.851490264 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-physics2</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-physics5</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_rendering-pr-win.xml /tmp/pr_xml_configuration/gz_rendering-pr-win.xml
--- /tmp/current_xml_configuration/gz_rendering-pr-win.xml  2024-05-15 17:12:13.487843619 +0000
+++ /tmp/pr_xml_configuration/gz_rendering-pr-win.xml   2024-05-15 17:11:04.959475299 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-rendering3</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-rendering6</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_sensors-pr-win.xml /tmp/pr_xml_configuration/gz_sensors-pr-win.xml
--- /tmp/current_xml_configuration/gz_sensors-pr-win.xml    2024-05-15 17:12:24.667904384 +0000
+++ /tmp/pr_xml_configuration/gz_sensors-pr-win.xml 2024-05-15 17:11:07.375487801 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-sensors3</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-sensors6</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/gz_transport-pr-win.xml /tmp/pr_xml_configuration/gz_transport-pr-win.xml
--- /tmp/current_xml_configuration/gz_transport-pr-win.xml  2024-05-15 17:12:20.191880008 +0000
+++ /tmp/pr_xml_configuration/gz_transport-pr-win.xml   2024-05-15 17:11:06.407482792 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>ign-transport8</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>ign-transport11</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
diff -ur -I '.*<id>dashboard_portlet_.*</id>.*' /tmp/current_xml_configuration/sdformat-pr-win.xml /tmp/pr_xml_configuration/sdformat-pr-win.xml
--- /tmp/current_xml_configuration/sdformat-pr-win.xml  2024-05-15 17:12:15.731855698 +0000
+++ /tmp/pr_xml_configuration/sdformat-pr-win.xml   2024-05-15 17:11:05.435477762 +0000
@@ -56,6 +56,9 @@
             <cron></cron>
             <whiteListTargetBranches>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>
+                    <branch>sdf9</branch>
+                </org.jenkinsci.plugins.ghprb.GhprbBranch>
+                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>sdf12</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
                 <org.jenkinsci.plugins.ghprb.GhprbBranch>

Seems like the citadel branches were missing in Windows PRs. So changes are good to me eyes.