diff --git a/index.yaml b/index.yaml index 63ab275c4..357386328 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. diff --git a/release_instructions.md b/release_instructions.md index ca8677870..711b392c5 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 diff --git a/roadmap.md b/roadmap.md index 9b790792b..2ee4d3a18 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-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-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) + +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