Skip to content

Commit

Permalink
Merge branch 'master' into bridge-params
Browse files Browse the repository at this point in the history
  • Loading branch information
Amronos authored Dec 1, 2024
2 parents 15d3d57 + d2d9898 commit 3883185
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 95 deletions.
1 change: 1 addition & 0 deletions index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
51 changes: 33 additions & 18 deletions release_instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 = <your-github-user>
password = <token created in step 1>
```
## For Each Release
Expand Down Expand Up @@ -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 <release-tools-dir>
pip install .
```
**dry-run simulation mode**
The `release.py` tool supports a `--dry-run` flag that allows users to
Expand All @@ -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**
Expand All @@ -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 <jenkins_token> with real release token (check crendentials section)
~/release-tools/release.py gz-cmake3 3.0.1 <jenkins_token>
~/release-tools/release.py gz-cmake3 3.0.1
```

**release.py for prereleases or nightlies**
Expand All @@ -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 <jenkins_token> with real release token (check crendentials section)
~/release-tools/release.py gz-cmake3 3.0.0~pre1 <jenkins_token> --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
Expand All @@ -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 <jenkins_token> with real release token (check crendentials section)
~/release-tools/release.py gz-cmake3 3.0.0~pre1 <jenkins_token> --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**
Expand All @@ -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 <jenkins_token> with real release token (check crendentials section)
~/release-tools/release.py gz-cmake3 3.0.1 <jenkins_token> --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
Expand Down
90 changes: 13 additions & 77 deletions roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
[email protected].

## 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 <https://classic.gazebosim.org/tutorials>
* [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
Expand Down

0 comments on commit 3883185

Please sign in to comment.