Skip to content

Commit

Permalink
Implement dome view and move nightly to dome (#241)
Browse files Browse the repository at this point in the history
* Implement dome view and move nightly to dome
* Debbuild nightlies for dome unreleased branches
* Enable master branches CI for dome
* Use master branches for nightlies

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
Co-authored-by: Steve Peters <scpeters@openrobotics.org>
  • Loading branch information
j-rivero and scpeters authored Jul 16, 2020
1 parent c8a43f0 commit 3ccb80b
Show file tree
Hide file tree
Showing 2 changed files with 137 additions and 37 deletions.
12 changes: 11 additions & 1 deletion jenkins-scripts/dsl/ignition.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,17 @@ ignition_prerelease_branches = []
// DESC: versioned names to generate debbuild jobs for special cases that
// don't appear in ignition_branches (like nightly builders or 0-debbuild
// jobs for the special cases of foo0 packages)
ignition_debbuild = ignition_software + [ ]
ignition_debbuild = ignition_software + [ 'fuel-tools5',
'gazebo4',
'gui4',
'launch3',
'math6',
'msgs6',
'physics3',
'rendering4',
'sensors4',
'sdformat10',
'transport9']
// DESC: exclude ignition from generate any install testing job
ignition_no_pkg_yet = [ 'rndf' ]
// DESC: major versions that has a package in the prerelease repo. Should
Expand Down
162 changes: 126 additions & 36 deletions jenkins-scripts/dsl/ignition_collection.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,30 @@ import javaposse.jobdsl.dsl.Job
// IGNITION COLLECTIONS
arch = 'amd64'

ignition_nightly = 'blueprint'
ignition_nightly = 'dome'

ignition_collections = [
[ name : 'blueprint',
nightly_jobs: [
'cmake' : [ debbuild: 'ign-cmake2' , branch: 'ign-cmake2' ],
'common' : [ debbuild: 'ign-common3' , branch: 'ign-common3' ],
'fuel-tools': [ debbuild: 'ign-fuel-tools3', branch: 'ign-fuel-tools3' ],
'gazebo' : [ debbuild: 'ign-gazebo2' , branch: 'ign-gazebo2' ],
'gui' : [ debbuild: 'ign-gui2' , branch: 'ign-gui2' ],
'launch' : [ debbuild: 'ign-launch' , branch: 'ign-launch1' ],
'math' : [ debbuild: 'ign-math6' , branch: 'ign-math6' ],
'msgs' : [ debbuild: 'ign-msgs4' , branch: 'ign-msgs4' ],
'physics' : [ debbuild: 'ign-physics' , branch: 'ign-physics1' ],
'plugin' : [ debbuild: 'ign-plugin' , branch: 'ign-plugin1' ],
'rendering' : [ debbuild: 'ign-rendering2' , branch: 'ign-rendering2' ],
'sensors' : [ debbuild: 'ign-sensors2' , branch: 'ign-sensors2' ],
'sdformat' : [ debbuild: 'sdformat8' , branch: 'sdf8' ],
'transport' : [ debbuild: 'ign-transport7' , branch: 'ign-transport7' ]
],
distros : [ 'bionic' ],
],
[ name : 'citadel',
distros : [ 'bionic' ],
]
],
[ name : 'dome',
distros : [ 'focal' ],
nightly_jobs: [
'fuel-tools': [ debbuild: 'ign-fuel-tools5', branch: 'master '],
'gazebo' : [ debbuild: 'ign-gazebo4' , branch: 'master' ],
'gui' : [ debbuild: 'ign-gui4' , branch: 'master' ],
'launch' : [ debbuild: 'ign-launch3' , branch: 'master' ],
'msgs' : [ debbuild: 'ign-msgs6' , branch: 'master' ],
'physics' : [ debbuild: 'ign-physics3' , branch: 'master' ],
'rendering' : [ debbuild: 'ign-rendering4' , branch: 'master' ],
'sensors' : [ debbuild: 'ign-sensors4' , branch: 'master' ],
'sdformat' : [ debbuild: 'sdformat10' , branch: 'sdf10' ],
'transport' : [ debbuild: 'ign-transport9' , branch: 'master' ],
],
],
]

