gazebo-tooling / release-tools

8 stars 9 forks source link

Change abichecker generation to use gz-collection.yaml #1038

Closed j-rivero closed 9 months ago

j-rivero commented 9 months ago

Modify the abichecker job generation to use the new static configuration. Steps done:

  1. Update abichecker to work with gz-* and Rename abichecker bash script to gz
  2. Implement gazebo_libs jobs for abichecker
  3. Return true from all ignition abichecker previous jobs
  4. Manage excluding jobs by: Move exclude to an all category and Add excludes for abichecker.

Diff from existing gz-physics-abichecker (focal) to the new one (jammy):

-- ignition_physics-abichecker-any_to_any-ubuntu_auto-amd64.xml 2023-10-12 23:40:39.121096682 +0200
+++ /home/jrivero/code/release-tools/jenkins-scripts/dsl/gz_physics-abichecker-any_to_any-ubuntu-jammy-amd64.xml    2023-10-12 23:04:47.129930896 +0200
@@ -73,15 +73,6 @@
             <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>
-                    <branch>gz-physics6</branch>
-                </org.jenkinsci.plugins.ghprb.GhprbBranch>
-                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                     <branch>gz-physics7</branch>
                 </org.jenkinsci.plugins.ghprb.GhprbBranch>
             </whiteListTargetBranches>
@@ -144,26 +135,25 @@
             </source>
         </hudson.plugins.groovy.SystemGroovy>
         <hudson.tasks.Shell>
-            <command>                #!/bin/bash -xe
+            <command>#!/bin/bash -xe
+
+export DISTRO=jammy

-                export DISTRO=focal

-                
-                
 export MAKE_JOBS=1

-                export ARCH=amd64
-                export DEST_BRANCH=${DEST_BRANCH:-$ghprbTargetBranch}
-                export SRC_BRANCH=${SRC_BRANCH:-$ghprbSourceBranch}
-                export SRC_REPO=${SRC_REPO:-$ghprbAuthorRepoGitUrl}
-                export ABI_JOB_SOFTWARE_NAME=ign-physics
-                /bin/bash -xe ./scripts/jenkins-scripts/docker/ignition-abichecker.bash
-                </command>
+export ARCH=amd64
+export DEST_BRANCH=${DEST_BRANCH:-$ghprbTargetBranch}
+export SRC_BRANCH=${SRC_BRANCH:-$ghprbSourceBranch}
+export SRC_REPO=${SRC_REPO:-$ghprbAuthorRepoGitUrl}
+export ABI_JOB_SOFTWARE_NAME=gz-physics
+/bin/bash -xe ./scripts/jenkins-scripts/docker/gz-abichecker.bash
+</command>
         </hudson.tasks.Shell>
     </builders>
     <publishers>
         <hudson.plugins.emailext.ExtendedEmailPublisher>
-            <recipientList>$DEFAULT_RECIPIENTS, caguero@osrfoundation.org</recipientList>
+            <recipientList>$DEFAULT_RECIPIENTS</recipientList>
             <configuredTriggers>
                 <hudson.plugins.emailext.plugins.trigger.FailureTrigger>
                     <email>
@@ -412,7 +402,7 @@
         <gitTool>Default</gitTool>
         <extensions>
             <hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
-                <relativeTargetDir>ign-physics</relativeTargetDir>
+                <relativeTargetDir>gz-physics</relativeTargetDir>
             </hudson.plugins.git.extensions.impl.RelativeTargetDirectory>
         </extensions>
         <browser class='hudson.plugins.git.browser.GithubWeb'>
j-rivero commented 9 months ago

Are all the abichecker jobs using the gz prefix now? > I see ign_*.xml files in /tmp/pr_xml_configuration, so I wasn't sure.

The names are using the lib names defined in the yaml file. Citadel is using the ign- prefix but all others are using the gz- now.

Also, I'm seeing abi jobs for each platform (e.g. gz_sim-abichecker-any_to_any-ubuntu-focal-amd64.xml, gz_sim-abichecker-any_to_any-ubuntu-jammy-amd64.xml). I think we only need one.

Good catch. To workaround this, I've excluded manually the libs in the yaml file in d996eb9 and added a CI test for it. I would prefer to solve this in a declarative way instead of coding a hidden solver for it. The rest of jobs listed here that runs on different platforms they are supporting different branches should be fine and needed to have them.

j-rivero commented 9 months ago

Log is a mix of tabs diffs (introduce quite a lot of noise but the change needed was a bug fix), legitim old jobs change configuration and reports of new jobs present only in the PR. Can not find anything abnormal.

azeey commented 9 months ago

Looking at the trigger branches, for example in gz_transport-abichecker-...focal-amd.xml, I see

            <whiteListTargetBranches>
                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                    <branch>gz-transport11</branch>
                </org.jenkinsci.plugins.ghprb.GhprbBranch>
                <org.jenkinsci.plugins.ghprb.GhprbBranch>
                    <branch>gz-transport12</branch>
                </org.jenkinsci.plugins.ghprb.GhprbBranch>
            </whiteListTargetBranches>

But the gz-transport11 branch doesn't exist on github. It should be ign-transport11.

j-rivero commented 9 months ago

But the gz-transport11 branch doesn't exist on github. It should be ign-transport11.

Should be fixed by #1040