Skip to content

Commit 9da243d

Browse files
authoredDec 9, 2024
Updated documentation with new release tag (#100)
* Updated documentation with new version, added more examples for ros_gz * Updated action.yml with gazebo and ros distros list * Removed garden from examples --------- Signed-off-by: Saurabh Kamat <kamatsaurabh01@gmail.com>
1 parent c98a71c commit 9da243d

File tree

2 files changed

+139
-99
lines changed

2 files changed

+139
-99
lines changed
 

‎README.md

+135-97
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ The `setup-gazebo` GitHub action can be run using GitHub-hosted Ubuntu runners o
5858

5959
> [!NOTE]
6060
>
61-
> The available GitHub-hosted runners can be found [here](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories). It should be noted that the `ubuntu-24.04` runner image is a beta release. An alternative approach is using a docker container as shown in the following sections.
61+
> The available GitHub-hosted runners can be found [here](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories). An alternative approach is using a docker container as shown in the following sections.
6262
6363

6464
#### Setting up worker and installing a compatible Gazebo and Ubuntu combination
@@ -79,7 +79,7 @@ This workflow shows how to spawn a job to install Gazebo on an Ubuntu distributi
7979
with:
8080
node-version: '20.x'
8181
- name: 'Setup Gazebo'
82-
uses: gazebo-tooling/setup-gazebo@v0.2.0
82+
uses: gazebo-tooling/setup-gazebo@v0.3.0
8383
with:
8484
required-gazebo-distributions: harmonic
8585
- name: 'Test Gazebo installation'
@@ -102,7 +102,7 @@ This workflow shows how to spawn a job to install Gazebo on an Ubuntu distributi
102102
with:
103103
node-version: '20.x'
104104
- name: 'Setup Gazebo'
105-
uses: gazebo-tooling/setup-gazebo@v0.2.0
105+
uses: gazebo-tooling/setup-gazebo@v0.3.0
106106
with:
107107
required-gazebo-distributions: harmonic
108108
- name: 'Test Gazebo installation'
@@ -125,8 +125,8 @@ This workflow shows how to spawn one job per Gazebo release and iterates over al
125125
gazebo_distribution:
126126
- citadel
127127
- fortress
128-
- garden
129128
- harmonic
129+
- ionic
130130
include:
131131
# Gazebo Citadel (Dec 2019 - Dec 2024)
132132
- ubuntu_distribution: ubuntu-20.04
@@ -136,20 +136,20 @@ This workflow shows how to spawn one job per Gazebo release and iterates over al
136136
- ubuntu_distribution: ubuntu-20.04
137137
gazebo_distribution: fortress
138138
139-
# Gazebo Garden (Sep 2022 - Nov 2024)
140-
- ubuntu_distribution: ubuntu-20.04
141-
gazebo_distribution: garden
142-
143139
# Gazebo Harmonic (Sep 2023 - Sep 2028)
144140
- ubuntu_distribution: ubuntu-22.04
145141
gazebo_distribution: harmonic
142+
143+
# Gazebo Ionic (Sep 2024 - Sep 2026)
144+
- ubuntu_distribution: ubuntu-24.04
145+
gazebo_distribution: ionic
146146
steps:
147147
- uses: actions/checkout@v4
148148
- uses: actions/setup-node@v4.0.2
149149
with:
150150
node-version: '20.x'
151151
- name: 'Check Gazebo installation on Ubuntu runner'
152-
uses: gazebo-tooling/setup-gazebo@v0.2.0
152+
uses: gazebo-tooling/setup-gazebo@v0.3.0
153153
with:
154154
required-gazebo-distributions: ${{ matrix.gazebo_distribution }}
155155
- name: 'Test Gazebo installation'
@@ -169,52 +169,52 @@ This workflow shows how to spawn one job per Gazebo release and iterates over al
169169
```yaml
170170
jobs:
171171
test_gazebo:
172-
runs-on: ubuntu-latest
173-
container:
174-
image: ${{ matrix.docker_image }}
175-
strategy:
176-
fail-fast: false
177-
matrix:
178-
gazebo_distribution:
179-
- citadel
180-
- fortress
181-
- garden
182-
- harmonic
183-
include:
184-
# Gazebo Citadel (Dec 2019 - Dec 2024)
185-
- docker_image: ubuntu:focal
186-
gazebo_distribution: citadel
187-
188-
# Gazebo Fortress (Sep 2021 - Sep 2026)
189-
- docker_image: ubuntu:focal
190-
gazebo_distribution: fortress
191-
192-
# Gazebo Garden (Sep 2022 - Nov 2024)
193-
- docker_image: ubuntu:focal
194-
gazebo_distribution: garden
195-
196-
# Gazebo Harmonic (Sep 2023 - Sep 2028)
197-
- docker_image: ubuntu:jammy
198-
gazebo_distribution: harmonic
199-
steps:
200-
- uses: actions/checkout@v4
201-
- uses: actions/setup-node@v4.0.3
202-
with:
203-
node-version: '20.x'
204-
- name: 'Check Gazebo installation on Ubuntu runner'
205-
uses: gazebo-tooling/setup-gazebo@v0.2.0
206-
with:
207-
required-gazebo-distributions: ${{ matrix.gazebo_distribution }}
208-
- name: 'Test Gazebo installation'
209-
run: |
210-
if command -v ign > /dev/null; then
211-
ign gazebo --versions
212-
elif command -v gz > /dev/null; then
213-
gz sim --versions
214-
else
215-
echo "Neither ign nor gz command found"
216-
exit 1
217-
fi
172+
runs-on: ubuntu-latest
173+
container:
174+
image: ${{ matrix.docker_image }}
175+
strategy:
176+
fail-fast: false
177+
matrix:
178+
gazebo_distribution:
179+
- citadel
180+
- fortress
181+
- harmonic
182+
- ionic
183+
include:
184+
# Gazebo Citadel (Dec 2019 - Dec 2024)
185+
- docker_image: ubuntu:focal
186+
gazebo_distribution: citadel
187+
188+
# Gazebo Fortress (Sep 2021 - Sep 2026)
189+
- docker_image: ubuntu:focal
190+
gazebo_distribution: fortress
191+
192+
# Gazebo Harmonic (Sep 2023 - Sep 2028)
193+
- docker_image: ubuntu:jammy
194+
gazebo_distribution: harmonic
195+
196+
# Gazebo Ionic (Sep 2024 - Sep 2026)
197+
- docker_image: ubuntu:noble
198+
gazebo_distribution: ionic
199+
steps:
200+
- uses: actions/checkout@v4
201+
- uses: actions/setup-node@v4.0.3
202+
with:
203+
node-version: '20.x'
204+
- name: 'Check Gazebo installation on Ubuntu runner'
205+
uses: gazebo-tooling/setup-gazebo@v0.3.0
206+
with:
207+
required-gazebo-distributions: ${{ matrix.gazebo_distribution }}
208+
- name: 'Test Gazebo installation'
209+
run: |
210+
if command -v ign > /dev/null; then
211+
ign gazebo --versions
212+
elif command -v gz > /dev/null; then
213+
gz sim --versions
214+
else
215+
echo "Neither ign nor gz command found"
216+
exit 1
217+
fi
218218
```
219219

220220
#### Using pre-release and/or nightly Gazebo binaries
@@ -224,22 +224,22 @@ This workflow shows how to use binaries from [pre-release] or [nightly] Gazebo r
224224
```yaml
225225
jobs:
226226
test_gazebo:
227-
runs-on: ubuntu-latest
228-
container:
229-
image: ubuntu:noble
230-
steps:
231-
- uses: actions/checkout@v4
232-
- uses: actions/setup-node@v4.0.2
233-
with:
234-
node-version: '20.x'
235-
- name: 'Check Gazebo installation on Ubuntu runner'
236-
uses: gazebo-tooling/setup-gazebo@v0.2.0
237-
with:
238-
required-gazebo-distributions: 'ionic'
239-
use-gazebo-prerelease: 'true'
240-
use-gazebo-nightly: 'true'
241-
- name: 'Test Gazebo installation'
242-
run: 'gz sim --versions'
227+
runs-on: ubuntu-latest
228+
container:
229+
image: ubuntu:noble
230+
steps:
231+
- uses: actions/checkout@v4
232+
- uses: actions/setup-node@v4.0.2
233+
with:
234+
node-version: '20.x'
235+
- name: 'Check Gazebo installation on Ubuntu runner'
236+
uses: gazebo-tooling/setup-gazebo@v0.3.0
237+
with:
238+
required-gazebo-distributions: 'ionic'
239+
use-gazebo-prerelease: 'true'
240+
use-gazebo-nightly: 'true'
241+
- name: 'Test Gazebo installation'
242+
run: 'gz sim --versions'
243243
```
244244

245245
#### Installing ROS 2 and Gazebo side-by-side along with `ros_gz`
@@ -248,33 +248,71 @@ This workflow shows how to install ROS 2 using the GitHub action `ros-tooling/se
248248

249249
Starting with ROS 2 Jazzy, Gazebo is also available to be installed from ROS packages via [vendor packages]. When using `install-ros-gz` this action will check for availability of these Gazebo vendor packages and install them if available for the specified ROS 2 distribution. Only the default (recommended) Gazebo release is currently available for the ROS 2 releases using the vendor packages (i.e if ROS 2 Jazzy is used, only Gazebo Harmonic is the valid option). More information on vendor packages can be found in the [official documentation].
250250

251+
- *Installing a ROS-Gazebo combination*
252+
253+
This example shows the installation of ROS 2 Iron and Gazebo Harmonic which is a supported ROS-Gazebo combination.
254+
251255
```yaml
252256
jobs:
253257
test_gazebo:
254-
env:
255-
ROS_DISTROS: 'iron'
256-
runs-on: ubuntu-latest
257-
container:
258-
image: ubuntu:jammy
259-
steps:
260-
- uses: actions/checkout@v4
261-
- uses: actions/setup-node@v4.0.3
262-
with:
263-
node-version: '20.x'
264-
- name: 'Install ROS 2 Iron'
265-
uses: ros-tooling/setup-ros@v0.7
266-
with:
267-
required-ros-distributions: ${{ env.ROS_DISTROS }}
268-
- name: 'Install Gazebo Harmonic with ros_gz'
269-
uses: gazebo-tooling/setup-gazebo@v0.2.0
270-
with:
271-
required-gazebo-distributions: 'harmonic'
272-
install-ros-gz: ${{ env.ROS_DISTROS }}
273-
- name: Test Iron ros_gz installation
274-
run: |
275-
source /opt/ros/iron/setup.bash
276-
ros2 pkg list | grep ros_gz
277-
gz sim --version | grep 'version 8.[0-9*].[0-9*]'
258+
env:
259+
ROS_DISTROS: 'iron'
260+
runs-on: ubuntu-latest
261+
container:
262+
image: ubuntu:jammy
263+
steps:
264+
- uses: actions/checkout@v4
265+
- uses: actions/setup-node@v4.0.3
266+
with:
267+
node-version: '20.x'
268+
- name: 'Install ROS 2 Iron'
269+
uses: ros-tooling/setup-ros@v0.7
270+
with:
271+
required-ros-distributions: ${{ env.ROS_DISTROS }}
272+
- name: 'Install Gazebo Harmonic with ros_gz'
273+
uses: gazebo-tooling/setup-gazebo@v0.3.0
274+
with:
275+
required-gazebo-distributions: 'harmonic'
276+
install-ros-gz: ${{ env.ROS_DISTROS }}
277+
- name: Test Iron ros_gz installation
278+
run: |
279+
source /opt/ros/iron/setup.bash
280+
ros2 pkg list | grep ros_gz
281+
gz sim --version | grep 'version 8.[0-9*].[0-9*]'
282+
```
283+
284+
- *Installing Gazebo through vendor packages*
285+
286+
This example shows the installation of ROS 2 Jazzy and Gazebo Harmonic which is a recommended ROS-Gazebo combination. In this case, Gazebo libraries are will be installed as ROS packages.
287+
288+
```yaml
289+
jobs:
290+
test_gazebo:
291+
env:
292+
ROS_DISTROS: 'jazzy'
293+
runs-on: ubuntu-latest
294+
container:
295+
image: ubuntu:noble
296+
steps:
297+
- uses: actions/checkout@v4
298+
- uses: actions/setup-node@v4.0.3
299+
with:
300+
node-version: '20.x'
301+
- name: 'Install ROS 2 Jazzy'
302+
uses: ros-tooling/setup-ros@v0.7
303+
with:
304+
required-ros-distributions: ${{ env.ROS_DISTROS }}
305+
- name: 'Install Gazebo with ros_gz'
306+
uses: gazebo-tooling/setup-gazebo@v0.3.0
307+
with:
308+
required-gazebo-distributions: 'harmonic'
309+
install-ros-gz: ${{ env.ROS_DISTROS }}
310+
- name: Test Jazzy ros_gz installation
311+
run: |
312+
source /opt/ros/jazzy/setup.bash
313+
! [ $(apt list --installed gz-harmonic) ]
314+
ros2 pkg list | grep ros_gz
315+
gz sim --version | grep 'version 8.[0-9*].[0-9*]'
278316
```
279317

280318
### macOS
@@ -293,7 +331,7 @@ This workflow shows how to install Gazebo on a macOS worker using the Homebrew p
293331
with:
294332
node-version: '20.x'
295333
- name: 'Check Gazebo installation on MacOS runner'
296-
uses: gazebo-tooling/setup-gazebo@v0.2.0
334+
uses: gazebo-tooling/setup-gazebo@v0.3.0
297335
with:
298336
required-gazebo-distributions: 'harmonic'
299337
- name: 'Test Gazebo installation'
@@ -317,7 +355,7 @@ This workflow shows how to install Gazebo on a Windows worker. The action requir
317355
node-version: '20.x'
318356
- uses: conda-incubator/setup-miniconda@v3
319357
- name: 'Check Gazebo installation on Windows runner'
320-
uses: gazebo-tooling/setup-gazebo@v0.2.0
358+
uses: gazebo-tooling/setup-gazebo@v0.3.0
321359
with:
322360
required-gazebo-distributions: 'harmonic'
323361
- name: 'Test Gazebo installation'

‎action.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ inputs:
1212
Allowed Gazebo distributions
1313
- citadel
1414
- fortress
15-
- garden
1615
- harmonic
16+
- ionic
1717
1818
Multiple values can be passed using a whitespace delimited list
19-
"fortress garden".
19+
"fortress harmonic".
2020
required: false
2121
default: ''
2222
use-gazebo-prerelease:
@@ -36,6 +36,8 @@ inputs:
3636
Allowed ROS 2 distributions
3737
- humble
3838
- iron
39+
- jazzy
40+
- rolling
3941
4042
Multiple values can be passed using a whitespace delimited list
4143
"humble iron".

0 commit comments

Comments
 (0)