ignition_collection_jobs =
Expand Down Expand Up @@ -189,7 +188,85 @@ ignition_collection_jobs =
'sdformat-ci-sdformat9-homebrew-amd64',
'sdformat-ci-sdformat9-windows7-amd64',
'sdformat-install-sdformat9_pkg-bionic-amd64'
]
],
'dome' : [
'ign_gazebo-ci-win',
'ign_gui-ci-win',
'ign_physics-ci-win',
'ign_rendering-ci-win',
'ign_sensors-ci-win',
//'ignition_dome-ci-default-homebrew-amd64',
//'ignition_dome-install-pkg-bionic-amd64',
//'ignition_dome-install_bottle-homebrew-amd64',
'ignition_cmake-ci-ign-cmake2-bionic-amd64',
'ignition_cmake-ci-ign-cmake2-homebrew-amd64',
'ignition_cmake-ci-ign-cmake2-windows7-amd64',
'ignition_cmake2-install-pkg-bionic-amd64',
'ignition_cmake2-install_bottle-homebrew-amd64',
'ignition_common-ci-ign-common3-bionic-amd64',
'ignition_common-ci-ign-common3-homebrew-amd64',
'ignition_common-ci-ign-common3-windows7-amd64',
'ignition_common3-install-pkg-bionic-amd64',
'ignition_common3-install_bottle-homebrew-amd64',
'ignition_fuel-tools-ci-master-bionic-amd64',
'ignition_fuel-tools-ci-master-homebrew-amd64',
'ignition_fuel-tools-ci-master-windows7-amd64',
// 'ignition_fuel-tools5-install-pkg-bionic-amd64',
// 'ignition_fuel-tools5-install_bottle-homebrew-amd64',
'ignition_gazebo-ci-master-bionic-amd64',
'ignition_gazebo-ci-master-homebrew-amd64',
// 'ignition_gazebo4-install-pkg-bionic-amd64',
// 'ignition_gazebo4-install_bottle-homebrew-amd64',
'ignition_gui-ci-master-bionic-amd64',
'ignition_gui-ci-master-homebrew-amd64',
// 'ignition_gui4-install-pkg-bionic-amd64',
// 'ignition_gui4-install_bottle-homebrew-amd64',
'ignition_launch-ci-master-bionic-amd64',
'ignition_launch-ci-master-homebrew-amd64',
// 'ignition_launch3-install-pkg-bionic-amd64',
// 'ignition_launch3-install_bottle-homebrew-amd64',
'ignition_math-ci-ign-math6-bionic-amd64',
'ignition_math-ci-ign-math6-homebrew-amd64',
'ignition_math-ci-ign-math6-windows7-amd64',
'ignition_math6-install-pkg-bionic-amd64',
'ignition_math6-install_bottle-homebrew-amd64',
'ignition_msgs-ci-master-bionic-amd64',
'ignition_msgs-ci-master-homebrew-amd64',
'ignition_msgs-ci-master-windows7-amd64',
// 'ignition_msgs6-install-pkg-bionic-amd64',
// 'ignition_msgs6-install_bottle-homebrew-amd64',
'ignition_physics-ci-master-bionic-amd64',
'ignition_physics-ci-master-homebrew-amd64',
// 'ignition_physics3-install-pkg-bionic-amd64',
// 'ignition_physics3-install_bottle-homebrew-amd64',
'ignition_plugin-ci-ign-plugin1-bionic-amd64',
'ignition_plugin-ci-ign-plugin1-homebrew-amd64',
'ignition_plugin-ci-ign-plugin1-windows7-amd64',
'ignition_plugin-install-pkg-bionic-amd64',
'ignition_plugin1-install_bottle-homebrew-amd64',
'ignition_rendering-ci-master-bionic-amd64',
'ignition_rendering-ci-master-homebrew-amd64',
// 'ignition_rendering4-install-pkg-bionic-amd64',
// 'ignition_rendering4-install_bottle-homebrew-amd64',
'ignition_sensors-ci-master-bionic-amd64',
'ignition_sensors-ci-master-homebrew-amd64',
// 'ignition_sensors4-install-pkg-bionic-amd64',
// 'ignition_sensors4-install_bottle-homebrew-amd64',
'ignition_tools-ci-ign-tools1-bionic-amd64',
'ignition_tools-ci-ign-tools1-homebrew-amd64',
'ignition_tools-ci-ign-tools1-windows7-amd64',
'ignition_tools-install-pkg-bionic-amd64',
// 'ignition_tools1-install_bottle-homebrew-amd64',
'ignition_transport-ci-master-bionic-amd64',
'ignition_transport-ci-master-homebrew-amd64',
'ignition_transport-ci-master-windows7-amd64',
// 'ignition_transport9-install-pkg-bionic-amd64',
// 'ignition_transport9-install_bottle-homebrew-amd64',
'sdformat-ci-sdformat10-bionic-amd64',
'sdformat-ci-sdformat10-homebrew-amd64',
'sdformat-ci-sdformat10-windows7-amd64',
// 'sdformat-install-sdformat10_pkg-bionic-amd64'
],
]


