Skip to content

Commit be0a8ce

Browse files
authored
Merge pull request #6766 from cyberbotics/master
Merge master into released
2 parents 62f04c7 + 2ea61ac commit be0a8ce

File tree

4,922 files changed

+15194
-26996
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,922 files changed

+15194
-26996
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ contact_links:
66
- name: GitHub Discussions
77
url: https://github.com/cyberbotics/webots/discussions/new
88
about: Ask a question or request a new feature in Webots
9-
- name: StackOverflow
10-
url: https://stackoverflow.com/questions/tagged/webots
9+
- name: Robotics StackExchange
10+
url: https://robotics.stackexchange.com
1111
about: Ask technical questions (be sure to use the 'webots' tag).
1212
- name: Discord Server
1313
url: https://discordapp.com/invite/nTWbN9m

.github/pull_request_template.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
**Description**
2-
Describe the bug you are fixing, the new feature your are introducing or the enhancement you are proposing.
2+
Describe the bug fix, enhancement or new feature your are proposing.
33

44
**Related Issues**
55
This pull-request fixes issue #
66

77
**Tasks**
88
Add the list of tasks of this PR.
9+
- [ ] Update the [changelog](https://github.com/cyberbotics/webots/blob/master/docs/reference/changelog-r2025.md)
10+
- [ ] Update the documentation (if needed)
911
- [ ] Task 1
1012
- [ ] Task 2
13+
- [ ] ...
1114

1215
**Documentation**
1316
If this pull-request changes the doc, add the link to the related page, including the `?version=BRANCH_NAME`, such as:
14-
https://cyberbotics.com/doc/guide/getting-started-with-webots?version=develop
17+
https://cyberbotics.com/doc/guide/getting-started-with-webots?version=my_repo:my_branch
18+
or
19+
https://cyberbotics.com/doc/guide/getting-started-with-webots?version=my_branch (if the branch is on this repository)
1520

1621
**Screenshots**
17-
If this pull-request includes any new robots/simulations/etc. add one or more screenshots of the result.
22+
If this pull-request includes any interesting visible result, add one or more screenshots.
1823

1924
**Additional context**
2025
Add any other context about the pull-request here.

.github/workflows/test_suite_linux.yml

Lines changed: 29 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
strategy:
2424
fail-fast: false
2525
matrix:
26-
os: [ubuntu-20.04, ubuntu-22.04]
26+
os: [ubuntu-22.04, ubuntu-24.04]
2727
runs-on: ${{ matrix.os }}
2828
steps:
2929
- uses: actions/checkout@v3
@@ -38,17 +38,16 @@ jobs:
3838
export LIBGL_ALWAYS_SOFTWARE=true
3939
xvfb-run --auto-servernum make webots_target -j4
4040
build:
41-
if: ${{ github.event_name == 'push' || github.event_name == 'schedule' || contains(github.event.pull_request.labels.*.name, 'test distribution') || contains(github.event.pull_request.labels.*.name, 'test suite') || contains(github.event.pull_request.labels.*.name, 'test ros') || contains(github.event.pull_request.labels.*.name, 'test worlds') }}
41+
if: ${{ github.event_name == 'push' || github.event_name == 'schedule' || contains(github.event.pull_request.labels.*.name, 'test distribution') || contains(github.event.pull_request.labels.*.name, 'test suite') || contains(github.event.pull_request.labels.*.name, 'test worlds') }}
4242
strategy:
4343
fail-fast: false
4444
matrix:
45-
os: [ubuntu-20.04, ubuntu-22.04]
45+
os: [ubuntu-22.04, ubuntu-24.04]
4646
include:
47-
- os: ubuntu-20.04
48-
JAVA_VERSION: "16"
49-
ROS_DISTRO: "noetic"
5047
- os: ubuntu-22.04
5148
JAVA_VERSION: "18"
49+
- os: ubuntu-24.04
50+
JAVA_VERSION: "21"
5251
runs-on: ${{ matrix.os }}
5352
steps:
5453
- uses: actions/checkout@v3
@@ -66,23 +65,22 @@ jobs:
6665
export JAVA_HOME=/usr/lib/jvm/java-${{ matrix.JAVA_VERSION }}-openjdk-amd64
6766
export PATH=$JAVA_HOME/bin:$PATH
6867
export LIBGL_ALWAYS_SOFTWARE=true
69-
export ROS_DISTRO=${{ matrix.ROS_DISTRO }}
7068
xvfb-run --auto-servernum make distrib -j4
7169
- name: Create/Update GitHub release
72-
if: ${{ matrix.os == 'ubuntu-20.04' && (github.event_name == 'push' || github.event_name == 'schedule') }}
70+
if: ${{ matrix.os == 'ubuntu-22.04' && (github.event_name == 'push' || github.event_name == 'schedule') }}
7371
run: |
7472
sudo python -m pip install requests PyGithub
7573
pip install pyopenssl --upgrade
7674
scripts/packaging/publish_release.py --key=${{ secrets.GITHUB_TOKEN }} --repo=${{ github.repository }} --branch=${{ github.ref }} --commit=$(git log -1 --format='%H') --tag=${{ github.ref }}
77-
- uses: actions/upload-artifact@v3
78-
if: ${{ contains(github.event.pull_request.labels.*.name, 'test suite') || contains(github.event.pull_request.labels.*.name, 'test ros') || contains(github.event.pull_request.labels.*.name, 'test worlds') }}
75+
- uses: actions/upload-artifact@v4
76+
if: ${{ contains(github.event.pull_request.labels.*.name, 'test suite') || contains(github.event.pull_request.labels.*.name, 'test worlds') }}
7977
with:
8078
name: build-${{ matrix.os }}
8179
path: |
8280
distribution/*.tar.bz2
8381
distribution/*.zip
84-
- uses: actions/upload-artifact@v3
85-
if: ${{ !contains(github.event.pull_request.labels.*.name, 'test suite') && !contains(github.event.pull_request.labels.*.name, 'test ros') && !contains(github.event.pull_request.labels.*.name, 'test worlds') }}
82+
- uses: actions/upload-artifact@v4
83+
if: ${{ !contains(github.event.pull_request.labels.*.name, 'test suite') && !contains(github.event.pull_request.labels.*.name, 'test worlds') }}
8684
with:
8785
name: build-${{ matrix.os }}
8886
path: |
@@ -95,19 +93,19 @@ jobs:
9593
strategy:
9694
fail-fast: false
9795
matrix:
98-
os: [ubuntu-20.04, ubuntu-22.04]
96+
os: [ubuntu-22.04, ubuntu-24.04]
9997
runs-on: ${{ matrix.os }}
10098
steps:
10199
- uses: actions/checkout@v3
102100
- name: Download Artifacts
103-
uses: actions/download-artifact@v3
101+
uses: actions/download-artifact@v4.1.7
104102
with:
105-
name: build-ubuntu-20.04
103+
name: build-ubuntu-22.04
106104
path: artifact
107105
- name: Extract Webots
108106
run: tar xjf artifact/webots-*-x86-64*.tar.bz2 -C artifact
109107
- name: Install Webots Dependencies
110-
run: sudo scripts/install/linux_test_dependencies.sh --exclude-ros
108+
run: sudo scripts/install/linux_test_dependencies.sh
111109
- name: Set up Python 3.9
112110
uses: actions/setup-python@v4
113111
with:
@@ -121,63 +119,29 @@ jobs:
121119
export TESTS_HOME=$PWD # required by cache group in the test suite
122120
export BRANCH_HASH=$(git log -1 --format='%H')
123121
xvfb-run --auto-servernum python tests/test_suite.py
124-
- uses: actions/upload-artifact@v3
122+
- uses: actions/upload-artifact@v4
125123
if: failure()
126124
with:
127125
name: test-results-${{ matrix.os }}
128126
path: |
129127
tests/
130-
test-ros:
131-
needs: build
132-
if: ${{ contains(github.event.pull_request.labels.*.name, 'test ros') || github.event_name == 'schedule' }}
133-
strategy:
134-
fail-fast: false
135-
matrix:
136-
os: [ubuntu-20.04]
137-
include:
138-
- os: ubuntu-20.04
139-
ROS_DISTRO: noetic
140-
python: 3.8
141-
runs-on: ${{ matrix.os }}
142-
steps:
143-
- uses: actions/checkout@v3
144-
with:
145-
submodules: true
146-
- name: Download Artifacts
147-
uses: actions/download-artifact@v3
148-
with:
149-
name: build-${{ matrix.os }}
150-
path: artifact
151-
- name: Extract Webots
152-
run: tar xjf artifact/webots-*-x86-64*.tar.bz2 -C artifact
153-
- name: Install Webots Dependencies
154-
run: sudo scripts/install/linux_test_dependencies.sh
155-
- name: Set up Python ${{ matrix.python }}
156-
uses: actions/setup-python@v4
157-
with:
158-
python-version: ${{ matrix.python }}
159-
- name: Run Test
160-
run: |
161-
export WEBOTS_HOME=$PWD/artifact/webots
162-
export ROS_DISTRO=${{ matrix.ROS_DISTRO }}
163-
python -m pip install rospkg catkin_pkg empy defusedxml netifaces
164-
Xvfb :99 &
165-
export DISPLAY=:99
166-
./tests/ros.sh
167-
timeout-minutes: 15
168128
test-worlds:
169129
needs: build
170130
if: ${{ contains(github.event.pull_request.labels.*.name, 'test worlds') || github.event_name == 'schedule' }}
171-
runs-on: ubuntu-20.04
131+
runs-on: ubuntu-22.04
172132
steps:
133+
- name: Download Scripts
134+
uses: actions/checkout@v4
135+
with:
136+
sparse-checkout: |
137+
scripts/install/linux_runtime_dependencies.sh
138+
tests/test_worlds.py
139+
sparse-checkout-cone-mode: false
173140
- name: Download Artifacts
174-
uses: actions/download-artifact@v3
141+
uses: actions/download-artifact@v4.1.7
175142
with:
176-
name: build-ubuntu-20.04
143+
name: build-ubuntu-22.04
177144
path: artifact
178-
- name: Get branch name
179-
id: branch-name
180-
uses: tj-actions/[email protected]
181145
- name: Extract Webots and Cache
182146
run: |
183147
tar xjf artifact/webots-*-x86-64*.tar.bz2 -C artifact
@@ -190,19 +154,18 @@ jobs:
190154
python-version: 3.9
191155
- name: Update World, Check Warnings and Validate Cache
192156
run: |
193-
wget https://raw.githubusercontent.com/cyberbotics/webots/${{ steps.branch-name.outputs.current_branch }}/scripts/install/linux_runtime_dependencies.sh && sudo bash linux_runtime_dependencies.sh
157+
sudo bash scripts/install/linux_runtime_dependencies.sh
194158
export LIBGL_ALWAYS_SOFTWARE=true
195159
export WEBOTS_DISABLE_SAVE_SCREEN_PERSPECTIVE_ON_CLOSE=true
196160
export WEBOTS_HOME=$PWD/artifact/webots
197-
wget https://raw.githubusercontent.com/cyberbotics/webots/${{ steps.branch-name.outputs.current_branch }}/tests/test_worlds.py
198-
xvfb-run --auto-servernum python3 test_worlds.py
161+
xvfb-run --auto-servernum python3 tests/test_worlds.py
199162
if [[ "$(diff -qr artifact/ untouched-artifact/ | wc -l)" -ne "0" ]]; then echo Some world and/or wbproj files are not up to date: "$(diff -qr artifact/ untouched-artifact/)"; exit 1; fi
200163
delete-artifacts:
201-
needs: [build, test-suite, test-ros, test-worlds]
164+
needs: [build, test-suite, test-worlds]
202165
if: ${{ always() && !contains(github.event.pull_request.labels.*.name, 'test distribution') && !contains(github.event.pull_request.labels.*.name, 'test webots build') }}
203166
strategy:
204167
matrix:
205-
os: [ubuntu-20.04, ubuntu-22.04]
168+
os: [ubuntu-22.04, ubuntu-24.04]
206169
runs-on: ubuntu-latest
207170
steps:
208171
- name: Delete artifacts

0 commit comments

Comments
 (0)