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__':