Expand Down Expand Up @@ -351,10 +428,20 @@ ignition_collections.each { ign_collection ->
}

// NIGHTLY GENERATION
def get_nightly_branch(collection_data, ign_package)
{
try {
if (collection_data.get(ign_package))
return collection_data.get(ign_package).get('branch')
} catch(Exception e) {
return 'not_enabled_in_DSL'
}
return 'not_enabled_in_DSL'
}

collection_data = []
list_of_pkgs = ""


collection_data = ignition_collections.find { it.get('name') == ignition_nightly }
collection_data = collection_data.get('nightly_jobs')

Expand Down Expand Up @@ -383,20 +470,20 @@ nightly_scheduler_job.with
cron('0 9 * * *')
}

cmake_branch = collection_data.get('cmake').get('branch')
common_branch = collection_data.get('common').get('branch')
fuel_tools_branch = collection_data.get('fuel-tools').get('branch')
gazebo_branch = collection_data.get('gazebo').get('branch')
gui_branch = collection_data.get('gui').get('branch')
launch_branch = collection_data.get('launch').get('branch')
math_branch = collection_data.get('math').get('branch')
msgs_branch = collection_data.get('msgs').get('branch')
physics_branch = collection_data.get('physics').get('branch')
plugin_branch = collection_data.get('plugin').get('branch')
rendering_branch = collection_data.get('rendering').get('branch')
sensors_branch = collection_data.get('sensors').get('branch')
sdformat_branch = collection_data.get('sdformat').get('branch')
transport_branch = collection_data.get('transport').get('branch')
cmake_branch = get_nightly_branch(collection_data, 'cmake')
common_branch = get_nightly_branch(collection_data, 'common')
fuel_tools_branch = get_nightly_branch(collection_data, 'fuel-tools')
gazebo_branch = get_nightly_branch(collection_data, 'gazebo')
gui_branch = get_nightly_branch(collection_data, 'gui')
launch_branch = get_nightly_branch(collection_data, 'launch')
math_branch = get_nightly_branch(collection_data, 'math')
msgs_branch = get_nightly_branch(collection_data, 'msgs')
physics_branch = get_nightly_branch(collection_data, 'physics')
plugin_branch = get_nightly_branch(collection_data, 'plugin')
rendering_branch = get_nightly_branch(collection_data, 'rendering')
sensors_branch = get_nightly_branch(collection_data, 'sensors')
sdformat_branch = get_nightly_branch(collection_data, 'sdformat')
transport_branch = get_nightly_branch(collection_data, 'transport')

steps {
shell("""\
Expand All @@ -412,8 +499,11 @@ nightly_scheduler_job.with
# redirect to not display the password
for n in \${NIGHTLY_PACKAGES}; do

# remove 0 or 1 trailing versions
n=\${n%[0-1]}
# remove 0 or 1 trailing versions. Use echo + sed to avoid scaping
# problems with <<<
if [[ \$(echo \$n | sed -r 's:[a-z]*[A-Z]*([0-9]*):\\1:g') -lt 2 ]]; then
n=\${n%[0-1]}
fi

if [[ "\${n}" == "\${n/ign/ignition}" ]]; then
alias=\${n}
Expand Down

0 comments on commit 3ccb80b

Please sign in to comment.