From 847b81aaa654ad564e811537cd14551c928f7136 Mon Sep 17 00:00:00 2001 From: Steve Peters Date: Fri, 5 Jan 2024 21:19:17 -0800 Subject: [PATCH 1/4] homebrew_bottle_creation: fix ruby syntax (#1104) URI.decode has been obsolete for a while in Ruby, and with Homebrew's recent change to use Ruby 3.1 across the board, this call needs to be changed. URI::DEFAULT_PARSER.escape appears to be equivalent for our purposes. Signed-off-by: Steve Peters --- jenkins-scripts/lib/homebrew_bottle_creation.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins-scripts/lib/homebrew_bottle_creation.bash b/jenkins-scripts/lib/homebrew_bottle_creation.bash index bf776ad8c..39cad2566 100644 --- a/jenkins-scripts/lib/homebrew_bottle_creation.bash +++ b/jenkins-scripts/lib/homebrew_bottle_creation.bash @@ -113,7 +113,7 @@ for j in $(ls *.bottle.json); do SRC_BOTTLE=$(brew ruby -e \ "puts JSON.load(IO.read(\"${j}\")).values[0]['bottle']['tags'].values[0]['local_filename']") DEST_BOTTLE=$(brew ruby -e \ - "puts URI.decode(JSON.load(IO.read(\"${j}\")).values[0]['bottle']['tags'].values[0]['filename'])") + "puts URI::DEFAULT_PARSER.unescape(JSON.load(IO.read(\"${j}\")).values[0]['bottle']['tags'].values[0]['filename'])") mv ${SRC_BOTTLE} ${DEST_BOTTLE} done mv *.bottle*.tar.gz ${PKG_DIR} From cc59c0de097ce0a3f637dd38a10568c218e4767d Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Mon, 8 Jan 2024 17:55:02 +0100 Subject: [PATCH 2/4] Add support for Humble/Harmonic ros_gz combination (#1101) * Add Humble/Harmonic bloom instructions * Add DSL code for the humble/iron option * Fix humble references * Automated change: update logs [skip ci] --------- Signed-off-by: Jose Luis Rivero --- bloom/ros_gz/README.md | 3 ++- jenkins-scripts/dsl/logs/generated_jobs.txt | 1 + jenkins-scripts/dsl/ros_gz_bridge.dsl | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bloom/ros_gz/README.md b/bloom/ros_gz/README.md index 09fdd9a08..ed2bd43e5 100644 --- a/bloom/ros_gz/README.md +++ b/bloom/ros_gz/README.md @@ -33,7 +33,8 @@ newer version of Gazebo than the one selected in REP-2000. | ---------------|---------------------|------------|---------------|---------------------|----|-------------| | Garden | Humble | stable | humble | https://github.com/gazebo-release/ros_ign-release | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ros_gzgarden_bridge-install-pkg_humble-ci-jammy-amd64)](https://build.osrfoundation.org/job/ros_gzgarden_bridge-install-pkg_humble-ci-jammy-amd64/) |
```RELEASE_REPO_URL=https://github.com/gazebo-release/ros_ign-release ./bloom_from_special_env.bash humble garden https://raw.githubusercontent.com/osrf/osrf-rosdep/master/gz/replace_fortress_with_garden/00-replace-gz-fortress-with-garden.list```
| | Garden | Iron | stable | iron | https://github.com/gazebo-release/ros_ign-release | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ros_gzgarden_bridge-install-pkg_iron-ci-jammy-amd64)](https://build.osrfoundation.org/job/ros_gzgarden_bridge-install-pkg_iron-ci-jammy-amd64/) |
```RELEASE_REPO_URL=https://github.com/gazebo-release/ros_ign-release ./bloom_from_special_env.bash iron garden https://raw.githubusercontent.com/osrf/osrf-rosdep/master/gz/replace_fortress_with_garden/00-replace-gz-fortress-with-garden.list```
| -| Harmonic | Iron | stable | ros2 | https://github.com/gazebo-release/ros_gz-gzharmonic-release | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ros_gzharmonic_bridge-install-pkg_iron-ci-jammy-amd64)](https://build.osrfoundation.org/job/ros_gzharmonic_bridge-install-pkg_iron-ci-jammy-amd64/) |
```RELEASE_REPO_URL=https://github.com/gazebo-release/ros_gz-gzharmonic-release ./bloom_from_special_env.bash iron harmonic https://raw.githubusercontent.com/osrf/osrf-rosdep```
| +| Harmonic | Humble | stable | humble | https://github.com/gazebo-release/ros_gz-gzharmonic-release | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ros_gzharmonic_bridge-install-pkg_humble-ci-jammy-amd64)](https://build.osrfoundation.org/job/ros_gzharmonic_bridge-install-pkg_humble-ci-jammy-amd64/) |
```RELEASE_REPO_URL=https://github.com/gazebo-release/ros_gz-gzharmonic-release ./bloom_from_special_env.bash hubmle harmonic https://raw.githubusercontent.com/osrf/osrf-rosdep/master/gz/replace_fortress_with_harmonic/00-replace-gz-fortress-with-harmonic.list```
| +| Harmonic | Iron | stable | ros2 | https://github.com/gazebo-release/ros_gz-gzharmonic-release | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ros_gzharmonic_bridge-install-pkg_iron-ci-jammy-amd64)](https://build.osrfoundation.org/job/ros_gzharmonic_bridge-install-pkg_iron-ci-jammy-amd64/) |
```RELEASE_REPO_URL=https://github.com/gazebo-release/ros_gz-gzharmonic-release ./bloom_from_special_env.bash iron harmonic https://raw.githubusercontent.com/osrf/osrf-rosdep```
| ### Upstream versions released using this tutorial diff --git a/jenkins-scripts/dsl/logs/generated_jobs.txt b/jenkins-scripts/dsl/logs/generated_jobs.txt index 7d079d0aa..94825d5c3 100644 --- a/jenkins-scripts/dsl/logs/generated_jobs.txt +++ b/jenkins-scripts/dsl/logs/generated_jobs.txt @@ -486,4 +486,5 @@ 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_humble-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 09a3cb860..45150a840 100644 --- a/jenkins-scripts/dsl/ros_gz_bridge.dsl +++ b/jenkins-scripts/dsl/ros_gz_bridge.dsl @@ -19,7 +19,7 @@ def gzgarden_ros_distros_ci = [ def unofficial_combinations = [ 'garden' : ['humble', 'iron'], - 'harmonic' : ['iron'] + 'harmonic' : ['humble', 'iron'] ] logging_list = [:] From 7dabc85c230361a01de3efda6f1d79daa2381cf0 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Tue, 9 Jan 2024 18:50:28 +0100 Subject: [PATCH 3/4] Implement REPREPRO_GIT_BRANCH for reprepro importer (#1106) Signed-off-by: Jose Luis Rivero --- jenkins-scripts/dsl/core.dsl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jenkins-scripts/dsl/core.dsl b/jenkins-scripts/dsl/core.dsl index dde1485cb..4976a3835 100644 --- a/jenkins-scripts/dsl/core.dsl +++ b/jenkins-scripts/dsl/core.dsl @@ -63,6 +63,8 @@ reprepro.with { stringParam('UPLOAD_TO_REPO','ubuntu-testing', 'Repository to host the new imported packages. Should match entry in reprepro.ini') + stringParam('REPREPRO_GIT_BRANCH', '', + 'Branch of the repository to be used for code and REPREPRO_IMPORT_YAML_FILE (empty implies uses default)') stringParam('REPREPRO_IMPORT_YAML_FILE','', 'Name of the reprepo import file') booleanParam('COMMIT',false, From 7250033010e1eea68553ac1ec59ada8b6cb215bf Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Wed, 10 Jan 2024 18:54:36 +0100 Subject: [PATCH 4/4] Handle ign- prefix in release.py calls (#1105) * Handle ign- prefix in release.py calls * Use gz- prefix for -source jobs * Create test to be sure that release is calling the right jobs --------- Signed-off-by: Jose Luis Rivero --- check_releasepy.bash | 22 ++++++++++++++++++++++ release.py | 6 +++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/check_releasepy.bash b/check_releasepy.bash index a7c07a222..8c1959f80 100755 --- a/check_releasepy.bash +++ b/check_releasepy.bash @@ -15,6 +15,16 @@ exec_releasepy_test() gz-foo 1.2.3 token ${test_params}"" } +exec_ignition_releasepy_test() +{ + test_params=${1} + + ./release.py \ + --dry-run \ + --no-sanity-checks \ + ign-foo 1.2.3 token ${test_params}"" +} + expect_job_run() { output="${1}" job="${2}" @@ -81,3 +91,15 @@ expect_job_not_run "${bump_linux_test}" "generic-release-homebrew_pull_request_u expect_job_not_run "${bump_linux_test}" "gz-foo-source" expect_number_of_jobs "${bump_linux_test}" "6" expect_param "${bump_linux_test}" "RELEASE_VERSION=2" + +ignition_test=$(exec_ignition_releasepy_test "--source-repo-uri https://github.org/gazebosim/gz-foo") +expect_job_run "${ignition_test}" "gz-foo-source" +expect_job_not_run "${ignition_test}" "ignition-foo-source" +expect_number_of_jobs "${ignition_test}" "1" + +ignition_source_tarball_uri_test=$(exec_ignition_releasepy_test "--source-tarball-uri https://gazebosim/gz-foo-1.2.3.tar.gz") +expect_job_run "${ignition_source_tarball_uri_test}" "ignition-foo-debbuilder" +expect_job_run "${ignition_source_tarball_uri_test}" "generic-release-homebrew_pull_request_updater" +expect_job_not_run "${ignition_source_tarball_uri_test}" "ignition-foo-source" +expect_number_of_jobs "${ignition_source_tarball_uri_test}" "7" +expect_param "${ignition_source_tarball_uri_test}" "SOURCE_TARBALL_URI=https%3A%2F%2Fgazebosim%2Fgz-foo-1.2.3.tar.gz" diff --git a/release.py b/release.py index 56ca9c5b5..154cb5981 100755 --- a/release.py +++ b/release.py @@ -169,6 +169,8 @@ def parse_args(argv): args.package = args.package.replace('ign-', 'gz-') args.package_alias = args.package + if args.package.startswith('ign-'): + args.package_alias = args.package.replace('ign-', 'ignition-') DRY_RUN = args.dry_run if args.upload_to_repository == 'nightly': @@ -521,6 +523,8 @@ def go(argv): if not args.release_version: args.release_version = 1 + package_alias_force_gz = args.package_alias.replace('ignition-','gz-') + 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) @@ -632,7 +636,7 @@ def go(argv): 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", + call_jenkins_build(f'{package_alias_force_gz}-source', params, 'Source', args.version)