-
Notifications
You must be signed in to change notification settings - Fork 759
/
Dockerfile.ros-jazzy
42 lines (35 loc) · 1.66 KB
/
Dockerfile.ros-jazzy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# This file is part of evo (github.com/MichaelGrupp/evo).
#
# evo is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# evo is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with evo. If not, see <http://www.gnu.org/licenses/>.
FROM ros:jazzy
# Copy the whole tree into the container.
COPY . container-local/
# In case an image of this container gets executed, source ROS environment.
# In here, for 'docker build', we have to do it manually.
ENTRYPOINT ["container-local/.ci/ros_entrypoint.sh"]
# Install tf2
RUN apt-get update && apt-get -y install ros-jazzy-tf2-ros
RUN container-local/.ci/debian_install_pip3.sh
# Build and install.
# NOTE: --break-system-packages is added to force installation without venv.
# This is purely for the CI, as we want to test the installation process.
RUN pip3 install /container-local --break-system-packages
RUN evo_config show --brief --no_color
# Run tests.
RUN pip3 install pytest --break-system-packages
# ROS2 globally registers pytest plugins for ament, launch_testing and other crap.
# Don't load them because they can be not compatible with recent pytest versions.
# https://github.com/ros2/launch/issues/765
ENV PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
RUN /container-local/.ci/ros_run_tests.sh /container-local