diff --git a/.github/workflows/ci-dsl.yaml b/.github/workflows/ci-dsl.yaml
new file mode 100644
index 000000000..de37d7f96
--- /dev/null
+++ b/.github/workflows/ci-dsl.yaml
@@ -0,0 +1,73 @@
+name: DSL logs and checks
+
+on:
+ pull_request:
+ paths:
+ - 'jenkins-scripts/dsl/**'
+
+jobs:
+ xml_generation:
+ runs-on: ubuntu-latest
+ name: Generate XML config from DSL
+ permissions:
+ contents: write
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: '11'
+ - name: Download and setup job dsl jar
+ run: ./jenkins-scripts/dsl/tools/setup_local_generation.bash
+ - name: Generate XML files
+ run: |
+ # Remove existing logs files. Code is adding content to them but not re-generating
+ # simulate token for brew_release
+ sudo mkdir -p /var/lib/jenkins/ && sudo touch /var/lib/jenkins/remote_token
+ sudo chown -R ${USER} /var/lib/jenkins
+ pushd jenkins-scripts/dsl
+ rm -fr logs && mkdir logs
+ 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:
+ file_pattern: jenkins-scripts/dsl/logs/
+ commit_message: 'Automated change: update logs [skip ci]'
+ - name: Generate master DSL files
+ run: |
+ git clean -f -e jobdsl.jar
+ git checkout master
+ cd jenkins-scripts/dsl
+ WRITE_JOB_LOG=1 java -jar tools/jobdsl.jar *.dsl
+ mkdir /tmp/current_xml_configuration
+ mv *.xml /tmp/current_xml_configuration/
+ - name: Generating diffs
+ run: |
+ # somehow the Jenkins views changed the portlet_ id on every run.
+ diff -qr -I '.*dashboard_portlet_.*.*' /tmp/current_xml_configuration /tmp/pr_xml_configuration | sort > /tmp/xml_config_files_changed.diff || true
+ diff -ur -I '.*dashboard_portlet_.*.*' /tmp/current_xml_configuration /tmp/pr_xml_configuration > /tmp/xml_config_content_changed.diff || true
+ - name: Archive files changes
+ uses: actions/upload-artifact@v3
+ with:
+ name: xml_config_files_changed
+ path: /tmp/xml_config_files_changed.diff
+ - name: Archive content changes
+ uses: actions/upload-artifact@v3
+ with:
+ name: xml_config_content_changed
+ path: /tmp/xml_config_content_changed.diff
diff --git a/.github/workflows/ci-releasepy.yaml b/.github/workflows/ci-releasepy.yaml
new file mode 100644
index 000000000..fa9f0c9c7
--- /dev/null
+++ b/.github/workflows/ci-releasepy.yaml
@@ -0,0 +1,18 @@
+name: Releasing tests
+
+on:
+ push:
+ paths:
+ - release.py
+
+jobs:
+ dsl_ci:
+ runs-on: ubuntu-latest
+ name: release.py checks
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Run release.py script tests
+ run: ./check_releasepy.bash
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
deleted file mode 100644
index 524dd498f..000000000
--- a/.github/workflows/ci.yaml
+++ /dev/null
@@ -1,107 +0,0 @@
-name: CI
-
-# base_ref / head_reaf are only available in PRs
-on: [pull_request]
-
-jobs:
- dsl_ci:
- runs-on: ubuntu-latest
- name: Diff for DSL code
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: Idenfify files changed in this PR
- id: files
- run: |
- git fetch origin ${{ github.ref }}
- git diff --name-only origin/${{ github.base_ref }}...FETCH_HEAD
- echo "changed-files=$(git diff --name-only origin/${{ github.base_ref }}...FETCH_HEAD| tr '\n' ' ')" >> $GITHUB_OUTPUT
- - name: Run testing on changed config files
- id: dsl_check
- run: |
- for changed_file in ${{ steps.files.outputs.changed-files }}; do
- if [[ ${changed_file} != ${changed_file/dsl\/*} ]]; then
- echo "+ Detected at leat one config file: ${changed_file}."
- echo "run_job=true" >> $GITHUB_OUTPUT
- break
- else
- echo "run_job=false" >> $GITHUB_OUTPUT
- fi
- done
- - name: Checkout
- if: steps.dsl_check.outputs.run_job == 'true'
- uses: actions/checkout@v3
- with:
- fetch-depth: 2
- - uses: actions/setup-java@v3
- if: steps.dsl_check.outputs.run_job == 'true'
- with:
- distribution: 'temurin'
- java-version: '11'
- - name: Run release.py script tests
- run: ./check_releasepy.bash
- - name: Download and setup job dsl jar
- if: steps.dsl_check.outputs.run_job == 'true'
- run: ./jenkins-scripts/dsl/tools/setup_local_generation.bash
- - name: Generate all DSL files
- if: steps.dsl_check.outputs.run_job == 'true'
- run: |
- # simulate token for brew_release
- sudo mkdir -p /var/lib/jenkins/ && sudo touch /var/lib/jenkins/remote_token
- sudo chown -R ${USER} /var/lib/jenkins
- cd jenkins-scripts/dsl
- WRITE_JOB_LOG=1 java -jar tools/jobdsl.jar *.dsl
- - name: Checks for DSL Code
- if: steps.dsl_check.outputs.run_job == 'true'
- run: |
- cd jenkins-scripts/dsl
- ./dsl_checks.bash
- - name: Export XML generated configuration for diff
- if: steps.dsl_check.outputs.run_job == 'true'
- run: |
- cd jenkins-scripts/dsl
- # export files for later diff
- mkdir /tmp/pr_xml_configuration && mkdir /tmp/pr_log_generated/
- # sort jobs.txt
- sort jobs.txt -o jobs.txt
- mv *.xml /tmp/pr_xml_configuration/
- mv *.txt /tmp/pr_log_generated/
- - name: Generate master DSL files
- if: steps.dsl_check.outputs.run_job == 'true'
- run: |
- git clean -f -e jobdsl.jar
- git checkout master
- cd jenkins-scripts/dsl
- WRITE_JOB_LOG=1 java -jar tools/jobdsl.jar *.dsl
- mkdir /tmp/current_xml_configuration && mkdir /tmp/current_log_generated/
- # sort jobs.txt
- sort jobs.txt -o jobs.txt
- mv *.xml /tmp/current_xml_configuration/
- mv *.txt /tmp/current_log_generated/ || true
- - name: Generating diffs
- if: steps.dsl_check.outputs.run_job == 'true'
- run: |
- # somehow the Jenkins views changed the portlet_ id on every run.
- diff -qr -I '.*dashboard_portlet_.*.*' /tmp/current_xml_configuration /tmp/pr_xml_configuration | sort > /tmp/xml_config_files_changed.diff || true
- diff -ur -I '.*dashboard_portlet_.*.*' /tmp/current_xml_configuration /tmp/pr_xml_configuration > /tmp/xml_config_content_changed.diff || true
- diff -ur /tmp/current_log_generated /tmp/pr_log_generated > /tmp/log_content_changed.diff || true
- - name: Archive files changes
- if: steps.dsl_check.outputs.run_job == 'true'
- uses: actions/upload-artifact@v3
- with:
- name: xml_config_files_changed
- path: /tmp/xml_config_files_changed.diff
- - name: Archive content changes
- if: steps.dsl_check.outputs.run_job == 'true'
- uses: actions/upload-artifact@v3
- with:
- name: xml_config_content_changed
- path: /tmp/xml_config_content_changed.diff
- - name: Archive log changes
- if: steps.dsl_check.outputs.run_job == 'true'
- uses: actions/upload-artifact@v3
- with:
- name: log_content_changed
- path: /tmp/log_content_changed.diff
diff --git a/check_releasepy.bash b/check_releasepy.bash
index 5e71fb168..a7c07a222 100755
--- a/check_releasepy.bash
+++ b/check_releasepy.bash
@@ -3,6 +3,7 @@
test_dir=$(mktemp -d)
mkdir -p ${test_dir}/{focal,jammy,ubuntu}/debian
export _RELEASEPY_TEST_RELEASE_REPO=${test_dir}
+export _RELEASEPY_DEBUG=1
exec_releasepy_test()
{
diff --git a/jenkins-scripts/dsl/_configs_/GenericAnyJobGitHub.groovy b/jenkins-scripts/dsl/_configs_/GenericAnyJobGitHub.groovy
index e6d96d143..2939a3b92 100644
--- a/jenkins-scripts/dsl/_configs_/GenericAnyJobGitHub.groovy
+++ b/jenkins-scripts/dsl/_configs_/GenericAnyJobGitHub.groovy
@@ -4,6 +4,7 @@ import javaposse.jobdsl.dsl.Job
/*
Implements:
+ - priority 200
- parameters: SRC_REPO, SRC_BRANCH, JOB_DESCRIPTION
- job.Description
- scm check with SRC_REPO + SRC_BRANCH
@@ -33,6 +34,14 @@ class GenericAnyJobGitHub
job.with
{
+ // Overrwrite the priority set by other classes
+ configure { project ->
+ project / 'properties' / 'jenkins.advancedqueue.priority.strategy.PriorityJobProperty' {
+ 'useJobPriority'(true)
+ 'priority'(200)
+ }
+ }
+
parameters
{
stringParam('sha1', 'main', 'commit or refname to build. To manually use a branch: origin/$branch_name')
diff --git a/jenkins-scripts/dsl/_configs_/OSRFLinuxABIGitHub.groovy b/jenkins-scripts/dsl/_configs_/OSRFLinuxABIGitHub.groovy
index d21fd655e..b0bba9ed6 100644
--- a/jenkins-scripts/dsl/_configs_/OSRFLinuxABIGitHub.groovy
+++ b/jenkins-scripts/dsl/_configs_/OSRFLinuxABIGitHub.groovy
@@ -6,7 +6,7 @@ import javaposse.jobdsl.dsl.Job
-> OSRFLinuxBase
Implements:
- - priority 300
+ - priority 200
- logrotator
- concurrent builds
- parameter: DEST_BRANCH, SRC_BRANCH
@@ -35,7 +35,7 @@ class OSRFLinuxABIGitHub
job.with
{
properties {
- priority 300
+ priority 200
}
logRotator {
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 09feb2e34..6ab40c007 100644
--- a/jenkins-scripts/dsl/gazebo_libs.dsl
+++ b/jenkins-scripts/dsl/gazebo_libs.dsl
@@ -12,8 +12,7 @@ GITHUB_SUPPORT_ALL_BRANCHES = []
ENABLE_GITHUB_PR_INTEGRATION = true
def WRITE_JOB_LOG = System.getenv('WRITE_JOB_LOG') ?: false
-logging_list = [:]
-logging_list['branch_ci'] = []
+logging_list = [:].withDefault {[]}
// Jenkins needs the relative path to work and locally the simulation is done
// using a symlink
@@ -124,7 +123,7 @@ void generate_ci_job(gz_ci_job, lib_name, branch, ci_config,
def arch = ci_config.system.arch
def pre_setup_script = ci_config.pre_setup_script_hook?.get(lib_name)?.join('\n')
def ws_checkout_dir = lib_name
- extra_cmd = [extra_cmd, pre_setup_script].findAll({ it != null }).join()
+ extra_cmd = [extra_cmd, pre_setup_script].findAll({ it != null }).join('\n')
OSRFLinuxCompilation.create(gz_ci_job, is_testing_enabled(lib_name, ci_config))
OSRFGitHub.create(gz_ci_job,
@@ -151,6 +150,14 @@ void generate_ci_job(gz_ci_job, lib_name, branch, ci_config,
}
}
+void generate_asan_ci_job(gz_ci_job, lib_name, branch, ci_config)
+{
+ generate_ci_job(gz_ci_job, lib_name, branch, ci_config,
+ '-DGZ_SANITIZER=Address',
+ Globals.MAKETEST_SKIP_GZ,
+ 'export ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true')
+}
+
void add_brew_shell_build_step(gz_brew_ci_job, lib_name, ws_checkout_dir)
{
// ignition formulas does not match the lib name, expand the prefix
@@ -170,7 +177,6 @@ void add_brew_shell_build_step(gz_brew_ci_job, lib_name, ws_checkout_dir)
void generate_brew_ci_job(gz_brew_ci_job, lib_name, branch, ci_config)
{
- def script_name_prefix = cleanup_library_name(lib_name)
def ws_checkout_dir = lib_name
OSRFBrewCompilation.create(gz_brew_ci_job,
is_testing_enabled(lib_name, ci_config),
@@ -209,6 +215,84 @@ void generate_win_ci_job(gz_win_ci_job, lib_name, branch, ci_config)
add_win_devel_bat_call(gz_win_ci_job, lib_name, ws_checkout_dir)
}
+
+String get_debbuilder_name(parsed_yaml_lib, parsed_yaml_packaging)
+{
+ major_version = parsed_yaml_lib.major_version
+
+ ignore_major_version = parsed_yaml_packaging.linux?.ignore_major_version
+ if (ignore_major_version && ignore_major_version.contains(parsed_yaml_lib.name))
+ major_version = ""
+
+ return parsed_yaml_lib.name + major_version + "-debbuilder"
+}
+
+String generate_linux_install(src_name, lib_name, platform, arch)
+{
+ def script_name_prefix = cleanup_library_name(src_name)
+ def job_name = "${script_name_prefix}-install-pkg-${platform}-${arch}"
+ def install_default_job = job(job_name)
+ OSRFLinuxInstall.create(install_default_job)
+ install_default_job.with
+ {
+ triggers {
+ cron(Globals.CRON_EVERY_THREE_DAYS)
+ }
+
+ def dev_package = "lib${src_name}-dev"
+
+ steps {
+ shell("""\
+ #!/bin/bash -xe
+
+ ${GLOBAL_SHELL_CMD}
+ export DISTRO=${platform}
+ export ARCH=${arch}
+ export INSTALL_JOB_PKG=${dev_package}
+ export GZDEV_PROJECT_NAME="${src_name}"
+ /bin/bash -x ./scripts/jenkins-scripts/docker/generic-install-test-job.bash
+ """.stripIndent())
+ }
+ }
+ 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)
@@ -238,6 +322,18 @@ ciconf_per_lib_index.each { lib_name, lib_configs ->
if (ci_config.system.so == 'linux') {
gz_ci_job = job("${gz_job_name_prefix}-ci-${branch_name}-${distro}-${arch}")
generate_ci_job(gz_ci_job, lib_name, branch_name, ci_config)
+ // Generate asan jobs on Linux
+ def gz_ci_asan_job = job("${gz_job_name_prefix}-ci_asan-${branch_name}-${distro}-${arch}")
+ generate_asan_ci_job(gz_ci_asan_job, lib_name, branch_name, ci_config)
+ gz_ci_asan_job.with
+ {
+ triggers {
+ scm(Globals.CRON_ON_WEEKEND)
+ }
+ }
+ logging_list['asan_ci'].add(
+ [collection: branch_and_collection.collection,
+ job_name: gz_ci_asan_job.name])
} else if (ci_config.system.so == 'darwin') {
gz_ci_job = job("${gz_job_name_prefix}-ci-${branch_name}-homebrew-${arch}")
generate_brew_ci_job(gz_ci_job, lib_name, branch_name, ci_config)
@@ -357,10 +453,10 @@ pkgconf_per_src_index.each { pkg_src, pkg_src_configs ->
def pkg_config = gz_collections_yaml.packaging_configs.find{ it.name == config_name }
// lib_names are the same in all the entries
def canonical_lib_name = pkg_src_config.getValue()[0].lib_name
-
if (pkg_config.exclude?.contains(canonical_lib_name))
return
-
+ def pkg_system = pkg_config.system
+ // --------------------------------------------------------------
def gz_source_job = job("${pkg_src}-source")
OSRFSourceCreation.create(gz_source_job, [
PACKAGE: pkg_src,
@@ -368,12 +464,95 @@ pkgconf_per_src_index.each { pkg_src, pkg_src_configs ->
OSRFSourceCreation.call_uploader_and_releasepy(gz_source_job,
'repository_uploader_packages',
'_releasepy')
+ // --------------------------------------------------------------
+ pkg_system.arch.each { 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: linux_install_job_name])
+ logging_list['install_ci'].add(
+ [collection: index_entry.collection,
+ job_name: brew_install_job_name])
+ }
+ }
}
}
+def File log_file
if (WRITE_JOB_LOG) {
- File log_file = new File("jobs.txt")
- logging_list.each { log_type, items ->
- items.each { log_file.append("${log_type} ${it.collection} ${it.job_name}\n") }
+ log_file = new File("logs/generated_jobs.txt")
+}
+
+def collection_job_names = [:].withDefault {[]}
+logging_list.each { log_type, items ->
+ items.each {
+ collection_job_names[it.collection] << it.job_name
+ if (WRITE_JOB_LOG) {
+ log_file.append("${log_type} ${it.collection} ${it.job_name}\n") }
+ }
+}
+
+/*
+ * -------------------------------------------------------
+ * DASHBOARD VIEWS
+ * -------------------------------------------------------
+ */
+collection_job_names.each { collection_name, job_names ->
+ // TODO: change ign by gz when testing is ready
+ dashboardView("gz-${collection_name}")
+ {
+ jobs {
+ job_names.each { jobname ->
+ name(jobname)
+ }
+ def collection = gz_collections_yaml.collections.find { it.name == collection_name }
+ println(collection)
+ if (collection.packaging?.linux?.nightly) {
+ collection.libs.each { lib ->
+ name(get_debbuilder_name(lib, collection.packaging))
+ }
+ }
+ }
+
+ columns {
+ status()
+ weather()
+ name()
+ testResult(0)
+ lastSuccess()
+ lastFailure()
+ lastDuration()
+ buildButton()
+
+ }
+
+ bottomPortlets {
+ jenkinsJobsList {
+ displayName('Jenkins jobs list')
+ }
+ }
+
+ configure { view ->
+ view / columns << "hudson.plugins.warnings.WarningsColumn" (plugin: 'warnings@5.0.1')
+
+ def topPortlets = view / NodeBuilder.newInstance().topPortlets {}
+
+ topPortlets << 'hudson.plugins.view.dashboard.core.UnstableJobsPortlet' {
+ id createPortletId()
+ name 'Failing jobs'
+ showOnlyFailedJobs 'true'
+ recurse 'false'
+ }
+ }
}
}
diff --git a/jenkins-scripts/dsl/gz-collections.yaml b/jenkins-scripts/dsl/gz-collections.yaml
index 300235db5..61e845b23 100644
--- a/jenkins-scripts/dsl/gz-collections.yaml
+++ b/jenkins-scripts/dsl/gz-collections.yaml
@@ -28,31 +28,31 @@ spec_version: 0
collections:
- name: 'citadel'
libs:
- - name: ign-cmake
+ - name: gz-cmake
major_version: 2
repo:
current_branch: ign-cmake2
- - name: ign-tools
+ - name: gz-tools
major_version: 1
repo:
current_branch: ign-tools1
- - name: ign-math
+ - name: gz-math
major_version: 6
repo:
current_branch: ign-math6
- - name: ign-plugin
+ - name: gz-plugin
major_version: 1
repo:
current_branch: ign-plugin1
- - name: ign-common
+ - name: gz-common
major_version: 3
repo:
current_branch: ign-common3
- - name: ign-msgs
+ - name: gz-msgs
major_version: 5
repo:
current_branch: ign-msgs5
- - name: ign-rendering
+ - name: gz-rendering
major_version: 3
repo:
current_branch: ign-rendering3
@@ -60,49 +60,49 @@ collections:
major_version: 9
repo:
current_branch: sdf9
- - name: ign-fuel-tools
+ - name: gz-fuel-tools
major_version: 4
repo:
current_branch: ign-fuel-tools4
- - name: ign-transport
+ - name: gz-transport
major_version: 8
repo:
current_branch: ign-transport8
- - name: ign-gui
+ - name: gz-gui
major_version: 3
repo:
current_branch: ign-gui3
- - name: ign-sensors
+ - name: gz-sensors
major_version: 3
repo:
current_branch: ign-sensors3
- - name: ign-physics
+ - name: gz-physics
major_version: 2
repo:
current_branch: ign-physics2
- - name: ign-gazebo
- major_version: 7
+ - name: gz-sim
+ major_version: 3
repo:
current_branch: ign-gazebo3
- - name: ign-launch
+ - name: gz-launch
major_version: 2
repo:
current_branch: ign-launch2
- - name: ign-citadel
+ - name: gz-citadel
major_version: 1
repo:
current_branch: main
ci:
configs:
- - bionic
+ - focal
- brew
- - win
+ - win_citadel
packaging:
configs:
- - bionic
+ - focal
linux:
ignore_major_version:
- - ign-citadel
+ - gz-citadel
- name: 'fortress'
libs:
- name: gz-cmake
@@ -440,33 +440,7 @@ collections:
packaging:
configs:
- jammy
- exclude:
- - __upcoming__
ci_configs:
- - name: bionic
- system:
- so: linux
- distribution: ubuntu
- version: bionic
- arch: amd64
- exclude:
- all:
- - ign-citadel
- abichecker:
- - ign-cmake
- - ign-tools
- requirements:
- large_memory:
- - ign-physics
- nvidia_gpu:
- - ign-gazebo
- - ign-gui
- - ign-rendering
- - ign-sensors
- pre_setup_script_hook:
- gz-physics:
- - "export MAKE_JOBS=1"
- tests_disabled:
- name: focal
system:
so: linux
@@ -483,18 +457,14 @@ ci_configs:
- gz-sensors
exclude:
all:
+ - gz-citadel
- gz-fortress
- gz-garden
abichecker:
- gz-cmake
- gz-tools
- # These have a Jammy counterpart in Harmonic
- - gz-common
- - gz-math
- - gz-plugin
- - gz-utils
pre_setup_script_hook:
- ign-physics:
+ gz-physics:
- "export MAKE_JOBS=1"
tests_disabled:
- name: jammy
@@ -531,7 +501,7 @@ ci_configs:
requirements:
exclude:
all:
- - ign-citadel
+ - gz-citadel
- gz-fortress
- gz-garden
- gz-harmonic
@@ -562,7 +532,6 @@ ci_configs:
requirements:
exclude:
all:
- - ign-citadel
- gz-fortress
- gz-garden
- gz-harmonic
@@ -583,31 +552,35 @@ ci_configs:
- gz-tools
- gz-transport
- gz-utils
- - ign-cmake
- - ign-common
- - ign-fuel-tools
- - ign-sim
- - ign-gui
- - ign-launch
- - ign-math
- - ign-msgs
- - ign-physics
- - ign-rendering
- - ign-sensors
- - ign-tools
- - ign-transport
- - ign-utils
- sdformat
-packaging_configs:
- - name: bionic
+ # No gz-sim and gz-launch on Citadel
+ - name: win_citadel
system:
- so: linux
- distribution: ubuntu
- version: bionic
- arch:
- - i386
- - amd64
- - arm64
+ 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:
so: linux
@@ -615,7 +588,6 @@ packaging_configs:
version: focal
arch:
- amd64
- - arm64
- name: jammy
system:
so: linux
@@ -623,5 +595,5 @@ packaging_configs:
version: jammy
arch:
- amd64
- - arm64
- - armhf
+ exclude:
+ - __upcoming__
diff --git a/jenkins-scripts/dsl/ignition.dsl b/jenkins-scripts/dsl/ignition.dsl
index 4a0a324c3..643e6043a 100644
--- a/jenkins-scripts/dsl/ignition.dsl
+++ b/jenkins-scripts/dsl/ignition.dsl
@@ -354,37 +354,6 @@ boolean is_a_colcon_package(String gz_software_name)
return false
}
-void generate_install_job(prefix, gz_sw, major_version, distro, arch)
-{
- def install_default_job = job("${prefix}_${gz_sw}${major_version}-install-pkg-${distro}-${arch}")
- OSRFLinuxInstall.create(install_default_job)
- include_gpu_label_if_needed(install_default_job, gz_sw)
-
- install_default_job.with
- {
- triggers {
- cron(Globals.CRON_EVERY_THREE_DAYS)
- }
-
- def dev_package = "lib${prefix}-${gz_sw}${major_version}-dev"
- def gzdev_project = "${prefix}-${gz_sw}${major_version}"
-
- steps {
- shell("""\
- #!/bin/bash -xe
-
- ${GLOBAL_SHELL_CMD}
-
- export DISTRO=${distro}
- export ARCH=${arch}
- export INSTALL_JOB_PKG=${dev_package}
- export GZDEV_PROJECT_NAME="${gzdev_project}"
- /bin/bash -x ./scripts/jenkins-scripts/docker/generic-install-test-job.bash
- """.stripIndent())
- }
- }
-}
-
// Need to be before the ci-pr_any so the abi job name is defined
gz_software.each { gz_sw ->
supported_arches.each { arch ->
@@ -396,7 +365,6 @@ gz_software.each { gz_sw ->
// 1.3 Per all supported_distros
// 1.3.1 Per all supported branches on each library
// 1.3.1.1 [job] Branch jobs -ci-$branch-
- // 1.3.1.2 [job] Branch ASAN jobs -ci_asan-$branch-
// 1.1.1 ABI checker for main branches
// --------------------------------------------------------------
@@ -420,105 +388,9 @@ gz_software.each { gz_sw ->
description 'Automatic generated job by DSL jenkins. Stub job for migration, not doing any check'
} // end of with
} // end of abi_distro
-
- all_supported_distros.each { distro ->
- all_branches("${gz_sw}").each { branch ->
- // 1. Standard CI
- software_name = gz_sw // Necessary substitution. gz_sw won't overwrite
-
- if (gz_sw == 'sim')
- software_name = "gazebo"
-
- // 1.3.1.2 Branch ASAN jobs -ci_asan-$branch-
- // --------------------------------------------------------------
- def gz_ci_asan_job = job("ignition_${software_name}-ci_asan-${branch}-${distro}-${arch}")
- generate_asan_ci_job(gz_ci_asan_job, software_name, branch, distro, arch)
- gz_ci_asan_job.with
- {
- triggers {
- scm(Globals.CRON_ON_WEEKEND)
- }
- }
- }
- } // end of all_supported_distros
- } // end of supported_arches
+ } // end of arch
} // end of gz_software
-
-// INSTALL PACKAGE ALL PLATFORMS / DAILY
-gz_software.each { gz_sw ->
- // Exclusion list
- if (gz_sw in gz_no_pkg_yet)
- return
-
- supported_arches.each { arch ->
- supported_install_pkg_branches(gz_sw).each { major_version, supported_distros ->
- supported_distros.each { distro ->
- extra_repos_str=""
- if ((gz_sw in gz_prerelease_pkgs) &&
- (major_version in gz_prerelease_pkgs[gz_sw]) &&
- (distro in gz_prerelease_pkgs[gz_sw][major_version]))
- extra_repos_str="prerelease"
-
- // No 1-dev or 0-dev packages (except special cases see
- // gz_debbuild variable), unversioned
- major_version_in_pkgname = major_version
- if ("${major_version}" == "0" || "${major_version}" == "1")
- major_version_in_pkgname = ""
-
- // 1. gz_ prefix packages. All but not gazebo (replaced by sim)
- generate_install_job("gz", gz_sw.replace('gazebo', 'sim'), major_version, distro, arch)
-
- // 2. ignition_ prefix packages. gz software does not have ignition packages
- if (major_version in supported_ign_branches(gz_sw))
- generate_install_job("ignition", gz_sw, major_version_in_pkgname, distro, arch)
- }
- }
- }
-}
-
-void generate_asan_ci_job(gz_ci_job, gz_sw, branch, distro, arch)
-{
- generate_ci_job(gz_ci_job, gz_sw, branch, distro, arch,
- '-DGZ_SANITIZER=Address',
- Globals.MAKETEST_SKIP_GZ,
- ['export ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true'])
-}
-
-
-void generate_ci_job(gz_ci_job, gz_sw, branch, distro, arch,
- extra_cmake = '', extra_test = '', extra_cmd = [])
-{
- OSRFLinuxCompilation.create(gz_ci_job, enable_testing(software_name))
- OSRFGitHub.create(gz_ci_job,
- "gazebosim/ign-${software_name}",
- "${branch}", "ign-${software_name}")
-
- include_gpu_label_if_needed(gz_ci_job, gz_sw)
- gz_ci_job.with
- {
- if (gz_sw == 'physics') {
- label Globals.nontest_label("large-memory")
- extra_cmd += "export MAKE_JOBS=1"
- }
- if (gz_sw == 'gazebo')
- gz_sw = 'sim'
-
- steps {
- shell("""#!/bin/bash -xe
-
- ${GLOBAL_SHELL_CMD}
- ${extra_cmd.join('\n')}
- export BUILDING_EXTRA_CMAKE_PARAMS="${extra_cmake}"
- export BUILDING_EXTRA_MAKETEST_PARAMS="${extra_test}"
- export DISTRO=${distro}
- export ARCH=${arch}
- /bin/bash -xe ./scripts/jenkins-scripts/docker/gz_${gz_sw.replaceAll('-','_')}-compilation.bash
- """.stripIndent())
- }
- }
-}
-
// --------------------------------------------------------------
// DEBBUILD: linux package builder
all_debbuilders().each { debbuilder_name ->
@@ -555,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/ignition_collection.dsl b/jenkins-scripts/dsl/ignition_collection.dsl
index d5096bf3e..43018c8df 100644
--- a/jenkins-scripts/dsl/ignition_collection.dsl
+++ b/jenkins-scripts/dsl/ignition_collection.dsl
@@ -24,377 +24,6 @@ String get_debbuilder_name(parsed_yaml_lib, parsed_yaml_packaging)
return parsed_yaml_lib.name + major_version + "-debbuilder"
}
-gz_collection_jobs =
-[
- 'citadel' : [
- 'ign_cmake-ign-2-win',
- 'ign_common-ign-3-win',
- 'ign_fuel-tools-ign-4-win',
- 'ign_gazebo-ign-3-win',
- 'ign_gui-ign-3-win',
- 'ign_math-ign-6-win',
- 'ign_msgs-ign-5-win',
- 'ign_physics-ign-2-win',
- 'ign_plugin-ign-1-win',
- 'ign_rendering-ign-3-win',
- 'ign_sensors-ign-3-win',
- 'ign_tools-ign-1-win',
- 'ign_transport-ign-8-win',
- 'ignition_citadel-ci-main-homebrew-amd64',
- 'ignition_citadel-install-pkg-bionic-amd64',
- 'ignition_citadel-install_bottle-homebrew-amd64',
- 'ignition_cmake-ci-ign-cmake2-focal-amd64',
- 'ignition_cmake-ci-ign-cmake2-homebrew-amd64',
- 'ignition_cmake2-install-pkg-focal-amd64',
- 'ignition_cmake2-install_bottle-homebrew-amd64',
- 'ignition_common-ci-ign-common3-focal-amd64',
- 'ignition_common-ci-ign-common3-homebrew-amd64',
- 'ignition_common3-install-pkg-focal-amd64',
- 'ignition_common3-install_bottle-homebrew-amd64',
- 'ignition_fuel-tools-ci-ign-fuel-tools4-focal-amd64',
- 'ignition_fuel-tools-ci-ign-fuel-tools4-homebrew-amd64',
- 'ignition_fuel-tools4-install-pkg-focal-amd64',
- 'ignition_fuel-tools4-install_bottle-homebrew-amd64',
- 'ignition_gazebo-ci-ign-gazebo3-focal-amd64',
- 'ignition_gazebo-ci-ign-gazebo3-homebrew-amd64',
- 'ignition_gazebo3-install-pkg-focal-amd64',
- 'ignition_gazebo3-install_bottle-homebrew-amd64',
- 'ignition_gui-ci-ign-gui3-focal-amd64',
- 'ignition_gui-ci-ign-gui3-homebrew-amd64',
- 'ignition_gui3-install-pkg-focal-amd64',
- 'ignition_gui3-install_bottle-homebrew-amd64',
- 'ignition_launch-ci-ign-launch2-focal-amd64',
- 'ignition_launch-ci-ign-launch2-homebrew-amd64',
- 'ignition_launch2-install-pkg-focal-amd64',
- 'ignition_launch2-install_bottle-homebrew-amd64',
- 'ignition_math-ci-ign-math6-focal-amd64',
- 'ignition_math-ci-ign-math6-homebrew-amd64',
- 'ignition_math6-install-pkg-focal-amd64',
- 'ignition_math6-install_bottle-homebrew-amd64',
- 'ignition_msgs-ci-ign-msgs5-focal-amd64',
- 'ignition_msgs-ci-ign-msgs5-homebrew-amd64',
- 'ignition_msgs5-install-pkg-focal-amd64',
- 'ignition_msgs5-install_bottle-homebrew-amd64',
- 'ignition_physics-ci-ign-physics2-focal-amd64',
- 'ignition_physics-ci-ign-physics2-homebrew-amd64',
- 'ignition_physics2-install-pkg-focal-amd64',
- 'ignition_physics2-install_bottle-homebrew-amd64',
- 'ignition_plugin-ci-ign-plugin1-focal-amd64',
- 'ignition_plugin-ci-ign-plugin1-homebrew-amd64',
- 'ignition_plugin-install-pkg-focal-amd64',
- 'ignition_plugin1-install_bottle-homebrew-amd64',
- 'ignition_rendering-ci-ign-rendering3-focal-amd64',
- 'ignition_rendering-ci-ign-rendering3-homebrew-amd64',
- 'ignition_rendering3-install-pkg-focal-amd64',
- 'ignition_rendering3-install_bottle-homebrew-amd64',
- 'ignition_sensors-ci-ign-sensors3-focal-amd64',
- 'ignition_sensors-ci-ign-sensors3-homebrew-amd64',
- 'ignition_sensors3-install-pkg-focal-amd64',
- 'ignition_sensors3-install_bottle-homebrew-amd64',
- 'ignition_tools-ci-ign-tools1-focal-amd64',
- 'ignition_tools-ci-ign-tools1-homebrew-amd64',
- 'ignition_tools-install-pkg-focal-amd64',
- 'ignition_tools1-install_bottle-homebrew-amd64',
- 'ignition_transport-ci-ign-transport8-focal-amd64',
- 'ignition_transport-ci-ign-transport8-homebrew-amd64',
- 'ignition_transport8-install-pkg-focal-amd64',
- 'ignition_transport8-install_bottle-homebrew-amd64',
- 'sdformat-ci-sdformat9-focal-amd64',
- 'sdformat-ci-sdformat9-homebrew-amd64',
- 'sdformat-ci-sdformat9-windows7-amd64',
- 'sdformat-install-sdformat9_pkg-focal-amd64',
- 'sdformat-sdf-9-win'
- ],
- 'fortress' : [
- 'ign_cmake-ign-2-win',
- 'ign_common-ign-4-win',
- 'ign_fuel-tools-ign-7-win',
- 'ign_gazebo-ign-6-win',
- 'ign_gui-ign-6-win',
- 'ign_launch-ign-5-win',
- 'ign_math-ign-6-win',
- 'ign_msgs-ign-8-win',
- 'ign_physics-ign-5-win',
- 'ign_plugin-ign-1-win',
- 'ign_rendering-ign-6-win',
- 'ign_sensors-ign-6-win',
- 'ign_tools-ign-1-win',
- 'ign_transport-ign-11-win',
- 'ign_utils-ign-1-win',
- 'ignition_cmake-ci-ign-cmake2-focal-amd64',
- 'ignition_cmake-ci-ign-cmake2-homebrew-amd64',
- 'ignition_cmake2-install-pkg-focal-amd64',
- 'ignition_cmake2-install_bottle-homebrew-amd64',
- 'ignition_common-ci-ign-common4-focal-amd64',
- 'ignition_common-ci-ign-common4-homebrew-amd64',
- 'ignition_common4-install-pkg-focal-amd64',
- 'ignition_common4-install_bottle-homebrew-amd64',
- 'ignition_fortress-ci-main-homebrew-amd64',
- 'ignition_fortress-install-pkg-focal-amd64',
- 'ignition_fortress-install_bottle-homebrew-amd64',
- 'ignition_fuel-tools-ci-ign-fuel-tools7-focal-amd64',
- 'ignition_fuel-tools-ci-ign-fuel-tools7-homebrew-amd64',
- 'ignition_fuel-tools7-install-pkg-focal-amd64',
- 'ignition_fuel-tools7-install_bottle-homebrew-amd64',
- 'ignition_gazebo-ci-ign-gazebo6-focal-amd64',
- 'ignition_gazebo-ci-ign-gazebo6-homebrew-amd64',
- 'ignition_gazebo6-install-pkg-focal-amd64',
- 'ignition_gazebo6-install_bottle-homebrew-amd64',
- 'ignition_gui-ci-ign-gui6-focal-amd64',
- 'ignition_gui-ci-ign-gui6-homebrew-amd64',
- 'ignition_gui6-install-pkg-focal-amd64',
- 'ignition_gui6-install_bottle-homebrew-amd64',
- 'ignition_launch-ci-ign-launch5-focal-amd64',
- 'ignition_launch-ci-ign-launch5-homebrew-amd64',
- 'ignition_launch5-install-pkg-focal-amd64',
- 'ignition_launch5-install_bottle-homebrew-amd64',
- 'ignition_math-ci-ign-math6-focal-amd64',
- 'ignition_math-ci-ign-math6-homebrew-amd64',
- 'ignition_math6-install-pkg-focal-amd64',
- 'ignition_math6-install_bottle-homebrew-amd64',
- 'ignition_msgs-ci-ign-msgs8-focal-amd64',
- 'ignition_msgs-ci-ign-msgs8-homebrew-amd64',
- 'ignition_msgs8-install-pkg-focal-amd64',
- 'ignition_msgs8-install_bottle-homebrew-amd64',
- 'ignition_physics-ci-ign-physics5-focal-amd64',
- 'ignition_physics-ci-ign-physics5-homebrew-amd64',
- 'ignition_physics5-install-pkg-focal-amd64',
- 'ignition_physics5-install_bottle-homebrew-amd64',
- 'ignition_plugin-ci-ign-plugin1-focal-amd64',
- 'ignition_plugin-ci-ign-plugin1-homebrew-amd64',
- 'ignition_plugin-install-pkg-focal-amd64',
- 'ignition_plugin1-install_bottle-homebrew-amd64',
- 'ignition_rendering-ci-ign-rendering6-focal-amd64',
- 'ignition_rendering-ci-ign-rendering6-homebrew-amd64',
- 'ignition_rendering6-install-pkg-focal-amd64',
- 'ignition_rendering6-install_bottle-homebrew-amd64',
- 'ignition_sensors-ci-ign-sensors6-focal-amd64',
- 'ignition_sensors-ci-ign-sensors6-homebrew-amd64',
- 'ignition_sensors6-install-pkg-focal-amd64',
- 'ignition_sensors6-install_bottle-homebrew-amd64',
- 'ignition_tools-ci-ign-tools1-focal-amd64',
- 'ignition_tools-ci-ign-tools1-homebrew-amd64',
- 'ignition_tools-install-pkg-focal-amd64',
- 'ignition_tools1-install_bottle-homebrew-amd64',
- 'ignition_transport-ci-ign-transport11-focal-amd64',
- 'ignition_transport-ci-ign-transport11-homebrew-amd64',
- 'ignition_transport11-install-pkg-focal-amd64',
- 'ignition_transport11-install_bottle-homebrew-amd64',
- 'ignition_utils-ci-ign-utils1-focal-amd64',
- 'ignition_utils-ci-ign-utils1-homebrew-amd64',
- 'ignition_utils-install-pkg-focal-amd64',
- 'ignition_utils1-install_bottle-homebrew-amd64',
- 'sdformat-ci-sdformat12-focal-amd64',
- 'sdformat-ci-sdformat12-homebrew-amd64',
- 'sdformat-install-sdformat12_pkg-focal-amd64',
- 'sdformat-sdf-12-win.xml'
- ],
- 'garden' : [
- 'gz_cmake3-install-pkg-focal-amd64',
- 'gz_common5-install-pkg-focal-amd64',
- 'gz_fuel-tools8-install-pkg-focal-amd64',
- 'gz_garden-install-pkg-focal-amd64',
- 'gz_sim7-install-pkg-focal-amd64',
- 'gz_gui7-install-pkg-focal-amd64',
- 'gz_launch6-install-pkg-focal-amd64',
- 'gz_math7-install-pkg-focal-amd64',
- 'gz_msgs9-install-pkg-focal-amd64',
- 'gz_physics6-install-pkg-focal-amd64',
- 'gz_plugin2-install-pkg-focal-amd64',
- 'gz_rendering7-install-pkg-focal-amd64',
- 'gz_sensors7-install-pkg-focal-amd64',
- 'gz_tools2-install-pkg-focal-amd64',
- 'gz_transport12-install-pkg-focal-amd64',
- 'gz_utils2-install-pkg-focal-amd64',
- 'sdformat-install-sdformat13_pkg-focal-amd64',
- 'ign_cmake-gz-3-win',
- 'ign_common-gz-5-win',
- 'ign_fuel-tools-gz-8-win',
- 'ign_gazebo-gz-7-win',
- 'ign_gui-gz-7-win',
- 'ign_launch-gz-6-win',
- 'ign_math-gz-7-win',
- 'ign_msgs-gz-9-win',
- 'ign_physics-gz-6-win',
- 'ign_plugin-gz-2-win',
- 'ign_rendering-gz-7-win',
- 'ign_sensors-gz-7-win',
- 'ign_tools-gz-2-win',
- 'ign_transport-gz-12-win',
- 'ign_utils-gz-2-win',
- 'sdformat-sdf-13-win',
- 'ignition_cmake-ci-gz-cmake3-focal-amd64',
- 'ignition_cmake-ci-gz-cmake3-homebrew-amd64',
- 'ignition_cmake3-install_bottle-homebrew-amd64',
- 'ignition_common-ci-gz-common5-focal-amd64',
- 'ignition_common-ci-gz-common5-homebrew-amd64',
- 'ignition_common5-install_bottle-homebrew-amd64',
- 'ignition_fuel-tools-ci-gz-fuel-tools8-focal-amd64',
- 'ignition_fuel-tools-ci-gz-fuel-tools8-homebrew-amd64',
- 'ignition_fuel-tools8-install_bottle-homebrew-amd64',
- 'ignition_garden-ci-main-homebrew-amd64',
- 'ignition_garden-install-pkg-focal-amd64',
- 'ignition_garden-install_bottle-homebrew-amd64',
- 'ignition_gazebo-ci-gz-sim7-focal-amd64',
- 'ignition_gazebo-ci-gz-sim7-homebrew-amd64',
- 'ignition_sim7-install_bottle-homebrew-amd64',
- 'ignition_gui-ci-gz-gui7-focal-amd64',
- 'ignition_gui-ci-gz-gui7-homebrew-amd64',
- 'ignition_gui6-install_bottle-homebrew-amd64',
- 'ignition_launch-ci-gz-launch6-focal-amd64',
- 'ignition_launch-ci-gz-launch6-homebrew-amd64',
- 'ignition_launch6-install_bottle-homebrew-amd64',
- 'ignition_math-ci-gz-math7-focal-amd64',
- 'ignition_math-ci-gz-math7-homebrew-amd64',
- 'ignition_math7-install_bottle-homebrew-amd64',
- 'ignition_msgs-ci-gz-msgs9-focal-amd64',
- 'ignition_msgs-ci-gz-msgs9-homebrew-amd64',
- 'ignition_msgs9-install_bottle-homebrew-amd64',
- 'ignition_physics-ci-gz-physics6-focal-amd64',
- 'ignition_physics-ci-gz-physics6-homebrew-amd64',
- 'ignition_physics6-install_bottle-homebrew-amd64',
- 'ignition_plugin-ci-gz-plugin2-focal-amd64',
- 'ignition_plugin-ci-gz-plugin2-homebrew-amd64',
- 'ignition_plugin2-install_bottle-homebrew-amd64',
- 'ignition_rendering-ci-gz-rendering7-focal-amd64',
- 'ignition_rendering-ci-gz-rendering7-homebrew-amd64',
- 'ignition_rendering7-install_bottle-homebrew-amd64',
- 'ignition_sensors-ci-gz-sensors7-focal-amd64',
- 'ignition_sensors-ci-gz-sensors7-homebrew-amd64',
- 'ignition_sensors7-install_bottle-homebrew-amd64',
- 'ignition_tools-ci-gz-tools2-focal-amd64',
- 'ignition_tools-ci-gz-tools2-homebrew-amd64',
- 'ignition_tools2-install_bottle-homebrew-amd64',
- 'ignition_transport-ci-gz-transport12-focal-amd64',
- 'ignition_transport-ci-gz-transport12-homebrew-amd64',
- 'ignition_transport12-install_bottle-homebrew-amd64',
- 'ignition_utils-ci-gz-utils2-focal-amd64',
- 'ignition_utils-ci-gz-utils2-homebrew-amd64',
- 'ignition_utils2-install_bottle-homebrew-amd64',
- 'sdformat-ci-sdformat13-focal-amd64',
- 'sdformat-ci-sdformat13-homebrew-amd64'
- ],
- 'harmonic' : [
- 'ign_cmake-gz-3-win',
- 'ign_common-gz-5-win',
- 'ign_fuel-tools-gz-9-win',
- 'ign_gazebo-gz-8-win',
- 'ign_gui-gz-8-win',
- 'ign_launch-gz-7-win',
- 'ign_math-gz-7-win',
- 'ign_msgs-gz-10-win',
- 'ign_physics-gz-7-win',
- 'ign_plugin-gz-2-win',
- 'ign_rendering-gz-8-win',
- 'ign_sensors-gz-8-win',
- 'ign_tools-gz-2-win',
- 'ign_transport-gz-13-win',
- 'ign_utils-gz-2-win',
- 'gz_cmake-ci-gz-cmake3-jammy-amd64',
- 'gz_common-ci-gz-common5-jammy-amd64',
- 'gz_fuel_tools-ci-gz-fuel-tools9-jammy-amd64',
- 'gz_gui-ci-gz-gui8-jammy-amd64',
- 'gz_launch-ci-gz-launch7-jammy-amd64',
- 'gz_math-ci-gz-math7-jammy-amd64',
- 'gz_msgs-ci-gz-msgs10-jammy-amd64',
- 'gz_physics-ci-gz-physics7-jammy-amd64',
- 'gz_plugin-ci-gz-plugin2-jammy-amd64',
- 'gz_rendering-ci-gz-rendering8-jammy-amd64',
- 'gz_sensors-ci-gz-sensors8-jammy-amd64',
- 'gz_sim-ci-gz-sim8-jammy-amd64',
- 'gz_tools-ci-gz-tools2-jammy-amd64',
- 'gz_transport-ci-gz-transport13-jammy-amd64',
- 'gz_utils-ci-gz-utils2-jammy-amd64',
- 'ignition_cmake-ci-gz-cmake3-homebrew-amd64',
- 'ignition_cmake3-install_bottle-homebrew-amd64',
- 'ignition_common-ci-gz-common5-homebrew-amd64',
- 'ignition_common5-install_bottle-homebrew-amd64',
- 'ignition_fuel-tools-ci-gz-fuel-tools9-homebrew-amd64',
- 'ignition_fuel-tools9-install_bottle-homebrew-amd64',
- 'ignition_harmonic-ci-main-homebrew-amd64',
- 'ignition_harmonic-install_bottle-homebrew-amd64',
- 'ignition_gazebo-ci-gz-sim8-homebrew-amd64',
- 'ignition_sim8-install_bottle-homebrew-amd64',
- 'ignition_gui-ci-gz-gui8-homebrew-amd64',
- 'ignition_gui8-install_bottle-homebrew-amd64',
- 'ignition_launch-gz-launch7-homebrew-amd64',
- 'ignition_launch7-install_bottle-homebrew-amd64',
- 'ignition_math-ci-gz-math7-homebrew-amd64',
- 'ignition_math7-install_bottle-homebrew-amd64',
- 'ignition_msgs-ci-gz-msgs10-homebrew-amd64',
- 'ignition_msgs10-install_bottle-homebrew-amd64',
- 'ignition_physics-ci-gz-physics7-homebrew-amd64',
- 'ignition_physics7-install_bottle-homebrew-amd64',
- 'ignition_plugin-ci-gz-plugin2-homebrew-amd64',
- 'ignition_plugin2-install_bottle-homebrew-amd64',
- 'ignition_rendering-ci-gz-rendering8-homebrew-amd64',
- 'ignition_rendering8-install_bottle-homebrew-amd64',
- 'ignition_sensors-ci-gz-sensors8-homebrew-amd64',
- 'ignition_sensors8-install_bottle-homebrew-amd64',
- 'ignition_tools-ci-gz-tools2-homebrew-amd64',
- 'ignition_tools2-install_bottle-homebrew-amd64',
- 'ignition_transport-ci-gz-transport13-homebrew-amd64',
- 'ignition_transport13-install_bottle-homebrew-amd64',
- 'ignition_utils-ci-gz-utils2-homebrew-amd64',
- 'ignition_utils2-install_bottle-homebrew-amd64',
- 'sdformat-ci-sdformat14-jammy-amd64',
- 'sdformat-ci-sdformat14-homebrew-amd64',
- 'sdformat14-install_bottle-homebrew-amd64',
- 'sdformat-sdf-14-win'
- ],
- 'ionic' : [
- 'ign_cmake-gz-4-win',
- 'ign_common-gz-6-win',
- 'ign_fuel-tools-gz-10-win',
- 'ign_gazebo-gz-9-win',
- 'ign_gui-gz-9-win',
- 'ign_launch-gz-8-win',
- 'ign_math-gz-8-win',
- 'ign_msgs-gz-11-win',
- 'ign_physics-gz-8-win',
- 'ign_plugin-gz-3-win',
- 'ign_rendering-gz-9-win',
- 'ign_sensors-gz-9-win',
- 'ign_tools-gz-2-win',
- 'ign_transport-gz-14-win',
- 'ign_utils-gz-3-win',
- 'gz_cmake-ci-gz-cmake4-jammy-amd64',
- 'gz_common-ci-gz-common6-jammy-amd64',
- 'gz_fuel_tools-ci-gz-fuel-tools10-jammy-amd64',
- 'gz_gui-ci-gz-gui9-jammy-amd64',
- 'gz_launch-ci-gz-launch8-jammy-amd64',
- 'gz_math-ci-gz-math8-jammy-amd64',
- 'gz_msgs-ci-gz-msgs11-jammy-amd64',
- 'gz_physics-ci-gz-physics8-jammy-amd64',
- 'gz_plugin-ci-gz-plugin3-jammy-amd64',
- 'gz_rendering-ci-gz-rendering9-jammy-amd64',
- 'gz_sensors-ci-gz-sensors9-jammy-amd64',
- 'gz_sim-ci-gz-sim9-jammy-amd64',
- 'gz_tools-ci-gz-tools2-jammy-amd64',
- 'gz_transport-ci-gz-transport14-jammy-amd64',
- 'gz_utils-ci-gz-utils3-jammy-amd64',
- 'ignition_cmake-ci-gz-cmake4-homebrew-amd64',
- 'ignition_common-ci-gz-common6-homebrew-amd64',
- 'ignition_fuel-tools-ci-gz-fuel-tools10-homebrew-amd64',
- 'ignition_ionic-ci-main-homebrew-amd64',
- 'ignition_gazebo-ci-gz-sim9-homebrew-amd64',
- 'ignition_gui-ci-gz-gui9-homebrew-amd64',
- 'ignition_launch-gz-launch8-homebrew-amd64',
- 'ignition_math-ci-gz-math8-homebrew-amd64',
- 'ignition_msgs-ci-gz-msgs11-homebrew-amd64',
- 'ignition_physics-ci-gz-physics8-homebrew-amd64',
- 'ignition_plugin-ci-gz-plugin3-homebrew-amd64',
- 'ignition_rendering-ci-gz-rendering9-homebrew-amd64',
- 'ignition_sensors-ci-gz-sensors9-homebrew-amd64',
- 'ignition_tools-ci-gz-tools2-homebrew-amd64',
- 'ignition_transport-ci-gz-transport14-homebrew-amd64',
- 'ignition_utils-ci-gz-utils3-homebrew-amd64',
- 'sdformat-ci-sdformat15-jammy-amd64',
- 'sdformat-ci-sdformat15-homebrew-amd64',
- 'sdformat-sdf-15-win'
- ],
-]
-
def DISABLE_TESTS = false
void generate_install_job(prefix, gz_collection_name, distro, arch)
@@ -434,57 +63,6 @@ void generate_install_job(prefix, gz_collection_name, distro, arch)
gz_collections_yaml.collections.each { collection ->
gz_collection_name = collection.name
- dashboard_name = "ign-${gz_collection_name}"
- if (gz_collection_name == "__upcoming__")
- dashboard_name = gz_collection_name
-
- // Gazebo dashboards
- // --------------------------------------------------------------
- dashboardView(dashboard_name)
- {
- jobs {
- gz_collection_jobs["${gz_collection_name}"].each { jobname ->
- name(jobname)
- }
- if (collection.packaging?.linux?.nightly) {
- collection.libs.each { lib ->
- name(get_debbuilder_name(lib, collection.packaging))
- }
- }
- }
-
- columns {
- status()
- weather()
- name()
- testResult(0)
- lastSuccess()
- lastFailure()
- lastDuration()
- buildButton()
-
- }
-
- bottomPortlets {
- jenkinsJobsList {
- displayName('Jenkins jobs list')
- }
- }
-
- configure { view ->
- view / columns << "hudson.plugins.warnings.WarningsColumn" (plugin: 'warnings@5.0.1')
-
- def topPortlets = view / NodeBuilder.newInstance().topPortlets {}
-
- topPortlets << 'hudson.plugins.view.dashboard.core.UnstableJobsPortlet' {
- id createPortletId()
- name 'Failing jobs'
- showOnlyFailedJobs 'true'
- recurse 'false'
- }
- }
- }
-
if (! collection.packaging.exclude?.contains(gz_collection_name)) {
// DEBBUILD: linux package builder
// --------------------------------------------------------------
diff --git a/jenkins-scripts/dsl/logs/generated_jobs.txt b/jenkins-scripts/dsl/logs/generated_jobs.txt
new file mode 100644
index 000000000..7d079d0aa
--- /dev/null
+++ b/jenkins-scripts/dsl/logs/generated_jobs.txt
@@ -0,0 +1,489 @@
+asan_ci __upcoming__ gz_tools-ci_asan-main-jammy-amd64
+asan_ci citadel gz_cmake-ci_asan-ign-cmake2-focal-amd64
+asan_ci citadel gz_common-ci_asan-ign-common3-focal-amd64
+asan_ci citadel gz_fuel_tools-ci_asan-ign-fuel-tools4-focal-amd64
+asan_ci citadel gz_gui-ci_asan-ign-gui3-focal-amd64
+asan_ci citadel gz_launch-ci_asan-ign-launch2-focal-amd64
+asan_ci citadel gz_math-ci_asan-ign-math6-focal-amd64
+asan_ci citadel gz_msgs-ci_asan-ign-msgs5-focal-amd64
+asan_ci citadel gz_physics-ci_asan-ign-physics2-focal-amd64
+asan_ci citadel gz_plugin-ci_asan-ign-plugin1-focal-amd64
+asan_ci citadel gz_rendering-ci_asan-ign-rendering3-focal-amd64
+asan_ci citadel gz_sensors-ci_asan-ign-sensors3-focal-amd64
+asan_ci citadel gz_sim-ci_asan-ign-gazebo3-focal-amd64
+asan_ci citadel gz_tools-ci_asan-ign-tools1-focal-amd64
+asan_ci citadel gz_transport-ci_asan-ign-transport8-focal-amd64
+asan_ci citadel sdformat-ci_asan-sdf9-focal-amd64
+asan_ci fortress gz_cmake-ci_asan-ign-cmake2-focal-amd64
+asan_ci fortress gz_common-ci_asan-ign-common4-focal-amd64
+asan_ci fortress gz_fuel_tools-ci_asan-ign-fuel-tools7-focal-amd64
+asan_ci fortress gz_gui-ci_asan-ign-gui6-focal-amd64
+asan_ci fortress gz_launch-ci_asan-ign-launch5-focal-amd64
+asan_ci fortress gz_math-ci_asan-ign-math6-focal-amd64
+asan_ci fortress gz_msgs-ci_asan-ign-msgs8-focal-amd64
+asan_ci fortress gz_physics-ci_asan-ign-physics5-focal-amd64
+asan_ci fortress gz_plugin-ci_asan-ign-plugin1-focal-amd64
+asan_ci fortress gz_rendering-ci_asan-ign-rendering6-focal-amd64
+asan_ci fortress gz_sensors-ci_asan-ign-sensors6-focal-amd64
+asan_ci fortress gz_sim-ci_asan-ign-gazebo6-focal-amd64
+asan_ci fortress gz_tools-ci_asan-ign-tools1-focal-amd64
+asan_ci fortress gz_transport-ci_asan-ign-transport11-focal-amd64
+asan_ci fortress gz_utils-ci_asan-ign-utils1-focal-amd64
+asan_ci fortress sdformat-ci_asan-sdf12-focal-amd64
+asan_ci garden gz_cmake-ci_asan-gz-cmake3-focal-amd64
+asan_ci garden gz_common-ci_asan-gz-common5-focal-amd64
+asan_ci garden gz_fuel_tools-ci_asan-gz-fuel-tools8-focal-amd64
+asan_ci garden gz_gui-ci_asan-gz-gui7-focal-amd64
+asan_ci garden gz_launch-ci_asan-gz-launch6-focal-amd64
+asan_ci garden gz_math-ci_asan-gz-math7-focal-amd64
+asan_ci garden gz_msgs-ci_asan-gz-msgs9-focal-amd64
+asan_ci garden gz_physics-ci_asan-gz-physics6-focal-amd64
+asan_ci garden gz_plugin-ci_asan-gz-plugin2-focal-amd64
+asan_ci garden gz_rendering-ci_asan-gz-rendering7-focal-amd64
+asan_ci garden gz_sensors-ci_asan-gz-sensors7-focal-amd64
+asan_ci garden gz_sim-ci_asan-gz-sim7-focal-amd64
+asan_ci garden gz_tools-ci_asan-gz-tools2-focal-amd64
+asan_ci garden gz_transport-ci_asan-gz-transport12-focal-amd64
+asan_ci garden gz_utils-ci_asan-gz-utils2-focal-amd64
+asan_ci garden sdformat-ci_asan-sdf13-focal-amd64
+asan_ci harmonic gz_cmake-ci_asan-gz-cmake3-jammy-amd64
+asan_ci harmonic gz_common-ci_asan-gz-common5-jammy-amd64
+asan_ci harmonic gz_fuel_tools-ci_asan-gz-fuel-tools9-jammy-amd64
+asan_ci harmonic gz_gui-ci_asan-gz-gui8-jammy-amd64
+asan_ci harmonic gz_launch-ci_asan-gz-launch7-jammy-amd64
+asan_ci harmonic gz_math-ci_asan-gz-math7-jammy-amd64
+asan_ci harmonic gz_msgs-ci_asan-gz-msgs10-jammy-amd64
+asan_ci harmonic gz_physics-ci_asan-gz-physics7-jammy-amd64
+asan_ci harmonic gz_plugin-ci_asan-gz-plugin2-jammy-amd64
+asan_ci harmonic gz_rendering-ci_asan-gz-rendering8-jammy-amd64
+asan_ci harmonic gz_sensors-ci_asan-gz-sensors8-jammy-amd64
+asan_ci harmonic gz_sim-ci_asan-gz-sim8-jammy-amd64
+asan_ci harmonic gz_tools-ci_asan-gz-tools2-jammy-amd64
+asan_ci harmonic gz_transport-ci_asan-gz-transport13-jammy-amd64
+asan_ci harmonic gz_utils-ci_asan-gz-utils2-jammy-amd64
+asan_ci harmonic sdformat-ci_asan-sdf14-jammy-amd64
+asan_ci ionic gz_cmake-ci_asan-main-jammy-amd64
+asan_ci ionic gz_common-ci_asan-main-jammy-amd64
+asan_ci ionic gz_fuel_tools-ci_asan-main-jammy-amd64
+asan_ci ionic gz_gui-ci_asan-main-jammy-amd64
+asan_ci ionic gz_launch-ci_asan-main-jammy-amd64
+asan_ci ionic gz_math-ci_asan-main-jammy-amd64
+asan_ci ionic gz_msgs-ci_asan-main-jammy-amd64
+asan_ci ionic gz_physics-ci_asan-main-jammy-amd64
+asan_ci ionic gz_plugin-ci_asan-main-jammy-amd64
+asan_ci ionic gz_rendering-ci_asan-main-jammy-amd64
+asan_ci ionic gz_sensors-ci_asan-main-jammy-amd64
+asan_ci ionic gz_sim-ci_asan-main-jammy-amd64
+asan_ci ionic gz_tools-ci_asan-gz-tools2-jammy-amd64
+asan_ci ionic gz_transport-ci_asan-main-jammy-amd64
+asan_ci ionic gz_utils-ci_asan-main-jammy-amd64
+asan_ci ionic sdformat-ci_asan-main-jammy-amd64
+branch_ci __upcoming__ gz_tools-ci-main-homebrew-amd64
+branch_ci __upcoming__ gz_tools-ci-main-jammy-amd64
+branch_ci __upcoming__ gz_tools-main-win
+branch_ci citadel gz_cmake-ci-ign-cmake2-focal-amd64
+branch_ci citadel gz_cmake-ci-ign-cmake2-homebrew-amd64
+branch_ci citadel gz_cmake-ign-cmake2-win
+branch_ci citadel gz_common-ci-ign-common3-focal-amd64
+branch_ci citadel gz_common-ci-ign-common3-homebrew-amd64
+branch_ci citadel gz_common-ign-common3-win
+branch_ci citadel gz_fuel_tools-ci-ign-fuel-tools4-focal-amd64
+branch_ci citadel gz_fuel_tools-ci-ign-fuel-tools4-homebrew-amd64
+branch_ci citadel gz_fuel_tools-ign-fuel-tools4-win
+branch_ci citadel gz_gui-ci-ign-gui3-focal-amd64
+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_math-ci-ign-math6-focal-amd64
+branch_ci citadel gz_math-ci-ign-math6-homebrew-amd64
+branch_ci citadel gz_math-ign-math6-win
+branch_ci citadel gz_msgs-ci-ign-msgs5-focal-amd64
+branch_ci citadel gz_msgs-ci-ign-msgs5-homebrew-amd64
+branch_ci citadel gz_msgs-ign-msgs5-win
+branch_ci citadel gz_physics-ci-ign-physics2-focal-amd64
+branch_ci citadel gz_physics-ci-ign-physics2-homebrew-amd64
+branch_ci citadel gz_physics-ign-physics2-win
+branch_ci citadel gz_plugin-ci-ign-plugin1-focal-amd64
+branch_ci citadel gz_plugin-ci-ign-plugin1-homebrew-amd64
+branch_ci citadel gz_plugin-ign-plugin1-win
+branch_ci citadel gz_rendering-ci-ign-rendering3-focal-amd64
+branch_ci citadel gz_rendering-ci-ign-rendering3-homebrew-amd64
+branch_ci citadel gz_rendering-ign-rendering3-win
+branch_ci citadel gz_sensors-ci-ign-sensors3-focal-amd64
+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_tools-ci-ign-tools1-focal-amd64
+branch_ci citadel gz_tools-ci-ign-tools1-homebrew-amd64
+branch_ci citadel gz_tools-ign-tools1-win
+branch_ci citadel gz_transport-ci-ign-transport8-focal-amd64
+branch_ci citadel gz_transport-ci-ign-transport8-homebrew-amd64
+branch_ci citadel gz_transport-ign-transport8-win
+branch_ci citadel sdformat-ci-sdf9-focal-amd64
+branch_ci citadel sdformat-ci-sdf9-homebrew-amd64
+branch_ci citadel sdformat-sdf9-win
+branch_ci fortress gz_cmake-ci-ign-cmake2-focal-amd64
+branch_ci fortress gz_cmake-ci-ign-cmake2-homebrew-amd64
+branch_ci fortress gz_cmake-ign-cmake2-win
+branch_ci fortress gz_common-ci-ign-common4-focal-amd64
+branch_ci fortress gz_common-ci-ign-common4-homebrew-amd64
+branch_ci fortress gz_common-ign-common4-win
+branch_ci fortress gz_fuel_tools-ci-ign-fuel-tools7-focal-amd64
+branch_ci fortress gz_fuel_tools-ci-ign-fuel-tools7-homebrew-amd64
+branch_ci fortress gz_fuel_tools-ign-fuel-tools7-win
+branch_ci fortress gz_gui-ci-ign-gui6-focal-amd64
+branch_ci fortress gz_gui-ci-ign-gui6-homebrew-amd64
+branch_ci fortress gz_gui-ign-gui6-win
+branch_ci fortress gz_launch-ci-ign-launch5-focal-amd64
+branch_ci fortress gz_launch-ci-ign-launch5-homebrew-amd64
+branch_ci fortress gz_launch-ign-launch5-win
+branch_ci fortress gz_math-ci-ign-math6-focal-amd64
+branch_ci fortress gz_math-ci-ign-math6-homebrew-amd64
+branch_ci fortress gz_math-ign-math6-win
+branch_ci fortress gz_msgs-ci-ign-msgs8-focal-amd64
+branch_ci fortress gz_msgs-ci-ign-msgs8-homebrew-amd64
+branch_ci fortress gz_msgs-ign-msgs8-win
+branch_ci fortress gz_physics-ci-ign-physics5-focal-amd64
+branch_ci fortress gz_physics-ci-ign-physics5-homebrew-amd64
+branch_ci fortress gz_physics-ign-physics5-win
+branch_ci fortress gz_plugin-ci-ign-plugin1-focal-amd64
+branch_ci fortress gz_plugin-ci-ign-plugin1-homebrew-amd64
+branch_ci fortress gz_plugin-ign-plugin1-win
+branch_ci fortress gz_rendering-ci-ign-rendering6-focal-amd64
+branch_ci fortress gz_rendering-ci-ign-rendering6-homebrew-amd64
+branch_ci fortress gz_rendering-ign-rendering6-win
+branch_ci fortress gz_sensors-ci-ign-sensors6-focal-amd64
+branch_ci fortress gz_sensors-ci-ign-sensors6-homebrew-amd64
+branch_ci fortress gz_sensors-ign-sensors6-win
+branch_ci fortress gz_sim-ci-ign-gazebo6-focal-amd64
+branch_ci fortress gz_sim-ci-ign-gazebo6-homebrew-amd64
+branch_ci fortress gz_sim-ign-gazebo6-win
+branch_ci fortress gz_tools-ci-ign-tools1-focal-amd64
+branch_ci fortress gz_tools-ci-ign-tools1-homebrew-amd64
+branch_ci fortress gz_tools-ign-tools1-win
+branch_ci fortress gz_transport-ci-ign-transport11-focal-amd64
+branch_ci fortress gz_transport-ci-ign-transport11-homebrew-amd64
+branch_ci fortress gz_transport-ign-transport11-win
+branch_ci fortress gz_utils-ci-ign-utils1-focal-amd64
+branch_ci fortress gz_utils-ci-ign-utils1-homebrew-amd64
+branch_ci fortress gz_utils-ign-utils1-win
+branch_ci fortress sdformat-ci-sdf12-focal-amd64
+branch_ci fortress sdformat-ci-sdf12-homebrew-amd64
+branch_ci fortress sdformat-sdf12-win
+branch_ci garden gz_cmake-3-win
+branch_ci garden gz_cmake-ci-gz-cmake3-focal-amd64
+branch_ci garden gz_cmake-ci-gz-cmake3-homebrew-amd64
+branch_ci garden gz_common-5-win
+branch_ci garden gz_common-ci-gz-common5-focal-amd64
+branch_ci garden gz_common-ci-gz-common5-homebrew-amd64
+branch_ci garden gz_fuel_tools-8-win
+branch_ci garden gz_fuel_tools-ci-gz-fuel-tools8-focal-amd64
+branch_ci garden gz_fuel_tools-ci-gz-fuel-tools8-homebrew-amd64
+branch_ci garden gz_gui-7-win
+branch_ci garden gz_gui-ci-gz-gui7-focal-amd64
+branch_ci garden gz_gui-ci-gz-gui7-homebrew-amd64
+branch_ci garden gz_launch-6-win
+branch_ci garden gz_launch-ci-gz-launch6-focal-amd64
+branch_ci garden gz_launch-ci-gz-launch6-homebrew-amd64
+branch_ci garden gz_math-7-win
+branch_ci garden gz_math-ci-gz-math7-focal-amd64
+branch_ci garden gz_math-ci-gz-math7-homebrew-amd64
+branch_ci garden gz_msgs-9-win
+branch_ci garden gz_msgs-ci-gz-msgs9-focal-amd64
+branch_ci garden gz_msgs-ci-gz-msgs9-homebrew-amd64
+branch_ci garden gz_physics-6-win
+branch_ci garden gz_physics-ci-gz-physics6-focal-amd64
+branch_ci garden gz_physics-ci-gz-physics6-homebrew-amd64
+branch_ci garden gz_plugin-2-win
+branch_ci garden gz_plugin-ci-gz-plugin2-focal-amd64
+branch_ci garden gz_plugin-ci-gz-plugin2-homebrew-amd64
+branch_ci garden gz_rendering-7-win
+branch_ci garden gz_rendering-ci-gz-rendering7-focal-amd64
+branch_ci garden gz_rendering-ci-gz-rendering7-homebrew-amd64
+branch_ci garden gz_sensors-7-win
+branch_ci garden gz_sensors-ci-gz-sensors7-focal-amd64
+branch_ci garden gz_sensors-ci-gz-sensors7-homebrew-amd64
+branch_ci garden gz_sim-7-win
+branch_ci garden gz_sim-ci-gz-sim7-focal-amd64
+branch_ci garden gz_sim-ci-gz-sim7-homebrew-amd64
+branch_ci garden gz_tools-2-win
+branch_ci garden gz_tools-ci-gz-tools2-focal-amd64
+branch_ci garden gz_tools-ci-gz-tools2-homebrew-amd64
+branch_ci garden gz_transport-12-win
+branch_ci garden gz_transport-ci-gz-transport12-focal-amd64
+branch_ci garden gz_transport-ci-gz-transport12-homebrew-amd64
+branch_ci garden gz_utils-2-win
+branch_ci garden gz_utils-ci-gz-utils2-focal-amd64
+branch_ci garden gz_utils-ci-gz-utils2-homebrew-amd64
+branch_ci garden sdformat-ci-sdf13-focal-amd64
+branch_ci garden sdformat-ci-sdf13-homebrew-amd64
+branch_ci garden sdformat-sdf13-win
+branch_ci harmonic gz_cmake-3-win
+branch_ci harmonic gz_cmake-ci-gz-cmake3-homebrew-amd64
+branch_ci harmonic gz_cmake-ci-gz-cmake3-jammy-amd64
+branch_ci harmonic gz_common-5-win
+branch_ci harmonic gz_common-ci-gz-common5-homebrew-amd64
+branch_ci harmonic gz_common-ci-gz-common5-jammy-amd64
+branch_ci harmonic gz_fuel_tools-9-win
+branch_ci harmonic gz_fuel_tools-ci-gz-fuel-tools9-homebrew-amd64
+branch_ci harmonic gz_fuel_tools-ci-gz-fuel-tools9-jammy-amd64
+branch_ci harmonic gz_gui-8-win
+branch_ci harmonic gz_gui-ci-gz-gui8-homebrew-amd64
+branch_ci harmonic gz_gui-ci-gz-gui8-jammy-amd64
+branch_ci harmonic gz_launch-7-win
+branch_ci harmonic gz_launch-ci-gz-launch7-homebrew-amd64
+branch_ci harmonic gz_launch-ci-gz-launch7-jammy-amd64
+branch_ci harmonic gz_math-7-win
+branch_ci harmonic gz_math-ci-gz-math7-homebrew-amd64
+branch_ci harmonic gz_math-ci-gz-math7-jammy-amd64
+branch_ci harmonic gz_msgs-10-win
+branch_ci harmonic gz_msgs-ci-gz-msgs10-homebrew-amd64
+branch_ci harmonic gz_msgs-ci-gz-msgs10-jammy-amd64
+branch_ci harmonic gz_physics-7-win
+branch_ci harmonic gz_physics-ci-gz-physics7-homebrew-amd64
+branch_ci harmonic gz_physics-ci-gz-physics7-jammy-amd64
+branch_ci harmonic gz_plugin-2-win
+branch_ci harmonic gz_plugin-ci-gz-plugin2-homebrew-amd64
+branch_ci harmonic gz_plugin-ci-gz-plugin2-jammy-amd64
+branch_ci harmonic gz_rendering-8-win
+branch_ci harmonic gz_rendering-ci-gz-rendering8-homebrew-amd64
+branch_ci harmonic gz_rendering-ci-gz-rendering8-jammy-amd64
+branch_ci harmonic gz_sensors-8-win
+branch_ci harmonic gz_sensors-ci-gz-sensors8-homebrew-amd64
+branch_ci harmonic gz_sensors-ci-gz-sensors8-jammy-amd64
+branch_ci harmonic gz_sim-8-win
+branch_ci harmonic gz_sim-ci-gz-sim8-homebrew-amd64
+branch_ci harmonic gz_sim-ci-gz-sim8-jammy-amd64
+branch_ci harmonic gz_tools-2-win
+branch_ci harmonic gz_tools-ci-gz-tools2-homebrew-amd64
+branch_ci harmonic gz_tools-ci-gz-tools2-jammy-amd64
+branch_ci harmonic gz_transport-13-win
+branch_ci harmonic gz_transport-ci-gz-transport13-homebrew-amd64
+branch_ci harmonic gz_transport-ci-gz-transport13-jammy-amd64
+branch_ci harmonic gz_utils-2-win
+branch_ci harmonic gz_utils-ci-gz-utils2-homebrew-amd64
+branch_ci harmonic gz_utils-ci-gz-utils2-jammy-amd64
+branch_ci harmonic sdformat-ci-sdf14-homebrew-amd64
+branch_ci harmonic sdformat-ci-sdf14-jammy-amd64
+branch_ci harmonic sdformat-sdf14-win
+branch_ci ionic gz_cmake-ci-main-homebrew-amd64
+branch_ci ionic gz_cmake-ci-main-jammy-amd64
+branch_ci ionic gz_cmake-main-win
+branch_ci ionic gz_common-ci-main-homebrew-amd64
+branch_ci ionic gz_common-ci-main-jammy-amd64
+branch_ci ionic gz_common-main-win
+branch_ci ionic gz_fuel_tools-ci-main-homebrew-amd64
+branch_ci ionic gz_fuel_tools-ci-main-jammy-amd64
+branch_ci ionic gz_fuel_tools-main-win
+branch_ci ionic gz_gui-ci-main-homebrew-amd64
+branch_ci ionic gz_gui-ci-main-jammy-amd64
+branch_ci ionic gz_gui-main-win
+branch_ci ionic gz_launch-ci-main-homebrew-amd64
+branch_ci ionic gz_launch-ci-main-jammy-amd64
+branch_ci ionic gz_launch-main-win
+branch_ci ionic gz_math-ci-main-homebrew-amd64
+branch_ci ionic gz_math-ci-main-jammy-amd64
+branch_ci ionic gz_math-main-win
+branch_ci ionic gz_msgs-ci-main-homebrew-amd64
+branch_ci ionic gz_msgs-ci-main-jammy-amd64
+branch_ci ionic gz_msgs-main-win
+branch_ci ionic gz_physics-ci-main-homebrew-amd64
+branch_ci ionic gz_physics-ci-main-jammy-amd64
+branch_ci ionic gz_physics-main-win
+branch_ci ionic gz_plugin-ci-main-homebrew-amd64
+branch_ci ionic gz_plugin-ci-main-jammy-amd64
+branch_ci ionic gz_plugin-main-win
+branch_ci ionic gz_rendering-ci-main-homebrew-amd64
+branch_ci ionic gz_rendering-ci-main-jammy-amd64
+branch_ci ionic gz_rendering-main-win
+branch_ci ionic gz_sensors-ci-main-homebrew-amd64
+branch_ci ionic gz_sensors-ci-main-jammy-amd64
+branch_ci ionic gz_sensors-main-win
+branch_ci ionic gz_sim-ci-main-homebrew-amd64
+branch_ci ionic gz_sim-ci-main-jammy-amd64
+branch_ci ionic gz_sim-main-win
+branch_ci ionic gz_tools-2-win
+branch_ci ionic gz_tools-ci-gz-tools2-homebrew-amd64
+branch_ci ionic gz_tools-ci-gz-tools2-jammy-amd64
+branch_ci ionic gz_transport-ci-main-homebrew-amd64
+branch_ci ionic gz_transport-ci-main-jammy-amd64
+branch_ci ionic gz_transport-main-win
+branch_ci ionic gz_utils-ci-main-homebrew-amd64
+branch_ci ionic gz_utils-ci-main-jammy-amd64
+branch_ci ionic gz_utils-main-win
+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
diff --git a/jenkins-scripts/dsl/ros_gz_bridge.dsl b/jenkins-scripts/dsl/ros_gz_bridge.dsl
index dc61f62cf..09a3cb860 100644
--- a/jenkins-scripts/dsl/ros_gz_bridge.dsl
+++ b/jenkins-scripts/dsl/ros_gz_bridge.dsl
@@ -232,7 +232,7 @@ unofficial_combinations.each { gz_release, ros_distros ->
if (WRITE_JOB_LOG) {
- File log_file = new File("jobs.txt")
+ File log_file = new File("logs/generated_jobs.txt")
logging_list.each { log_type, items ->
items.each { log_file.append("${log_type} ${it.collection} ${it.job_name}\n") }
}
diff --git a/jenkins-scripts/tools/outdated-job-runner.groovy b/jenkins-scripts/tools/outdated-job-runner.groovy
index cc4ed1632..139358968 100644
--- a/jenkins-scripts/tools/outdated-job-runner.groovy
+++ b/jenkins-scripts/tools/outdated-job-runner.groovy
@@ -85,12 +85,12 @@ def jenkinsJobs = Hudson.instance
def jobsToRun = [osx: [], win: [], docker: []]
-long eightDaysAgoMillis = System.currentTimeMillis() - 4 * 24 * 60 * 60 * 1000; // 4 days ago in milis
-Date eightDaysAgoDate = new Date(eightDaysAgoMillis);
+long fourDaysAgoMillis = System.currentTimeMillis() - 4 * 24 * 60 * 60 * 1000; // 4 days ago in milis
+Date fourDaysAgoDate = new Date(fourDaysAgoMillis);
jenkinsJobs.getItems(Project).each { project ->
// Filter jobs that have not been updated in the last 8 days
- if (!project.disabled && trackedJobs.contains(project.displayName) && project.lastBuild.getTime().before(eightDaysAgoDate)) {
+ if (!project.disabled && trackedJobs.contains(project.displayName) && project.lastBuild.getTime().before(fourDaysAgoDate)) {
if (project.displayName.contains('homebrew')) {
jobsToRun.osx << project.displayName
} else if (project.displayName.contains('win')) {
diff --git a/release.py b/release.py
index db1bd2c35..56ca9c5b5 100755
--- a/release.py
+++ b/release.py
@@ -73,6 +73,11 @@ def print_success(msg):
print(" + OK " + msg)
+def print_only_dbg(msg):
+ if '_RELEASEPY_DEBUG' in os.environ:
+ print(msg)
+
+
# Remove the last character if it is a number.
# That should leave just the package name instead of packageVersion
# I.E gazebo5 -> gazebo
@@ -370,19 +375,19 @@ def discover_distros(repo_dir):
arches_supported = [x for x in SUPPORTED_ARCHS if x not in excluded_arches]
distro_arch_list[d] = arches_supported
- print('Distributions in release-repo:')
- for k in distro_arch_list:
- print("- " + k + " (" + ', '.join(distro_arch_list[k]) + ")")
+ print('Linux distributions in the -release repository:')
+ for distro in distro_arch_list:
+ print(f" + {distro} {*distro_arch_list[distro],}")
return distro_arch_list
def check_call(cmd, ignore_dry_run=False):
if DRY_RUN and not ignore_dry_run:
- print('Dry-run running:\n %s\n' % (' '.join(cmd)))
+ print_only_dbg('Dry-run running:\n %s\n' % (' '.join(cmd)))
return b'', b''
else:
- print('Running:\n %s' % (' '.join(cmd)))
+ print_only_dbg('Running:\n %s' % (' '.join(cmd)))
po = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = po.communicate()
if po.returncode != 0:
@@ -433,7 +438,7 @@ def generate_source_repository_uri(args):
out, err = check_call(['git', 'ls-remote', '--get-url', 'origin'],
IGNORE_DRY_RUN)
if err:
- print(f"An error happened running git ls-remote: ${err}")
+ print(f"An error happened running git ls-remote: {err}")
sys.exit(1)
git_remote = out.decode().split('\n')[0]
@@ -469,16 +474,46 @@ def generate_source_params(args):
return params
-def call_jenkins_build(job_name, params, output_string):
+def call_jenkins_build(job_name, params, output_string,
+ search_description_help):
+ # Only to help user feedback this block
+ help_url = f'{JENKINS_URL}/job/{job_name}'
+ if search_description_help:
+ search_param = urllib.parse.urlencode(
+ {'search': search_description_help})
+ help_url += f'?{search_param}'
+ print(f" + Releasing {output_string} in {help_url}")
+ # Real action happen here
params_query = urllib.parse.urlencode(params)
url = '%s/job/%s/buildWithParameters?%s' % (JENKINS_URL,
job_name,
params_query)
- print(f"- {output_string}: {url}")
+ print_only_dbg(f" -- {output_string}: {url}")
if not DRY_RUN:
urllib.request.urlopen(url)
+def display_help_job_chain_for_source_calls(args):
+ # Encode the different ways using in the job descriptions to filter builds
+ # - "package version" in repository_uploader_packages
+ # - "packages/version-rev" in _releasepy
+ url_search_params = urllib.parse.urlencode(
+ {'search':
+ f'{args.package_alias} {args.version}'})
+ pkgs_upload_check_url = \
+ f'{JENKINS_URL}/job/repository_uploader_packages/?{url_search_params}'
+ rel_search_params = urllib.parse.urlencode(
+ {'search':
+ f'{args.package_alias}/{args.version}-{args.release_version}'})
+ releasepy_check_url = \
+ f'{JENKINS_URL}/job/_releasepy/?{rel_search_params}'
+ print('\tINFO: After the source job finished, the release process will trigger:\n'
+ '\t * Source upload:'
+ f'{pkgs_upload_check_url}\n'
+ '\t * Builders using release.py --source-tarball-uri:'
+ f'{releasepy_check_url}')
+
+
def go(argv):
args = parse_args(argv)
@@ -486,6 +521,7 @@ def go(argv):
if not args.release_version:
args.release_version = 1
+ print(f"Downloading releasing info for {args.package}")
# Sanity checks and dicover supported distributions before proceed.
repo_dir, args.release_repo_branch = download_release_repository(args.package, args.release_repo_branch)
# The supported distros are the ones in the top level of -release repo
@@ -507,13 +543,17 @@ def go(argv):
if args.extra_repo:
params['OSRF_REPOS_TO_USE'] += " " + args.extra_repo
-
+ if args.dry_run:
+ print("Simulation of jobs to be called if not dry-run:")
+ else:
+ print("Triggering release jobs:")
# a) Mode nightly or builders:
if NIGHTLY or args.source_tarball_uri:
# RELEASING FOR BREW
if not NIGHTLY and not args.bump_rev_linux_only:
call_jenkins_build(GENERIC_BREW_PULLREQUEST_JOB,
- params, 'Brew')
+ params, 'Brew',
+ f'{args.package_alias}-{args.version}')
# RELEASING FOR LINUX
for l in LINUX_DISTROS:
if (l == 'ubuntu'):
@@ -553,15 +593,21 @@ def go(argv):
# control nightly generation using a single machine to process
# all distribution builds to avoid race conditions. Note: this
- # assumes that large-memory nodes are beind used for nightly
+ # assumes that large-memory nodes are being used for nightly
# tags.
# https://github.com/gazebo-tooling/release-tools/issues/644
if (NIGHTLY):
assert a == 'amd64', f'Nightly tag assumed amd64 but arch is {a}'
linux_platform_params['JENKINS_NODE_TAG'] = 'linux-nightly-' + d
-
+ # TODO: last parameter of providing help for -debbuilders
+ # does not currently work. Somehow the string composed by
+ # "-()" do not work even in the web UI directly. Real
+ # string should be:
+ # f"{args.version}-{args.release_version}({l}/{d}::{a})")
call_jenkins_build(f"{args.package_alias}-debbuilder",
- linux_platform_params, f"{l} {d}/{a}")
+ linux_platform_params,
+ f"{l} {d}/{a}",
+ f"{args.version}-{args.release_version}")
else:
# b) Mode generate source
# Choose platform to run gz-source on. It will need to install gz-cmake
@@ -579,14 +625,18 @@ def go(argv):
# Tag should not go before any method or step that can fail and just
# before the calls to the servers.
if not args.source_repo_ref:
- print('INFO: no --source-repo-existing-ref used, tag the local'
- 'repository as the reference for the source code of the'
- 'release')
+ print(' * INFO: no --source-repo-existing-ref used, tag the local'
+ ' repository as the reference for the source code of the'
+ ' release')
params['SOURCE_REPO_REF'] = tag_repo(args) \
if not args.source_repo_ref else args.source_repo_ref
- call_jenkins_build(f"{args.package_alias}-source", params, 'Source')
+ call_jenkins_build(f"{args.package_alias}-source",
+ params,
+ 'Source',
+ args.version)
+ display_help_job_chain_for_source_calls(args)
if __name__ == '__main__':