diff --git a/jenkins-scripts/dsl/dsl_checks.bash b/jenkins-scripts/dsl/dsl_checks.bash index b6774e219..e4dfe8f25 100755 --- a/jenkins-scripts/dsl/dsl_checks.bash +++ b/jenkins-scripts/dsl/dsl_checks.bash @@ -50,14 +50,16 @@ if [[ -n ${non_github_orgs} ]]; then exit 1 fi +# re-enable after https://github.com/gazebo-tooling/release-tools/issues/1095 + # Filter out the previous auto jobs -filtered_dir=$(mktemp -d) -cp -- *-abichecker-*.xml "${filtered_dir}" -rm -f "${filtered_dir}"/*-ubuntu_auto*.xml -repeated=$(grep '\' "${filtered_dir}"/*-abichecker-*.xml | awk '{ print $2 }' | sort | uniq -d) -if [[ -n ${repeated} ]]; then - echo "Found a duplicate in an abichecker branch:" - echo "${repeated}" - echo "please exclude one of the versions in the yaml file to reduce the server workload" - exit 1 -fi +# filtered_dir=$(mktemp -d) +# cp -- *-abichecker-*.xml "${filtered_dir}" +# rm -f "${filtered_dir}"/*-ubuntu_auto*.xml +# repeated=$(grep '\' "${filtered_dir}"/*-abichecker-*.xml | awk '{ print $2 }' | sort | uniq -d) +# if [[ -n ${repeated} ]]; then +# echo "Found a duplicate in an abichecker branch:" +# echo "${repeated}" +# echo "please exclude one of the versions in the yaml file to reduce the server workload" +# exit 1 +# fi diff --git a/jenkins-scripts/dsl/gazebo_libs.dsl b/jenkins-scripts/dsl/gazebo_libs.dsl index b67dd051c..5ad710fc0 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 @@ -259,6 +257,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('@daily') + } + + 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) @@ -432,12 +466,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]) } } } diff --git a/jenkins-scripts/dsl/gz-collections.yaml b/jenkins-scripts/dsl/gz-collections.yaml index 3c14d2027..61e845b23 100644 --- a/jenkins-scripts/dsl/gz-collections.yaml +++ b/jenkins-scripts/dsl/gz-collections.yaml @@ -96,7 +96,7 @@ collections: configs: - focal - brew - - win + - win_citadel packaging: configs: - focal @@ -463,11 +463,6 @@ ci_configs: abichecker: - gz-cmake - gz-tools - # These have a Jammy counterpart in Harmonic - - gz-common - - gz-math - - gz-plugin - - gz-utils pre_setup_script_hook: gz-physics: - "export MAKE_JOBS=1" @@ -537,7 +532,6 @@ ci_configs: requirements: exclude: all: - - gz-citadel - gz-fortress - gz-garden - gz-harmonic @@ -559,6 +553,33 @@ ci_configs: - gz-transport - gz-utils - sdformat + # No gz-sim and gz-launch on Citadel + - name: win_citadel + system: + so: windows + distribution: windows + version: "10" + arch: amd64 + requirements: + exclude: + all: + - gz-citadel + - gz-sim + - gz-launch + cmake_warnings_disabled: + - gz-cmake + - gz-common + - gz-fuel-tools + - gz-gui + - gz-math + - gz-msgs + - gz-physics + - gz-rendering + - gz-sensors + - gz-tools + - gz-transport + - gz-utils + - sdformat packaging_configs: - name: focal system: 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 diff --git a/jenkins-scripts/dsl/logs/generated_jobs.txt b/jenkins-scripts/dsl/logs/generated_jobs.txt index 91f576174..7d079d0aa 100644 --- a/jenkins-scripts/dsl/logs/generated_jobs.txt +++ b/jenkins-scripts/dsl/logs/generated_jobs.txt @@ -95,7 +95,6 @@ branch_ci citadel gz_gui-ci-ign-gui3-homebrew-amd64 branch_ci citadel gz_gui-ign-gui3-win branch_ci citadel gz_launch-ci-ign-launch2-focal-amd64 branch_ci citadel gz_launch-ci-ign-launch2-homebrew-amd64 -branch_ci citadel gz_launch-ign-launch2-win branch_ci citadel gz_math-ci-ign-math6-focal-amd64 branch_ci citadel gz_math-ci-ign-math6-homebrew-amd64 branch_ci citadel gz_math-ign-math6-win @@ -116,7 +115,6 @@ branch_ci citadel gz_sensors-ci-ign-sensors3-homebrew-amd64 branch_ci citadel gz_sensors-ign-sensors3-win branch_ci citadel gz_sim-ci-ign-gazebo3-focal-amd64 branch_ci citadel gz_sim-ci-ign-gazebo3-homebrew-amd64 -branch_ci citadel gz_sim-ign-gazebo3-win branch_ci citadel gz_tools-ci-ign-tools1-focal-amd64 branch_ci citadel gz_tools-ci-ign-tools1-homebrew-amd64 branch_ci citadel gz_tools-ign-tools1-win @@ -319,89 +317,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