From 97967402b360112237e8d6de741697d6c601e034 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Wed, 13 Dec 2023 17:59:45 +0100 Subject: [PATCH 1/6] Back to add missing steps in XML diff and checks Signed-off-by: Jose Luis Rivero --- .github/workflows/ci.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f028e42b5..de37d7f96 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -33,6 +33,16 @@ jobs: WRITE_JOB_LOG=1 java -jar tools/jobdsl.jar *.dsl find logs/* -exec sort {} -o {} \; popd + - name: Checks for DSL Code + run: | + cd jenkins-scripts/dsl + ./dsl_checks.bash + - name: Export XML generated configuration for diff + run: | + cd jenkins-scripts/dsl + # export files for later diff + mkdir /tmp/pr_xml_configuration + mv *.xml /tmp/pr_xml_configuration/ - name: Update and commit logs generated uses: stefanzweifel/git-auto-commit-action@8756aa072ef5b4a080af5dc8fef36c5d586e521d # v5 sha with: From 1f4174edd5993c06c689e1726375176238ee47c0 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Wed, 13 Dec 2023 18:02:03 +0100 Subject: [PATCH 2/6] Rename the file Signed-off-by: Jose Luis Rivero --- .github/workflows/{ci.yaml => ci-dsl.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{ci.yaml => ci-dsl.yaml} (100%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci-dsl.yaml similarity index 100% rename from .github/workflows/ci.yaml rename to .github/workflows/ci-dsl.yaml From 0889b590af140da9fe81407dfd937d3f5e71fe97 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Thu, 14 Dec 2023 18:48:32 +0100 Subject: [PATCH 3/6] Implement the install_bottle jobs using gazebo_libs Signed-off-by: Jose Luis Rivero --- jenkins-scripts/dsl/gazebo_libs.dsl | 55 ++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/jenkins-scripts/dsl/gazebo_libs.dsl b/jenkins-scripts/dsl/gazebo_libs.dsl index 638559e20..b949f0869 100644 --- a/jenkins-scripts/dsl/gazebo_libs.dsl +++ b/jenkins-scripts/dsl/gazebo_libs.dsl @@ -13,8 +13,6 @@ ENABLE_GITHUB_PR_INTEGRATION = true def WRITE_JOB_LOG = System.getenv('WRITE_JOB_LOG') ?: false logging_list = [:].withDefault {[]} -logging_list['branch_ci'] = [] -logging_list['asan_ci'] = [] // Jenkins needs the relative path to work and locally the simulation is done // using a symlink @@ -247,6 +245,42 @@ String generate_linux_install(src_name, lib_name, platform, arch) return job_name } +String generate_brew_install(src_name, lib_name, arch) +{ + def script_name_prefix = cleanup_library_name(src_name) + def job_name = "${script_name_prefix}-install_bottle-homebrew-${arch}" + def install_default_job = job(job_name) + OSRFBrewInstall.create(install_default_job) + + install_default_job.with + { + triggers { + cron(Globals.CRON_EVERY_THREE_DAYS) + } + + steps { + shell("""\ + #!/bin/bash -xe + + /bin/bash -x ./scripts/jenkins-scripts/lib/project-install-homebrew.bash ${src_name} + """.stripIndent()) + } + + publishers + { + configure { project -> + project / publishers << 'hudson.plugins.logparser.LogParserPublisher' { + unstableOnWarning true + failBuildOnError false + parsingRulesPath('/var/lib/jenkins/logparser_warn_on_mark_unstable') + } + } + } + } + + return job_name +} + def ciconf_per_lib_index = [:].withDefault { [:] } def pkgconf_per_src_index = [:].withDefault { [:] } generate_ciconfigs_by_lib(gz_collections_yaml, ciconf_per_lib_index, pkgconf_per_src_index) @@ -420,12 +454,23 @@ pkgconf_per_src_index.each { pkg_src, pkg_src_configs -> '_releasepy') // -------------------------------------------------------------- pkg_system.arch.each { arch -> - def job_name = generate_linux_install( - pkg_src, canonical_lib_name, pkg_system.version, arch) + def linux_install_job_name = generate_linux_install( + pkg_src, + canonical_lib_name, + pkg_system.version, + arch) + def brew_install_job_name = generate_brew_install( + pkg_src, + canonical_lib_name, + arch) + pkg_src_config.getValue().each { index_entry -> logging_list['install_ci'].add( [collection: index_entry.collection, - job_name: job_name]) + job_name: linux_install_job_name]) + logging_list['install_ci'].add( + [collection: index_entry.collection, + job_name: brew_install_job_name]) } } } From 88f28d3475b51400e55b4f874918a46a238d82f0 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Thu, 14 Dec 2023 18:49:35 +0100 Subject: [PATCH 4/6] Remove install_bottle code from ignition.dsl Signed-off-by: Jose Luis Rivero --- jenkins-scripts/dsl/ignition.dsl | 48 -------------------------------- 1 file changed, 48 deletions(-) diff --git a/jenkins-scripts/dsl/ignition.dsl b/jenkins-scripts/dsl/ignition.dsl index 03b843d42..643e6043a 100644 --- a/jenkins-scripts/dsl/ignition.dsl +++ b/jenkins-scripts/dsl/ignition.dsl @@ -427,54 +427,6 @@ all_debbuilders().each { debbuilder_name -> } } -// -------------------------------------------------------------- -// BREW: CI jobs - -// 1. any job -gz_software.each { gz_sw -> - // Install jobs to test bottles - supported_install_pkg_branches(gz_sw).each { major_version, supported_distros -> - def install_default_job = job("ignition_${gz_sw}${major_version}-install_bottle-homebrew-amd64") - OSRFBrewInstall.create(install_default_job) - - install_default_job.with - { - // disable some bottles - if (("${gz_sw}" == "gui" && "${major_version}" == "0")) - disabled() - - triggers { - cron('@daily') - } - - def bottle_name = "ignition-${gz_sw}${major_version}" - // For transiting, use always gz-sim new name since new versions won't - // have ign-gazebo aliases - if ("${gz_sw}" == "sim" || "${gz_sw}" == "gazebo") - bottle_name = "gz-sim${major_version}" - - steps { - shell("""\ - #!/bin/bash -xe - - /bin/bash -x ./scripts/jenkins-scripts/lib/project-install-homebrew.bash ${bottle_name} - """.stripIndent()) - } - - publishers - { - configure { project -> - project / publishers << 'hudson.plugins.logparser.LogParserPublisher' { - unstableOnWarning true - failBuildOnError false - parsingRulesPath('/var/lib/jenkins/logparser_warn_on_mark_unstable') - } - } - } - } - } -} - // -------------------------------------------------------------- // WINDOWS: CI job From df014374b365819c0d443d36ffd1f9d522a0d8b5 Mon Sep 17 00:00:00 2001 From: j-rivero Date: Thu, 14 Dec 2023 17:56:15 +0000 Subject: [PATCH 5/6] Automated change: update logs [skip ci] --- jenkins-scripts/dsl/logs/generated_jobs.txt | 84 +++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/jenkins-scripts/dsl/logs/generated_jobs.txt b/jenkins-scripts/dsl/logs/generated_jobs.txt index 91f576174..7e44f891a 100644 --- a/jenkins-scripts/dsl/logs/generated_jobs.txt +++ b/jenkins-scripts/dsl/logs/generated_jobs.txt @@ -319,89 +319,173 @@ branch_ci ionic sdformat-ci-main-homebrew-amd64 branch_ci ionic sdformat-ci-main-jammy-amd64 branch_ci ionic sdformat-main-win install_ci __upcoming__ gz_tools3-install-pkg-jammy-amd64 +install_ci __upcoming__ gz_tools3-install_bottle-homebrew-amd64 install_ci citadel gz_citadel-install-pkg-focal-amd64 +install_ci citadel gz_citadel-install_bottle-homebrew-amd64 install_ci citadel gz_cmake2-install-pkg-focal-amd64 +install_ci citadel gz_cmake2-install_bottle-homebrew-amd64 install_ci citadel gz_common3-install-pkg-focal-amd64 +install_ci citadel gz_common3-install_bottle-homebrew-amd64 install_ci citadel gz_fuel_tools4-install-pkg-focal-amd64 +install_ci citadel gz_fuel_tools4-install_bottle-homebrew-amd64 install_ci citadel gz_gui3-install-pkg-focal-amd64 +install_ci citadel gz_gui3-install_bottle-homebrew-amd64 install_ci citadel gz_launch2-install-pkg-focal-amd64 +install_ci citadel gz_launch2-install_bottle-homebrew-amd64 install_ci citadel gz_math6-install-pkg-focal-amd64 +install_ci citadel gz_math6-install_bottle-homebrew-amd64 install_ci citadel gz_msgs5-install-pkg-focal-amd64 +install_ci citadel gz_msgs5-install_bottle-homebrew-amd64 install_ci citadel gz_physics2-install-pkg-focal-amd64 +install_ci citadel gz_physics2-install_bottle-homebrew-amd64 install_ci citadel gz_plugin1-install-pkg-focal-amd64 +install_ci citadel gz_plugin1-install_bottle-homebrew-amd64 install_ci citadel gz_rendering3-install-pkg-focal-amd64 +install_ci citadel gz_rendering3-install_bottle-homebrew-amd64 install_ci citadel gz_sensors3-install-pkg-focal-amd64 +install_ci citadel gz_sensors3-install_bottle-homebrew-amd64 install_ci citadel gz_sim3-install-pkg-focal-amd64 +install_ci citadel gz_sim3-install_bottle-homebrew-amd64 install_ci citadel gz_tools1-install-pkg-focal-amd64 +install_ci citadel gz_tools1-install_bottle-homebrew-amd64 install_ci citadel gz_transport8-install-pkg-focal-amd64 +install_ci citadel gz_transport8-install_bottle-homebrew-amd64 install_ci citadel sdformat9-install-pkg-focal-amd64 +install_ci citadel sdformat9-install_bottle-homebrew-amd64 install_ci fortress gz_cmake2-install-pkg-focal-amd64 +install_ci fortress gz_cmake2-install_bottle-homebrew-amd64 install_ci fortress gz_common4-install-pkg-focal-amd64 +install_ci fortress gz_common4-install_bottle-homebrew-amd64 install_ci fortress gz_fortress-install-pkg-focal-amd64 +install_ci fortress gz_fortress-install_bottle-homebrew-amd64 install_ci fortress gz_fuel_tools7-install-pkg-focal-amd64 +install_ci fortress gz_fuel_tools7-install_bottle-homebrew-amd64 install_ci fortress gz_gui6-install-pkg-focal-amd64 +install_ci fortress gz_gui6-install_bottle-homebrew-amd64 install_ci fortress gz_launch5-install-pkg-focal-amd64 +install_ci fortress gz_launch5-install_bottle-homebrew-amd64 install_ci fortress gz_math6-install-pkg-focal-amd64 +install_ci fortress gz_math6-install_bottle-homebrew-amd64 install_ci fortress gz_msgs8-install-pkg-focal-amd64 +install_ci fortress gz_msgs8-install_bottle-homebrew-amd64 install_ci fortress gz_physics5-install-pkg-focal-amd64 +install_ci fortress gz_physics5-install_bottle-homebrew-amd64 install_ci fortress gz_plugin1-install-pkg-focal-amd64 +install_ci fortress gz_plugin1-install_bottle-homebrew-amd64 install_ci fortress gz_rendering6-install-pkg-focal-amd64 +install_ci fortress gz_rendering6-install_bottle-homebrew-amd64 install_ci fortress gz_sensors6-install-pkg-focal-amd64 +install_ci fortress gz_sensors6-install_bottle-homebrew-amd64 install_ci fortress gz_sim6-install-pkg-focal-amd64 +install_ci fortress gz_sim6-install_bottle-homebrew-amd64 install_ci fortress gz_tools1-install-pkg-focal-amd64 +install_ci fortress gz_tools1-install_bottle-homebrew-amd64 install_ci fortress gz_transport11-install-pkg-focal-amd64 +install_ci fortress gz_transport11-install_bottle-homebrew-amd64 install_ci fortress gz_utils1-install-pkg-focal-amd64 +install_ci fortress gz_utils1-install_bottle-homebrew-amd64 install_ci fortress sdformat12-install-pkg-focal-amd64 +install_ci fortress sdformat12-install_bottle-homebrew-amd64 install_ci garden gz_cmake3-install-pkg-focal-amd64 +install_ci garden gz_cmake3-install_bottle-homebrew-amd64 install_ci garden gz_common5-install-pkg-focal-amd64 +install_ci garden gz_common5-install_bottle-homebrew-amd64 install_ci garden gz_fuel_tools8-install-pkg-focal-amd64 +install_ci garden gz_fuel_tools8-install_bottle-homebrew-amd64 install_ci garden gz_garden-install-pkg-focal-amd64 +install_ci garden gz_garden-install_bottle-homebrew-amd64 install_ci garden gz_gui7-install-pkg-focal-amd64 +install_ci garden gz_gui7-install_bottle-homebrew-amd64 install_ci garden gz_launch6-install-pkg-focal-amd64 +install_ci garden gz_launch6-install_bottle-homebrew-amd64 install_ci garden gz_math7-install-pkg-focal-amd64 +install_ci garden gz_math7-install_bottle-homebrew-amd64 install_ci garden gz_msgs9-install-pkg-focal-amd64 +install_ci garden gz_msgs9-install_bottle-homebrew-amd64 install_ci garden gz_physics6-install-pkg-focal-amd64 +install_ci garden gz_physics6-install_bottle-homebrew-amd64 install_ci garden gz_plugin2-install-pkg-focal-amd64 +install_ci garden gz_plugin2-install_bottle-homebrew-amd64 install_ci garden gz_rendering7-install-pkg-focal-amd64 +install_ci garden gz_rendering7-install_bottle-homebrew-amd64 install_ci garden gz_sensors7-install-pkg-focal-amd64 +install_ci garden gz_sensors7-install_bottle-homebrew-amd64 install_ci garden gz_sim7-install-pkg-focal-amd64 +install_ci garden gz_sim7-install_bottle-homebrew-amd64 install_ci garden gz_tools2-install-pkg-focal-amd64 +install_ci garden gz_tools2-install_bottle-homebrew-amd64 install_ci garden gz_transport12-install-pkg-focal-amd64 +install_ci garden gz_transport12-install_bottle-homebrew-amd64 install_ci garden gz_utils2-install-pkg-focal-amd64 +install_ci garden gz_utils2-install_bottle-homebrew-amd64 install_ci garden sdformat13-install-pkg-focal-amd64 +install_ci garden sdformat13-install_bottle-homebrew-amd64 install_ci harmonic gz_cmake3-install-pkg-jammy-amd64 +install_ci harmonic gz_cmake3-install_bottle-homebrew-amd64 install_ci harmonic gz_common5-install-pkg-jammy-amd64 +install_ci harmonic gz_common5-install_bottle-homebrew-amd64 install_ci harmonic gz_fuel_tools9-install-pkg-jammy-amd64 +install_ci harmonic gz_fuel_tools9-install_bottle-homebrew-amd64 install_ci harmonic gz_gui8-install-pkg-jammy-amd64 +install_ci harmonic gz_gui8-install_bottle-homebrew-amd64 install_ci harmonic gz_harmonic-install-pkg-jammy-amd64 +install_ci harmonic gz_harmonic-install_bottle-homebrew-amd64 install_ci harmonic gz_launch7-install-pkg-jammy-amd64 +install_ci harmonic gz_launch7-install_bottle-homebrew-amd64 install_ci harmonic gz_math7-install-pkg-jammy-amd64 +install_ci harmonic gz_math7-install_bottle-homebrew-amd64 install_ci harmonic gz_msgs10-install-pkg-jammy-amd64 +install_ci harmonic gz_msgs10-install_bottle-homebrew-amd64 install_ci harmonic gz_physics7-install-pkg-jammy-amd64 +install_ci harmonic gz_physics7-install_bottle-homebrew-amd64 install_ci harmonic gz_plugin2-install-pkg-jammy-amd64 +install_ci harmonic gz_plugin2-install_bottle-homebrew-amd64 install_ci harmonic gz_rendering8-install-pkg-jammy-amd64 +install_ci harmonic gz_rendering8-install_bottle-homebrew-amd64 install_ci harmonic gz_sensors8-install-pkg-jammy-amd64 +install_ci harmonic gz_sensors8-install_bottle-homebrew-amd64 install_ci harmonic gz_sim8-install-pkg-jammy-amd64 +install_ci harmonic gz_sim8-install_bottle-homebrew-amd64 install_ci harmonic gz_tools2-install-pkg-jammy-amd64 +install_ci harmonic gz_tools2-install_bottle-homebrew-amd64 install_ci harmonic gz_transport13-install-pkg-jammy-amd64 +install_ci harmonic gz_transport13-install_bottle-homebrew-amd64 install_ci harmonic gz_utils2-install-pkg-jammy-amd64 +install_ci harmonic gz_utils2-install_bottle-homebrew-amd64 install_ci harmonic sdformat14-install-pkg-jammy-amd64 +install_ci harmonic sdformat14-install_bottle-homebrew-amd64 install_ci ionic gz_cmake4-install-pkg-jammy-amd64 +install_ci ionic gz_cmake4-install_bottle-homebrew-amd64 install_ci ionic gz_common6-install-pkg-jammy-amd64 +install_ci ionic gz_common6-install_bottle-homebrew-amd64 install_ci ionic gz_fuel_tools10-install-pkg-jammy-amd64 +install_ci ionic gz_fuel_tools10-install_bottle-homebrew-amd64 install_ci ionic gz_gui9-install-pkg-jammy-amd64 +install_ci ionic gz_gui9-install_bottle-homebrew-amd64 install_ci ionic gz_launch8-install-pkg-jammy-amd64 +install_ci ionic gz_launch8-install_bottle-homebrew-amd64 install_ci ionic gz_math8-install-pkg-jammy-amd64 +install_ci ionic gz_math8-install_bottle-homebrew-amd64 install_ci ionic gz_msgs11-install-pkg-jammy-amd64 +install_ci ionic gz_msgs11-install_bottle-homebrew-amd64 install_ci ionic gz_physics8-install-pkg-jammy-amd64 +install_ci ionic gz_physics8-install_bottle-homebrew-amd64 install_ci ionic gz_plugin3-install-pkg-jammy-amd64 +install_ci ionic gz_plugin3-install_bottle-homebrew-amd64 install_ci ionic gz_rendering9-install-pkg-jammy-amd64 +install_ci ionic gz_rendering9-install_bottle-homebrew-amd64 install_ci ionic gz_sensors9-install-pkg-jammy-amd64 +install_ci ionic gz_sensors9-install_bottle-homebrew-amd64 install_ci ionic gz_sim9-install-pkg-jammy-amd64 +install_ci ionic gz_sim9-install_bottle-homebrew-amd64 install_ci ionic gz_tools2-install-pkg-jammy-amd64 +install_ci ionic gz_tools2-install_bottle-homebrew-amd64 install_ci ionic gz_transport14-install-pkg-jammy-amd64 +install_ci ionic gz_transport14-install_bottle-homebrew-amd64 install_ci ionic gz_utils3-install-pkg-jammy-amd64 +install_ci ionic gz_utils3-install_bottle-homebrew-amd64 install_ci ionic sdformat15-install-pkg-jammy-amd64 +install_ci ionic sdformat15-install_bottle-homebrew-amd64 unofficial_wrappers_install_pkg_ci garden ros_gzgarden_bridge-install-pkg_humble-ci-jammy-amd64 unofficial_wrappers_install_pkg_ci garden ros_gzgarden_bridge-install-pkg_iron-ci-jammy-amd64 unofficial_wrappers_install_pkg_ci harmonic ros_gzharmonic_bridge-install-pkg_iron-ci-jammy-amd64 From 4260c0aeb04f7e9e5298ad28c14697e22c02dc96 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Fri, 15 Dec 2023 19:25:42 +0100 Subject: [PATCH 6/6] Leave the brew jobs to run daily --- jenkins-scripts/dsl/gazebo_libs.dsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins-scripts/dsl/gazebo_libs.dsl b/jenkins-scripts/dsl/gazebo_libs.dsl index b949f0869..9adcad88f 100644 --- a/jenkins-scripts/dsl/gazebo_libs.dsl +++ b/jenkins-scripts/dsl/gazebo_libs.dsl @@ -255,7 +255,7 @@ String generate_brew_install(src_name, lib_name, arch) install_default_job.with { triggers { - cron(Globals.CRON_EVERY_THREE_DAYS) + cron('@daily') } steps {