From a6adf165024937373945c782c61cfd538ab8b012 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Mon, 2 Oct 2023 16:18:43 +0200 Subject: [PATCH 01/13] First dockerfile iteration for 22.04 builder --- docker/sofabuilder_ubuntu/Dockerfile | 53 ++++++++++------------------ 1 file changed, 19 insertions(+), 34 deletions(-) diff --git a/docker/sofabuilder_ubuntu/Dockerfile b/docker/sofabuilder_ubuntu/Dockerfile index 46779a5..f3af2fb 100644 --- a/docker/sofabuilder_ubuntu/Dockerfile +++ b/docker/sofabuilder_ubuntu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 SHELL ["/bin/bash", "-c"] @@ -32,25 +32,22 @@ RUN apt-get install -y \ RUN apt-get install -y \ build-essential \ ninja-build=1.10.\* \ - gcc=4:9.3.\* \ - g++=4:9.3.\* \ - clang=1:10.0-\* \ - ccache=3.7.\* + gcc=4:11.\* \ + g++=4:11.\* \ + clang=1:14.0-\* \ + ccache=4.5.\* # Install core deps RUN apt-get install -y \ - libboost-all-dev=1.71.\* \ - libglew-dev=2.1.\* \ + libboost-all-dev=1.74.\* \ + libglew-dev=2.2.\* \ freeglut3-dev=2.8.\* \ zlib1g-dev=1:1.2.\* \ - libeigen3-dev=3.3.\* + libeigen3-dev=3.4.\* # Install plugins deps RUN apt-get install -y \ python2.7-dev \ - python3.7-dev python3.7-distutils \ - python3.8-dev python3-distutils=3.8.\* \ - python3.9-dev python3.9-distutils \ python3.10-dev python3.10-distutils \ libpng-dev libjpeg-dev libtiff-dev \ libblas-dev \ @@ -63,23 +60,11 @@ RUN apt-get install -y \ libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev # Install pip, numpy, scipy, pybind11 -ARG PYBIND11_VERSION=2.6.2 +ARG PYBIND11_VERSION=2.9.1 RUN curl -L https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip2.py \ && python2.7 /tmp/get-pip2.py \ && python2.7 -m pip install --upgrade "pip == 20.3.4" \ && python2.7 -m pip install "numpy == 1.16.6" "scipy == 1.2.3" "matplotlib == 2.2.5" -RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ - && python3.7 /tmp/get-pip3.py \ - && python3.7 -m pip install --upgrade pip \ - && python3.7 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION -RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ - && python3.8 /tmp/get-pip3.py \ - && python3.8 -m pip install --upgrade pip \ - && python3.8 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION -RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ - && python3.9 /tmp/get-pip3.py \ - && python3.9 -m pip install --upgrade pip \ - && python3.9 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ && python3.10 /tmp/get-pip3.py \ && python3.10 -m pip install --upgrade pip \ @@ -90,18 +75,18 @@ ENV VM_HAS_OPENCASCADE="true" ################################### # Install CMake -ARG CMAKE_VERSION=3.16.3 +ARG CMAKE_VERSION=3.22.1 ADD https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-Linux-x86_64.sh /tmp/cmake.sh RUN chmod a+x /tmp/cmake.sh RUN /tmp/cmake.sh --skip-license --prefix=/usr/local # Install Qt -ARG QT_VERSION=5.12.8 +ARG QT_VERSION=5.12.12 ARG QT_INSTALLDIR="/opt/Qt" -RUN python3.8 -m pip install aqtinstall \ - && python3.8 -m aqt install-qt --outputdir $QT_INSTALLDIR linux desktop $QT_VERSION gcc_64 -m qtcharts qtwebengine +RUN python3.10 -m pip install aqtinstall \ + && python3.10 -m aqt install-qt --outputdir $QT_INSTALLDIR linux desktop $QT_VERSION gcc_64 -m qtcharts qtwebengine RUN apt-get install -y libxkbcommon-x11-0 libwayland-cursor0 libxcb-* \ - && python3.8 -m aqt install-tool --outputdir $QT_INSTALLDIR linux desktop tools_ifw \ + && python3.10 -m aqt install-tool --outputdir $QT_INSTALLDIR linux desktop tools_ifw \ || true ENV QT_INSTALLDIR="$QT_INSTALLDIR" ENV QTDIR="$QT_INSTALLDIR/$QT_VERSION/gcc_64" @@ -110,8 +95,8 @@ ENV PATH="$QTDIR/bin${PATH:+:${PATH}}" # Install CGAL # Due to dependencies on Boost and Qt, we have to build CGAL -ARG CGAL_VERSION=5.0.2 -ADD https://github.com/CGAL/cgal/releases/download/releases/CGAL-$CGAL_VERSION/CGAL-$CGAL_VERSION.tar.xz /tmp/CGAL.tar.xz +ARG CGAL_VERSION=5.4.5 +ADD https://github.com/CGAL/cgal/releases/download/v$CGAL_VERSION/CGAL-$CGAL_VERSION.tar.xz /tmp/CGAL.tar.xz RUN apt-get install -y libgmp-dev libmpfr-dev RUN tar -xJf /tmp/CGAL.tar.xz --directory /tmp \ && cd /tmp/CGAL-$CGAL_VERSION \ @@ -128,7 +113,7 @@ ENV VM_HAS_CUDA="true" ENV VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" # Install NodeEditor (needed by SofaQtQuick) -ARG NODEEDITOR_VERSION=2.1.3 +ARG NODEEDITOR_VERSION=2.2.4 RUN git clone -b $NODEEDITOR_VERSION --depth 1 https://github.com/paceholder/nodeeditor.git /tmp/nodeeditor/src \ && mkdir /tmp/nodeeditor/build && cd /tmp/nodeeditor/build \ && cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF ../src \ @@ -147,8 +132,8 @@ ENV PYTHONIOENCODING="UTF-8" ENV PYTHONUSERBASE="/tmp/pythonuserbase" RUN mkdir -p "$PYTHONUSERBASE" && chmod -R 777 "$PYTHONUSERBASE" ENV VM_PYTHON_EXECUTABLE="/usr/bin/python2.7" -ENV VM_PYTHON3_EXECUTABLE="/usr/bin/python3.8" -ENV VM_PYBIND11_CONFIG_EXECUTABLE="/usr/bin/python3.8 -m pybind11" +ENV VM_PYTHON3_EXECUTABLE="/usr/bin/python3.10" +ENV VM_PYBIND11_CONFIG_EXECUTABLE="/usr/bin/python3.10 -m pybind11" RUN git config --system user.name 'SOFA Bot' || git config --global user.name 'SOFA Bot' RUN git config --system user.email '<>' || git config --global user.email '<>' From d0d9188a635e75db01bcc08b8fc4bbf137a5befd Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 20 Sep 2023 17:40:29 +0200 Subject: [PATCH 02/13] FIX unit-test script, it launches now the plugins regression tests --- scripts/unit-tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 scripts/unit-tests.sh diff --git a/scripts/unit-tests.sh b/scripts/unit-tests.sh old mode 100644 new mode 100755 index cf911e5..366c558 --- a/scripts/unit-tests.sh +++ b/scripts/unit-tests.sh @@ -47,8 +47,8 @@ fi # export SOFA_DATA_PATH="$src_dir:$src_dir/examples:$src_dir/share" export SOFA_ROOT="$build_dir" if [[ "$test_type" == "regression-tests" ]]; then - export REGRESSION_REFERENCES_DIR="$references_dir/examples" - export REGRESSION_SCENES_DIR="$src_dir/examples" + export REGRESSION_REFERENCES_DIR="$references_dir/examples:$references_dir/applications/plugins" + export REGRESSION_SCENES_DIR="$src_dir/examples:$src_dir/applications/plugins" fi list-tests() { From fe938314b6dd627e69a7b23853959c3acd7bb025 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 4 Oct 2023 18:02:20 +0200 Subject: [PATCH 03/13] Cuda installation, still need to deal with the promp --- docker/sofabuilder_ubuntu/Dockerfile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docker/sofabuilder_ubuntu/Dockerfile b/docker/sofabuilder_ubuntu/Dockerfile index f3af2fb..f6f5985 100644 --- a/docker/sofabuilder_ubuntu/Dockerfile +++ b/docker/sofabuilder_ubuntu/Dockerfile @@ -108,9 +108,15 @@ ENV VM_HAS_CGAL="true" ENV VM_CGAL_PATH="/usr/local/lib/cmake/CGAL" # Install CUDA -RUN apt-get install -y nvidia-cuda-toolkit +RUN export DEBIAN_FRONTEND=noninteractive +RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin +RUN mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 +RUN wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb +RUN dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb +RUN cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ +RUN apt-get update +RUN apt-get -y install cuda ENV VM_HAS_CUDA="true" -ENV VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" # Install NodeEditor (needed by SofaQtQuick) ARG NODEEDITOR_VERSION=2.2.4 From c6284c7026b4a5bfc795663a0853d1708aa85785 Mon Sep 17 00:00:00 2001 From: Alex Bilger Date: Fri, 29 Sep 2023 10:18:20 +0200 Subject: [PATCH 04/13] More details on the timemout (#24) --- scripts/scene-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/scene-tests.sh b/scripts/scene-tests.sh index 4430d0e..4d1719d 100644 --- a/scripts/scene-tests.sh +++ b/scripts/scene-tests.sh @@ -477,7 +477,7 @@ do-test-all-scenes() { elapsed_sec="$(( elapsed_millisec / 1000 )).$(printf "%03d" $elapsed_millisec)" if [[ -e "$output_dir/$scene/runSofa.timeout" ]]; then - echo 'Timeout!' + echo "Timeout after $timeout seconds ($elapsed_sec)! $scene" echo timeout > "$output_dir/$scene/status.txt" echo -e "\n\nINFO: Abort caused by timeout.\n" >> "$output_dir/$scene/output.txt" rm -f "$output_dir/$scene/runSofa.timeout" From cb251b50551c88ae6896c80b02fd78bf7385a33a Mon Sep 17 00:00:00 2001 From: bakpaul Date: Thu, 5 Oct 2023 17:54:47 +0200 Subject: [PATCH 05/13] New builder working even with tests --- docker/sofabuilder_ubuntu/Dockerfile | 4 +++- docker/sofabuilder_ubuntu/test | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 docker/sofabuilder_ubuntu/test diff --git a/docker/sofabuilder_ubuntu/Dockerfile b/docker/sofabuilder_ubuntu/Dockerfile index f6f5985..58ad37e 100644 --- a/docker/sofabuilder_ubuntu/Dockerfile +++ b/docker/sofabuilder_ubuntu/Dockerfile @@ -108,7 +108,7 @@ ENV VM_HAS_CGAL="true" ENV VM_CGAL_PATH="/usr/local/lib/cmake/CGAL" # Install CUDA -RUN export DEBIAN_FRONTEND=noninteractive +ENV DEBIAN_FRONTEND noninteractive RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin RUN mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 RUN wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb @@ -117,6 +117,8 @@ RUN cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrin RUN apt-get update RUN apt-get -y install cuda ENV VM_HAS_CUDA="true" +ENV PATH=$PATH:/usr/local/cuda/bin + # Install NodeEditor (needed by SofaQtQuick) ARG NODEEDITOR_VERSION=2.2.4 diff --git a/docker/sofabuilder_ubuntu/test b/docker/sofabuilder_ubuntu/test new file mode 100644 index 0000000..a84ee05 --- /dev/null +++ b/docker/sofabuilder_ubuntu/test @@ -0,0 +1 @@ +./ci/scripts/configure.sh /workspace/build/ /workspace/src/ ubuntu_gcc options "run-regression-tests run-scene-tests run-unit-tests force-full-build build-scope-full build-all-plugins" \ No newline at end of file From 8c28cf5d17234a08b49f9fb4eb3107697d659c68 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Tue, 10 Oct 2023 09:59:46 +0200 Subject: [PATCH 06/13] Reduced image size --- docker/sofabuilder_ubuntu/Dockerfile | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docker/sofabuilder_ubuntu/Dockerfile b/docker/sofabuilder_ubuntu/Dockerfile index 58ad37e..69d8723 100644 --- a/docker/sofabuilder_ubuntu/Dockerfile +++ b/docker/sofabuilder_ubuntu/Dockerfile @@ -109,13 +109,10 @@ ENV VM_CGAL_PATH="/usr/local/lib/cmake/CGAL" # Install CUDA ENV DEBIAN_FRONTEND noninteractive -RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin -RUN mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 -RUN wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb -RUN dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb -RUN cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ +RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb +RUN dpkg -i cuda-keyring_1.0-1_all.deb RUN apt-get update -RUN apt-get -y install cuda +RUN apt-get -y install cuda-toolkit-11-8 ENV VM_HAS_CUDA="true" ENV PATH=$PATH:/usr/local/cuda/bin From b3fbbcc236f467524d489dfe1488dd14088f05c5 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Fri, 13 Oct 2023 17:08:12 +0200 Subject: [PATCH 07/13] Changed the environement specifications --- scripts/env/sofa-ci-dev-ubuntu2004-0 | 4 +++- scripts/env/sofa-ci-dev-ubuntu2004-1 | 3 ++- scripts/env/sofa-ci-dev-ubuntu2004-2 | 3 ++- scripts/env/sofa-ci-dev-ubuntu2004-3 | 3 ++- scripts/env/sofa-ci-dev-ubuntu2004-4 | 3 ++- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-0 b/scripts/env/sofa-ci-dev-ubuntu2004-0 index 03f8392..c8b7c15 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-0 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-0 @@ -18,9 +18,11 @@ export VM_MAKE_OPTIONS="-j7" export VM_MAX_PARALLEL_TESTS="7" -export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" +export VM_HAS_CUDA="true" + export VM_CUDA_ARCH="sm_50" + if [ ! -f /.dockerenv ]; then # not in Docker export VM_HAS_BULLET="false" diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-1 b/scripts/env/sofa-ci-dev-ubuntu2004-1 index d552cd2..a54f35e 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-1 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-1 @@ -18,7 +18,8 @@ export VM_MAKE_OPTIONS="-j7" export VM_MAX_PARALLEL_TESTS="7" -export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" +export VM_HAS_CUDA="true" + export VM_CUDA_ARCH="sm_50" if [ ! -f /.dockerenv ]; then # not in Docker diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-2 b/scripts/env/sofa-ci-dev-ubuntu2004-2 index 6315dbc..2e25767 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-2 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-2 @@ -18,7 +18,8 @@ export VM_MAKE_OPTIONS="-j7" export VM_MAX_PARALLEL_TESTS="7" -export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" +export VM_HAS_CUDA="true" + export VM_CUDA_ARCH="sm_50" if [ ! -f /.dockerenv ]; then # not in Docker diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-3 b/scripts/env/sofa-ci-dev-ubuntu2004-3 index 0f647e9..0f34ca0 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-3 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-3 @@ -18,7 +18,8 @@ export VM_MAKE_OPTIONS="-j7" export VM_MAX_PARALLEL_TESTS="7" -export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" +export VM_HAS_CUDA="true" + export VM_CUDA_ARCH="sm_50" if [ ! -f /.dockerenv ]; then # not in Docker diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-4 b/scripts/env/sofa-ci-dev-ubuntu2004-4 index 979daf8..b067b33 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-4 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-4 @@ -18,7 +18,8 @@ export VM_MAKE_OPTIONS="-j7" export VM_MAX_PARALLEL_TESTS="7" -export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-8" +export VM_HAS_CUDA="true" + export VM_CUDA_ARCH="sm_50" if [ ! -f /.dockerenv ]; then # not in Docker From 7bfa17643576cc687082cb5446c15fac9fb6bcc5 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Fri, 13 Oct 2023 17:08:43 +0200 Subject: [PATCH 08/13] First attempt at passing fedora to 36 --- docker/sofabuilder_fedora/Dockerfile | 48 +++++++++++----------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/docker/sofabuilder_fedora/Dockerfile b/docker/sofabuilder_fedora/Dockerfile index b69f75f..cd693b0 100644 --- a/docker/sofabuilder_fedora/Dockerfile +++ b/docker/sofabuilder_fedora/Dockerfile @@ -1,4 +1,4 @@ -FROM fedora:34 +FROM fedora:36 SHELL ["/bin/bash", "-c"] @@ -14,7 +14,7 @@ ENV HOME="/home/ci" # RUN yum install -y -q centos-release-scl-rh # RUN yum install -y -q http://repo.okay.com.mx/centos/7/x86_64/release/okay-release-1-5.el7.noarch.rpm # RUN yum install -y -q https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.9-1.x86_64.rpm -RUN yum install -y -q http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-34.noarch.rpm +RUN yum install -y -q http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-36.noarch.rpm RUN yum update -y && yum upgrade -y && yum clean all # Install system tools @@ -43,9 +43,6 @@ RUN yum install -y -q \ # Install plugin deps RUN yum install -y -q \ python2.7 \ - python3.7 \ - python3.8 \ - python3.9 \ python3.10 \ libpng-devel libjpeg-turbo-devel libtiff-devel \ blas-devel \ @@ -57,21 +54,14 @@ RUN yum install -y -q \ libXrandr-devel # Install pip, numpy, scipy, pybind11 -ARG PYBIND11_VERSION=2.6.2 -RUN curl -L https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip2.py \ - && python2.7 /tmp/get-pip2.py \ - && python2.7 -m pip install --upgrade "pip == 20.3.4" \ - && python2.7 -m pip install "numpy == 1.16.6" "scipy == 1.2.3" "matplotlib == 2.2.5" -RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ - && python3.7 /tmp/get-pip3.py \ - && python3.7 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION -RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ - && python3.8 /tmp/get-pip3.py \ - && python3.8 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION -RUN python3.9 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION -RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ - && python3.10 /tmp/get-pip3.py \ - && python3.10 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION +ARG PYBIND11_VERSION=2.9.1 +#RUN curl -L https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip2.py \ +# && python2.7 /tmp/get-pip2.py \ +# && python2.7 -m pip install --upgrade "pip == 20.3.4" \ +# && python2.7 -m pip install "numpy == 1.16.6" "scipy == 1.2.3" "matplotlib == 2.2.5" +#RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py +#RUN python3.10 /tmp/get-pip3.py +RUN python3.10 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION ENV PYTHONPATH="" ENV VM_HAS_ASSIMP="true" ENV VM_HAS_OPENCASCADE="true" @@ -79,18 +69,18 @@ ENV VM_HAS_OPENCASCADE="true" ################################### # Install CMake -ARG CMAKE_VERSION=3.16.3 +ARG CMAKE_VERSION=3.22.1 ADD https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-Linux-x86_64.sh /tmp/cmake.sh RUN chmod a+x /tmp/cmake.sh RUN /tmp/cmake.sh --skip-license --prefix=/usr/local # Install Qt -ARG QT_VERSION=5.12.8 +ARG QT_VERSION=5.12.12 ARG QT_INSTALLDIR="/opt/Qt" -RUN python3.8 -m pip install aqtinstall \ - && python3.8 -m aqt install-qt --outputdir $QT_INSTALLDIR linux desktop $QT_VERSION gcc_64 -m qtcharts qtwebengine +RUN python3.10 -m pip install aqtinstall \ + && python3.10 -m aqt install-qt --outputdir $QT_INSTALLDIR linux desktop $QT_VERSION gcc_64 -m qtcharts qtwebengine RUN yum install -y -q libxkbcommon-x11 libwayland-cursor xcb-util-* \ - && python3.8 -m aqt install-tool --outputdir $QT_INSTALLDIR linux desktop tools_ifw \ + && python3.10 -m aqt install-tool --outputdir $QT_INSTALLDIR linux desktop tools_ifw \ || true ENV QT_INSTALLDIR="$QT_INSTALLDIR" ENV QTDIR="$QT_INSTALLDIR/$QT_VERSION/gcc_64" @@ -105,8 +95,8 @@ ENV LD_LIBRARY_PATH="${BOOST_LIBRARYDIR}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" # Install CGAL # Due to dependencies on Boost and Qt, we have to build CGAL -ARG CGAL_VERSION=5.0.2 -ADD https://github.com/CGAL/cgal/releases/download/releases/CGAL-$CGAL_VERSION/CGAL-$CGAL_VERSION.tar.xz /tmp/CGAL.tar.xz +ARG CGAL_VERSION=5.4.5 +ADD https://github.com/CGAL/cgal/releases/download/v$CGAL_VERSION/CGAL-$CGAL_VERSION.tar.xz /tmp/CGAL.tar.xz RUN yum install -y -q gmp-devel mpfr-devel RUN tar -xJf /tmp/CGAL.tar.xz --directory /tmp \ && cd /tmp/CGAL-$CGAL_VERSION \ @@ -132,8 +122,8 @@ ENV PYTHONIOENCODING="UTF-8" ENV PYTHONUSERBASE="/tmp/pythonuserbase" RUN mkdir -p "$PYTHONUSERBASE" && chmod -R 777 "$PYTHONUSERBASE" ENV VM_PYTHON_EXECUTABLE="/usr/bin/python2.7" -ENV VM_PYTHON3_EXECUTABLE="/usr/bin/python3.8" -ENV VM_PYBIND11_CONFIG_EXECUTABLE="/usr/bin/python3.8 -m pybind11" +ENV VM_PYTHON3_EXECUTABLE="/usr/bin/python3.10" +ENV VM_PYBIND11_CONFIG_EXECUTABLE="/usr/bin/python3.10 -m pybind11" RUN git config --system user.name 'SOFA Bot' || git config --global user.name 'SOFA Bot' RUN git config --system user.email '<>' || git config --global user.email '<>' From a2441ef7b7b7dd3baab93c7d0a6e06e037c5ef58 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Fri, 13 Oct 2023 17:09:03 +0200 Subject: [PATCH 09/13] update nightly accordingly --- docker/sofa_nightly_ubuntu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/sofa_nightly_ubuntu/Dockerfile b/docker/sofa_nightly_ubuntu/Dockerfile index 7735b66..29c0014 100644 --- a/docker/sofa_nightly_ubuntu/Dockerfile +++ b/docker/sofa_nightly_ubuntu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 SHELL ["/bin/bash", "-c"] From 44e10ceebf6796c910a468f6f84be54a1560c237 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Tue, 12 Dec 2023 18:09:31 +0100 Subject: [PATCH 10/13] UPDATE builders with metis dependency --- docker/sofabuilder_fedora/Dockerfile | 19 ++++++++++++++++++- docker/sofabuilder_ubuntu/Dockerfile | 23 ++++++++++++++++++++++- scripts/env/sofa-ci-dev-ubuntu2004-0 | 2 +- scripts/env/sofa-ci-dev-ubuntu2004-1 | 2 +- scripts/env/sofa-ci-dev-ubuntu2004-2 | 2 +- scripts/env/sofa-ci-dev-ubuntu2004-3 | 2 +- scripts/env/sofa-ci-dev-ubuntu2004-4 | 2 +- 7 files changed, 45 insertions(+), 7 deletions(-) diff --git a/docker/sofabuilder_fedora/Dockerfile b/docker/sofabuilder_fedora/Dockerfile index cd693b0..1c7aec6 100644 --- a/docker/sofabuilder_fedora/Dockerfile +++ b/docker/sofabuilder_fedora/Dockerfile @@ -44,6 +44,8 @@ RUN yum install -y -q \ RUN yum install -y -q \ python2.7 \ python3.10 \ + python3.11 \ + python3.12 \ libpng-devel libjpeg-turbo-devel libtiff-devel \ blas-devel \ lapack-devel \ @@ -51,7 +53,8 @@ RUN yum install -y -q \ ffmpeg-devel \ assimp-devel \ opencascade-devel \ - libXrandr-devel + libXrandr-devel \ + tinyxml2-devel # Install pip, numpy, scipy, pybind11 ARG PYBIND11_VERSION=2.9.1 @@ -62,6 +65,12 @@ ARG PYBIND11_VERSION=2.9.1 #RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py #RUN python3.10 /tmp/get-pip3.py RUN python3.10 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION +RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ + && python3.11 /tmp/get-pip3.py \ + && python3.11 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION +RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ + && python3.12 /tmp/get-pip3.py \ + && python3.12 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION ENV PYTHONPATH="" ENV VM_HAS_ASSIMP="true" ENV VM_HAS_OPENCASCADE="true" @@ -109,6 +118,14 @@ RUN tar -xJf /tmp/CGAL.tar.xz --directory /tmp \ ENV VM_HAS_CGAL="true" ENV VM_CGAL_PATH="/usr/local/lib64/cmake/CGAL" + +# Install METIS +RUN git clone https://github.com/bakpaul/METIS.git \ + && cd METIS \ + && git checkout v5.1.1-ModernInstall \ + && cd .. && mkdir build && cd build \ + && cmake ../METIS \ + && make --silent install -j 5 ################################### # Disable core dumps diff --git a/docker/sofabuilder_ubuntu/Dockerfile b/docker/sofabuilder_ubuntu/Dockerfile index 69d8723..bd165ed 100644 --- a/docker/sofabuilder_ubuntu/Dockerfile +++ b/docker/sofabuilder_ubuntu/Dockerfile @@ -46,9 +46,12 @@ RUN apt-get install -y \ libeigen3-dev=3.4.\* # Install plugins deps +ENV DEBIAN_FRONTEND noninteractive RUN apt-get install -y \ python2.7-dev \ python3.10-dev python3.10-distutils \ + python3.11-dev python3.11-distutils \ + python3.12-dev python3.12-distutils \ libpng-dev libjpeg-dev libtiff-dev \ libblas-dev \ liblapack-dev \ @@ -57,7 +60,8 @@ RUN apt-get install -y \ libassimp-dev \ liboce-ocaf-dev \ libzmq3-dev liboscpack-dev \ - libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev + libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev \ + libtinyxml2-dev # Install pip, numpy, scipy, pybind11 ARG PYBIND11_VERSION=2.9.1 @@ -69,6 +73,14 @@ RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ && python3.10 /tmp/get-pip3.py \ && python3.10 -m pip install --upgrade pip \ && python3.10 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION +RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ + && python3.11 /tmp/get-pip3.py \ + && python3.11 -m pip install --upgrade pip \ + && python3.11 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION +RUN curl -L https://bootstrap.pypa.io/pip/get-pip.py --output /tmp/get-pip3.py \ + && python3.12 /tmp/get-pip3.py \ + && python3.12 -m pip install --upgrade pip \ + && python3.12 -m pip install numpy scipy matplotlib pybind11==$PYBIND11_VERSION ENV VM_HAS_ASSIMP="true" ENV VM_HAS_OPENCASCADE="true" @@ -107,6 +119,15 @@ RUN tar -xJf /tmp/CGAL.tar.xz --directory /tmp \ ENV VM_HAS_CGAL="true" ENV VM_CGAL_PATH="/usr/local/lib/cmake/CGAL" + +# Install METIS +RUN git clone https://github.com/bakpaul/METIS.git \ + && cd METIS \ + && git checkout v5.1.1-ModernInstall \ + && cd .. && mkdir build && cd build \ + && cmake ../METIS \ + && make --silent install -j 5 + # Install CUDA ENV DEBIAN_FRONTEND noninteractive RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-0 b/scripts/env/sofa-ci-dev-ubuntu2004-0 index c8b7c15..1971331 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-0 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-0 @@ -36,7 +36,7 @@ if [ ! -f /.dockerenv ]; then # not in Docker export VM_CUDA_ARCH="sm_50" - export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" +# export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" # Load Qt environment if [ -e "/opt/qt512/bin/qt512-env.sh" ]; then diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-1 b/scripts/env/sofa-ci-dev-ubuntu2004-1 index a54f35e..7a8e79b 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-1 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-1 @@ -35,7 +35,7 @@ if [ ! -f /.dockerenv ]; then # not in Docker export VM_CUDA_ARCH="sm_50" - export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" +# export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" # Load Qt environment if [ -e "/opt/qt512/bin/qt512-env.sh" ]; then diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-2 b/scripts/env/sofa-ci-dev-ubuntu2004-2 index 2e25767..b6265eb 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-2 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-2 @@ -35,7 +35,7 @@ if [ ! -f /.dockerenv ]; then # not in Docker export VM_CUDA_ARCH="sm_50" - export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" +# export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" # Load Qt environment if [ -e "/opt/qt512/bin/qt512-env.sh" ]; then diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-3 b/scripts/env/sofa-ci-dev-ubuntu2004-3 index 0f34ca0..b156bc6 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-3 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-3 @@ -35,7 +35,7 @@ if [ ! -f /.dockerenv ]; then # not in Docker export VM_CUDA_ARCH="sm_50" - export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" +# export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" # Load Qt environment if [ -e "/opt/qt512/bin/qt512-env.sh" ]; then diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-4 b/scripts/env/sofa-ci-dev-ubuntu2004-4 index b067b33..5366cf8 100644 --- a/scripts/env/sofa-ci-dev-ubuntu2004-4 +++ b/scripts/env/sofa-ci-dev-ubuntu2004-4 @@ -35,7 +35,7 @@ if [ ! -f /.dockerenv ]; then # not in Docker export VM_CUDA_ARCH="sm_50" - export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" +# export VM_CUDA_HOST_COMPILER="/usr/bin/gcc-6" # Load Qt environment if [ -e "/opt/qt512/bin/qt512-env.sh" ]; then From f8144a33ca2e16b7e1ad154f298f37c212bfa34f Mon Sep 17 00:00:00 2001 From: bakpaul Date: Tue, 2 Jan 2024 15:08:43 +0100 Subject: [PATCH 11/13] up --- .../env/{sofa-ci-dev-ubuntu2004-0 => sofa-ci-dev-ubuntu2204-0} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/env/{sofa-ci-dev-ubuntu2004-0 => sofa-ci-dev-ubuntu2204-0} (100%) diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-0 b/scripts/env/sofa-ci-dev-ubuntu2204-0 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2004-0 rename to scripts/env/sofa-ci-dev-ubuntu2204-0 From 61aced0171141baabe999bb2a81d9667ef6c411c Mon Sep 17 00:00:00 2001 From: bakpaul Date: Tue, 2 Jan 2024 17:34:17 +0100 Subject: [PATCH 12/13] Changed configuration file name to match builder names --- .../env/{sofa-ci-dev-ubuntu2004-1 => sofa-ci-dev-ubuntu2202-1} | 0 .../env/{sofa-ci-dev-ubuntu2004-2 => sofa-ci-dev-ubuntu2202-2} | 0 .../env/{sofa-ci-dev-ubuntu2004-3 => sofa-ci-dev-ubuntu2202-3} | 0 .../env/{sofa-ci-dev-ubuntu2004-4 => sofa-ci-dev-ubuntu2202-4} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename scripts/env/{sofa-ci-dev-ubuntu2004-1 => sofa-ci-dev-ubuntu2202-1} (100%) rename scripts/env/{sofa-ci-dev-ubuntu2004-2 => sofa-ci-dev-ubuntu2202-2} (100%) rename scripts/env/{sofa-ci-dev-ubuntu2004-3 => sofa-ci-dev-ubuntu2202-3} (100%) rename scripts/env/{sofa-ci-dev-ubuntu2004-4 => sofa-ci-dev-ubuntu2202-4} (100%) diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-1 b/scripts/env/sofa-ci-dev-ubuntu2202-1 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2004-1 rename to scripts/env/sofa-ci-dev-ubuntu2202-1 diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-2 b/scripts/env/sofa-ci-dev-ubuntu2202-2 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2004-2 rename to scripts/env/sofa-ci-dev-ubuntu2202-2 diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-3 b/scripts/env/sofa-ci-dev-ubuntu2202-3 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2004-3 rename to scripts/env/sofa-ci-dev-ubuntu2202-3 diff --git a/scripts/env/sofa-ci-dev-ubuntu2004-4 b/scripts/env/sofa-ci-dev-ubuntu2202-4 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2004-4 rename to scripts/env/sofa-ci-dev-ubuntu2202-4 From 238eb0a1036653f6eb65cb6a329aa4d58866190f Mon Sep 17 00:00:00 2001 From: bakpaul Date: Wed, 3 Jan 2024 15:56:20 +0100 Subject: [PATCH 13/13] fix names --- .../env/{sofa-ci-dev-ubuntu2202-1 => sofa-ci-dev-ubuntu2204-1} | 0 .../env/{sofa-ci-dev-ubuntu2202-2 => sofa-ci-dev-ubuntu2204-2} | 0 .../env/{sofa-ci-dev-ubuntu2202-3 => sofa-ci-dev-ubuntu2204-3} | 0 .../env/{sofa-ci-dev-ubuntu2202-4 => sofa-ci-dev-ubuntu2204-4} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename scripts/env/{sofa-ci-dev-ubuntu2202-1 => sofa-ci-dev-ubuntu2204-1} (100%) rename scripts/env/{sofa-ci-dev-ubuntu2202-2 => sofa-ci-dev-ubuntu2204-2} (100%) rename scripts/env/{sofa-ci-dev-ubuntu2202-3 => sofa-ci-dev-ubuntu2204-3} (100%) rename scripts/env/{sofa-ci-dev-ubuntu2202-4 => sofa-ci-dev-ubuntu2204-4} (100%) diff --git a/scripts/env/sofa-ci-dev-ubuntu2202-1 b/scripts/env/sofa-ci-dev-ubuntu2204-1 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2202-1 rename to scripts/env/sofa-ci-dev-ubuntu2204-1 diff --git a/scripts/env/sofa-ci-dev-ubuntu2202-2 b/scripts/env/sofa-ci-dev-ubuntu2204-2 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2202-2 rename to scripts/env/sofa-ci-dev-ubuntu2204-2 diff --git a/scripts/env/sofa-ci-dev-ubuntu2202-3 b/scripts/env/sofa-ci-dev-ubuntu2204-3 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2202-3 rename to scripts/env/sofa-ci-dev-ubuntu2204-3 diff --git a/scripts/env/sofa-ci-dev-ubuntu2202-4 b/scripts/env/sofa-ci-dev-ubuntu2204-4 similarity index 100% rename from scripts/env/sofa-ci-dev-ubuntu2202-4 rename to scripts/env/sofa-ci-dev-ubuntu2204-4