Skip to content

Commit

Permalink
Implement the install_bottle jobs using gazebo_libs (#1096)
Browse files Browse the repository at this point in the history
* Implement the install_bottle jobs using gazebo_libs
* Remove install_bottle code from ignition.dsl
* Automated change: update logs [skip ci]

---------

Signed-off-by: Jose Luis Rivero <[email protected]>
Co-authored-by: j-rivero <[email protected]>
  • Loading branch information
j-rivero and j-rivero authored Dec 15, 2023
1 parent 65e51f0 commit dc31a65
Show file tree
Hide file tree
Showing 4 changed files with 144 additions and 53 deletions.
10 changes: 10 additions & 0 deletions .github/workflows/ci.yaml → .github/workflows/ci-dsl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
55 changes: 50 additions & 5 deletions jenkins-scripts/dsl/gazebo_libs.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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('@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)
Expand Down Expand Up @@ -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])
}
}
}
Expand Down
48 changes: 0 additions & 48 deletions jenkins-scripts/dsl/ignition.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
84 changes: 84 additions & 0 deletions jenkins-scripts/dsl/logs/generated_jobs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -317,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

0 comments on commit dc31a65

Please sign in to comment.