From f157cdeb53af87d238c425d3068087a5bca6ecf9 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Mon, 18 Dec 2023 21:01:36 -0800 Subject: [PATCH] Add images for 6.14 --- .github/workflows/docker_image.yml | 2 +- v6.14/Dockerfile.ubuntu.focal | 104 +++++++++++++++++++++++++++++ v6.14/Dockerfile.ubuntu.jammy | 104 +++++++++++++++++++++++++++++ 3 files changed, 209 insertions(+), 1 deletion(-) create mode 100644 v6.14/Dockerfile.ubuntu.focal create mode 100644 v6.14/Dockerfile.ubuntu.jammy diff --git a/.github/workflows/docker_image.yml b/.github/workflows/docker_image.yml index 21a8d76..0be4e77 100644 --- a/.github/workflows/docker_image.yml +++ b/.github/workflows/docker_image.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false matrix: distro: [focal, jammy] - dart_version: [v6.13] + dart_version: [v6.13, v6.14] platforms: ["linux/amd64,linux/arm64,linux/ppc64le,linux/s390x"] build_min: [OFF] include: diff --git a/v6.14/Dockerfile.ubuntu.focal b/v6.14/Dockerfile.ubuntu.focal new file mode 100644 index 0000000..ab79bb5 --- /dev/null +++ b/v6.14/Dockerfile.ubuntu.focal @@ -0,0 +1,104 @@ +ARG TARGETPLATFORM=linux/amd64 +FROM --platform=$TARGETPLATFORM ubuntu:focal + +ARG DEBIAN_FRONTEND=noninteractive + +# Use /bin/bash to use pushd/popd +SHELL ["/bin/bash", "-c"] + +# Update apt-get +RUN apt-get update -qq + +# ============================================================================== +# Build tools +# ============================================================================== +RUN apt-get install -y --no-install-recommends \ + build-essential \ + clang \ + clang-format-9 \ + clang-format-12 \ + cmake \ + curl \ + doxygen \ + git \ + lcov \ + lsb-release \ + pkg-config \ + software-properties-common \ + valgrind + +# ============================================================================== +# DART required dependencies +# ============================================================================== +RUN apt-get install -y --no-install-recommends \ + libassimp-dev \ + libccd-dev \ + libeigen3-dev \ + libfcl-dev \ + libfmt-dev + +# ============================================================================== +# DART optional dependencies +# ============================================================================== + +RUN apt-get install -y --no-install-recommends \ + coinor-libipopt-dev \ + freeglut3-dev \ + libxi-dev \ + libxmu-dev \ + libbullet-dev \ + liblz4-dev \ + libflann-dev \ + libtinyxml2-dev \ + liburdfdom-dev \ + liburdfdom-headers-dev \ + libopenscenegraph-dev \ + libnlopt-cxx-dev \ + liboctomap-dev \ + libode-dev \ + libspdlog-dev + +# pagmo2 +RUN apt-get install -y --no-install-recommends \ + coinor-libipopt-dev \ + libboost-serialization-dev \ + libeigen3-dev \ + libnlopt-cxx-dev \ + libtbb-dev +RUN git clone https://github.com/esa/pagmo2.git -b 'v2.17.0' --single-branch --depth 1 \ + && mkdir pagmo2/build \ + && pushd pagmo2/build \ + && cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DPAGMO_WITH_EIGEN3=ON \ + -DPAGMO_WITH_NLOPT=OFF \ + -DPAGMO_WITH_IPOPT=ON \ + -DPAGMO_BUILD_TESTS=OFF \ + -DPAGMO_BUILD_BENCHMARKS=OFF \ + -DPAGMO_BUILD_TUTORIALS=OFF \ + && make -j$(nproc) \ + && make install \ + && popd \ + && rm -rf pagmo2 + +# ============================================================================== +# Python binding dependencies +# ============================================================================== + +RUN apt-get install -y --no-install-recommends \ + libpython3-dev \ + pybind11-dev \ + python3 \ + python3-dev \ + python3-distutils \ + python3-numpy \ + python3-pip \ + python3-setuptools + +RUN pip3 install pytest -U + +# ============================================================================== +# Clean up +# ============================================================================== + +RUN rm -rf /var/lib/apt/lists/* diff --git a/v6.14/Dockerfile.ubuntu.jammy b/v6.14/Dockerfile.ubuntu.jammy new file mode 100644 index 0000000..73e3030 --- /dev/null +++ b/v6.14/Dockerfile.ubuntu.jammy @@ -0,0 +1,104 @@ +ARG TARGETPLATFORM=linux/amd64 +FROM --platform=$TARGETPLATFORM ubuntu:jammy + +ARG DEBIAN_FRONTEND=noninteractive + +# Use /bin/bash to use pushd/popd +SHELL ["/bin/bash", "-c"] + +# Update apt-get +RUN apt-get update -qq + +# ============================================================================== +# Build tools +# ============================================================================== +RUN apt-get install -y --no-install-recommends \ + build-essential \ + clang \ + clang-format-12 \ + cmake \ + curl \ + doxygen \ + git \ + lcov \ + lsb-release \ + pkg-config \ + software-properties-common \ + valgrind + +# ============================================================================== +# DART required dependencies +# ============================================================================== +RUN apt-get install -y --no-install-recommends \ + libassimp-dev \ + libccd-dev \ + libeigen3-dev \ + libfcl-dev \ + libfmt-dev + +# ============================================================================== +# DART optional dependencies +# ============================================================================== + +RUN apt-get install -y --no-install-recommends \ + coinor-libipopt-dev \ + freeglut3-dev \ + libxi-dev \ + libxmu-dev \ + libbullet-dev \ + liblz4-dev \ + libflann-dev \ + libtinyxml2-dev \ + liburdfdom-dev \ + liburdfdom-headers-dev \ + libopenscenegraph-dev \ + libnlopt-cxx-dev \ + liboctomap-dev \ + libode-dev \ + libimgui-dev \ + libspdlog-dev + +# pagmo2 +RUN apt-get install -y --no-install-recommends \ + coinor-libipopt-dev \ + libboost-serialization-dev \ + libeigen3-dev \ + libnlopt-cxx-dev \ + libtbb-dev +RUN git clone https://github.com/esa/pagmo2.git -b 'v2.17.0' --single-branch --depth 1 \ + && mkdir pagmo2/build \ + && pushd pagmo2/build \ + && cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DPAGMO_WITH_EIGEN3=ON \ + -DPAGMO_WITH_NLOPT=OFF \ + -DPAGMO_WITH_IPOPT=ON \ + -DPAGMO_BUILD_TESTS=OFF \ + -DPAGMO_BUILD_BENCHMARKS=OFF \ + -DPAGMO_BUILD_TUTORIALS=OFF \ + && make -j$(nproc) \ + && make install \ + && popd \ + && rm -rf pagmo2 + +# ============================================================================== +# Python binding dependencies +# ============================================================================== + +RUN apt-get install -y --no-install-recommends \ + libpython3-dev \ + pybind11-dev \ + python3 \ + python3-dev \ + python3-distutils \ + python3-numpy \ + python3-pip \ + python3-setuptools + +RUN pip3 install pytest -U + +# ============================================================================== +# Clean up +# ============================================================================== + +RUN rm -rf /var/lib/apt/lists/*