From 85af1013a72f14f9bd2233910cb71fe498d56851 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 25 Nov 2024 21:01:14 +0100 Subject: [PATCH 1/4] Mark Jetty as being under development (#540) Signed-off-by: Addisu Z. Taddese --- index.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/index.yaml b/index.yaml index 63ab275c4c..3573863280 100644 --- a/index.yaml +++ b/index.yaml @@ -115,6 +115,7 @@ pages: releases: - name: jetty lts: true + dev: true eol: false preferred: false # Only one preferred=true is allowed description: Upcoming release, under development. From f2069b74efe8160ca70d6532272f5e3c57ec26a2 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Wed, 27 Nov 2024 19:25:19 +0100 Subject: [PATCH 2/4] Gazebo Jetty roadmap update (#541) * Gazebo Jetty roadmap update This simplifies the roadmap page and removes the roadmap items for older versions of Gazebo since we have changed our development model to focus on the next version of Gazebo and backporting if possible. Signed-off-by: Addisu Z. Taddese * Update Bazel URL Signed-off-by: Addisu Z. Taddese --------- Signed-off-by: Addisu Z. Taddese --- roadmap.md | 90 ++++++++---------------------------------------------- 1 file changed, 13 insertions(+), 77 deletions(-) diff --git a/roadmap.md b/roadmap.md index 9b790792b1..8b319732a7 100644 --- a/roadmap.md +++ b/roadmap.md @@ -6,89 +6,25 @@ direction of Gazebo. If you would like to see other features on the roadmap, then please get in touch with us at info@openrobotics.org. -## Quarterly Roadmap - -## 2023 Q4 (Oct - Dec) +## Gazebo Jetty Roadmap * **Improve documentation website (gazebosim.org/docs)** - * Use a static site generator for the documentation website so that anyone can preview changes made in a PR. (https://github.com/gazebosim/docs/issues/85) - * Make doxygen tutorials from each library accessible on the main tutorials page on gazebosim.org/docs (https://github.com/gazebosim/docs/issues/55) - * Add new tutorials - * Copy/adapt tutorials from https://classic.gazebosim.org/tutorials - * Improve existing content - * Establish QA checklist for PRs in https://github.com/gazebosim/docs -* **Migrate from Qt5 to Qt6** (https://github.com/gazebosim/gz-gui/issues/586) -* **Define platform dependencies and prepare for the new Ubuntu LTS 24.04 and the interaction with ROS 2 Jazzy.** -* **Support nested models in Bullet-featherstone gz-physics engine plugin** - -## 2024 Q1 (Jan - Mar) - -* **Improve documentation website (gazebosim.org/docs)** (Continued from Q4/2023) -* **Migrate from Qt5 to Qt6** (https://github.com/gazebosim/gz-gui/issues/586) (Continued from Q4/2023) -* **Define platform dependencies and prepare for the new Ubuntu LTS 24.04 and the interaction with ROS 2 Jazzy.** (Continued from Q4/2023) -* **Support nested models in Bullet-featherstone gz-physics engine plugin** (Continued from Q4/2023) -* **Align ROS and Gazebo messages where possible** - * Make performance improvements to the `ros_gz` bridge -* **Improve performance of Rendering Sensors (e.g., Lidar, Depth Cameras)** -* **Set state of simulation in SDFormat (e.g. initial joint position and velocity)** - -## 2024 Q2 (Apr - Jun) - -* **Migrate from Qt5 to Qt6** (https://github.com/gazebosim/gz-gui/issues/586) (Continued from Q1/2024) -* **Complete Bullet-featherstone implementation** -* **Improve performance of Rendering Sensors (e.g., Lidar, Depth Cameras)** (Continued from Q1/2024) -* **Create a third party plugin repository** - -## 2024 Q3 (July - Sep) - -* **Create a third party plugin repository** (Continued from Q2/2024) -* **Implement Mimic joints for DART** -* **Prepare for release (feature freeze/code freeze)** -* **Prepare and Run tutorial party** - -## Feature Roadmap - -A number of features are planned for specific releases of Gazebo. The -features listed here derive from the Quarterly Roadmap, listed above, and other -ongoing projects. See the [Release Features](release-features) page -for a list of features already available in each release of Gazebo. - -A named release of Gazebo, such as Acropolis or Blueprint, is tied to -a set of [library](/libs){.external} major versions. Our -[development and release pattern](releases) allows us to distribute -patch and minor updates into a stable Gazebo version. For example, if a new -feature does not break API/ABI then we will target the feature to the oldest -compatible non-EOL release and propagate the feature forward. - -### Citadel - -### Fortress - -1. [Run server and client in the same process.](https://github.com/gazebosim/gz-sim/pull/793) -1. [Command line: use binaries instead of shared libraries](https://github.com/gazebosim/gz-tools/issues/7) -1. [GUI model editor](https://github.com/gazebosim/gz-sim/labels/editor) -1. [Save more changed components to SDF.](https://github.com/gazebosim/gz-sim/issues/1312) -1. [Improved Windows support.](https://github.com/search?q=org%3Agazebosim+label%3AWindows&state=open&type=Issues) -1. [Parameters in Gazebo Transport.](https://github.com/gazebosim/gz-transport/pull/305) - -### Garden - -1. [Satisfying ASAN for Gazebo Math.](https://github.com/gazebosim/gz-math/issues/370) -1. [SDF APIs to prevent console logging.](https://github.com/gazebosim/sdformat/issues/820) -1. [Download Fuel models on the background](https://github.com/gazebosim/gz-sim/issues/1260) -1. [Bazel build files.](https://github.com/gazebosim/gz-bazel) - -### Harmonic - -### Ionic - -See the [Quarterly Roadmap](#quarterly-roadmap) above. - + * [Make doxygen tutorials from each library accessible on the main tutorials page on gazebosim.org/docs](https://github.com/gazebosim/docs/issues/55) + * Copy/adapt tutorials from +* [Migrate from Qt5 to Qt6](https://github.com/gazebosim/gz-gui/issues/586) +* [Use Zenoh in gz-transport](https://github.com/gazebosim/gz-sim/issues/1995) +* [Create or improve interfaces for doing Reinforcement Learning using Gazebo](https://github.com/gazebosim/gz-sim/issues/2662) +* [Create a federated third party plugin ecosystem](https://github.com/gazebosim/gz-transport/issues/559) +* [Command line: use binaries instead of shared libraries](https://github.com/gazebosim/gz-tools/issues/7) +* [Download Fuel models on the background](https://github.com/gazebosim/gz-sim/issues/1260) +* [Support Bazel for all Gazebo libraries](https://github.com/gazebosim/rules_gazebo) + +Note that some of these roadmap items may be backported to older versions of Gazebo +on a best-effort basis if they do not break API and ABI. ## Planned releases Please see the [Releases](https://github.com/gazebosim/docs/blob/master/releases.md) for the timeline of and information about future distributions. - ## Contributing to Gazebo Looking for something to work on, or just want to help out? Here are a few From 9aa03563549ddd1bd4f2ba0b0bd1c1bbe44d703f Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 27 Nov 2024 23:57:39 +0100 Subject: [PATCH 3/4] Fix wrong links in Gazebo Jetty Roadmap (#542) Signed-off-by: Silvio Traversaro --- roadmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roadmap.md b/roadmap.md index 8b319732a7..2ee4d3a187 100644 --- a/roadmap.md +++ b/roadmap.md @@ -12,9 +12,9 @@ info@openrobotics.org. * [Make doxygen tutorials from each library accessible on the main tutorials page on gazebosim.org/docs](https://github.com/gazebosim/docs/issues/55) * Copy/adapt tutorials from * [Migrate from Qt5 to Qt6](https://github.com/gazebosim/gz-gui/issues/586) -* [Use Zenoh in gz-transport](https://github.com/gazebosim/gz-sim/issues/1995) +* [Use Zenoh in gz-transport](https://github.com/gazebosim/gz-transport/issues/559) * [Create or improve interfaces for doing Reinforcement Learning using Gazebo](https://github.com/gazebosim/gz-sim/issues/2662) -* [Create a federated third party plugin ecosystem](https://github.com/gazebosim/gz-transport/issues/559) +* [Create a federated third party plugin ecosystem](https://github.com/gazebosim/gz-sim/issues/1995) * [Command line: use binaries instead of shared libraries](https://github.com/gazebosim/gz-tools/issues/7) * [Download Fuel models on the background](https://github.com/gazebosim/gz-sim/issues/1260) * [Support Bazel for all Gazebo libraries](https://github.com/gazebosim/rules_gazebo) From d2d9898d530b4df647b5674b676774a09cdccc14 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Thu, 28 Nov 2024 19:55:03 +0100 Subject: [PATCH 4/4] Change the way of using the releasepy credentials (#538) * Change the way of using the releasepy credentials * Include section to install releasepy using pip --------- Signed-off-by: Jose Luis Rivero Co-authored-by: Steve Peters --- release_instructions.md | 51 ++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/release_instructions.md b/release_instructions.md index ca86778709..711b392c50 100644 --- a/release_instructions.md +++ b/release_instructions.md @@ -35,11 +35,20 @@ Before starting the release process, make sure to ask for write access to: 1. The Gz library intended to be released and 2. `gazebo-release` repository. -There are some credentials needed to interact with the release -process: +To interact with Jenkins an API token needs to be created and stored in the +user system: - * Release token: magic sequence of characters needed while running `release.py` - to interact with `build.osrfoundation.org`. This should be given to Gz developers that run releases by the Infra team. + 1. Creating a Jenkins API token: opening https://build.osrfoundation.org/me/configure + the section of "API Token" shows the "Add new Token" button (alternatively a github + token could also be used but the Jenkins API helps to restrict the global scope + of the credential). + + 2. The token needs to be stored in `~/.buildfarm/jenkins.ini` in the form: + ``` + [https://build.osrfoundation.org] + username = + password = + ``` ## For Each Release @@ -172,6 +181,17 @@ upload some Git tags ("release tags") to the source code repository. You will also need the token described in the [credentials section](#2-access-and-credentials). +There are a few external dependencies for running release.py. They can be +esily installed using virtual enviroments and pip: + +``` +# you can change .releasepy_venv by any directory of your preference +python3 -m venv ~/.releasepy_venv +. ~/.releasepy_venv/bin/activate +cd +pip install . +``` + **dry-run simulation mode** The `release.py` tool supports a `--dry-run` flag that allows users to @@ -186,7 +206,7 @@ The script needs to be run from the repository with the source code (i.e., the r # Example of dry-run for gz-cmake3 bumped to 3.0.1 cd gz-cmake3 git checkout gz-cmake3 -~/release-tools/release.py gz-cmake3 3.0.1 dry-run-fake-token --dry-run +~/release-tools/release.py gz-cmake3 3.0.1 --dry-run ``` **release.py for stable releases** @@ -196,11 +216,10 @@ git checkout gz-cmake3 cd ign/gz-fooX git checkout ign/gz-fooX -# Example gz-cmake3 bumped to 3.0.1 with jenkins_token credential +# Example gz-cmake3 bumped to 3.0.1 cd gz-cmake3 git checkout gz-cmake3 -# please replace with real release token (check crendentials section) -~/release-tools/release.py gz-cmake3 3.0.1 +~/release-tools/release.py gz-cmake3 3.0.1 ``` **release.py for prereleases or nightlies** @@ -210,11 +229,10 @@ to be set. The `--upload-to-repo` argument is mandatory when running `release.py`, and should be set to `prerelease` or `nightly`. ```bash -# Example gz-cmake3 bumped to prerelease 3.0.0~pre1 with jenkins_token credential +# Example gz-cmake3 bumped to prerelease 3.0.0~pre1 cd gz-cmake3 git checkout gz-cmake3 -# please replace with real release token (check crendentials section) -~/release-tools/release.py gz-cmake3 3.0.0~pre1 --upload-to-repo prerelease +~/release-tools/release.py gz-cmake3 3.0.0~pre1 --upload-to-repo prerelease ``` Nightly invocation is generally coded in the server. The version will be @@ -223,10 +241,8 @@ code will be uploaded, but taken directly in the binary build from the branch pointed by `--nightly-src-branch`. ```bash -# Example gz-cmake3 nightly from main branch with jenkins_token credential -# please replace with real release token (check crendentials section) -~/release-tools/release.py gz-cmake3 3.0.0~pre1 --upload-to-repo nightly --nightly-src-branch main - +# Example gz-cmake3 nightly from main branch +~/release-tools/release.py gz-cmake3 3.0.0~pre1 --upload-to-repo nightly --nightly-src-branch main ``` **Binary version schema for prereleases and nightlies** @@ -247,9 +263,8 @@ or the information should appear in the parameters of the Jenkins -debbuilder bu the first version of the sofware. ```bash -# Example gz-cmake3 bumped from 3.0.1-1 to 3.0.1-2 with jenkins_token credential -# please replace with real release token (check crendentials section) -~/release-tools/release.py gz-cmake3 3.0.1 --source-tarball-uri https://osrf-distributions.s3.amazonaws.com/gz-cmake/releases/gz-cmake-3.0.1.tar.bz2 --only-bump-revision-linux -release-version 2 +# Example gz-cmake3 bumped from 3.0.1-1 to 3.0.1-2 +~/release-tools/release.py gz-cmake3 3.0.1 --source-tarball-uri https://osrf-distributions.s3.amazonaws.com/gz-cmake/releases/gz-cmake-3.0.1.tar.bz2 --only-bump-revision-linux -release-version 2 ``` ## Checking the Building Process