From f33b8b4f6450f3ac71bdd404004084a49789bbd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20de=20Chalendar?= Date: Thu, 9 May 2024 19:40:40 +0200 Subject: [PATCH] Install resources for unit test in all CI --- continuous_integration/Dockerfile-debian12 | 8 +++++++- ...ckerfile-manylinux_2_28_with_qt6_lima-manylinux | 14 +++++--------- continuous_integration/Dockerfile-ubuntu22.04 | 8 +++++++- continuous_integration/Dockerfile-ubuntu22.04-fia | 7 ++++++- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/continuous_integration/Dockerfile-debian12 b/continuous_integration/Dockerfile-debian12 index f08f6df19..ac0c75293 100644 --- a/continuous_integration/Dockerfile-debian12 +++ b/continuous_integration/Dockerfile-debian12 @@ -72,7 +72,13 @@ ENV QT_VERSION_MAJOR="${QT_VERSION_MAJOR}" # Build # RUN cmake -G Ninja -DLIMA_RESOURCES:STRING=build -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:STRING=Release -DLIMA_VERSION_RELEASE:STRING="$(cat /src/lima/release)" -DSHORTEN_POR_CORPUS_FOR_SVMLEARN:BOOL=ON -DCTEST_OUTPUT_ON_FAILURE=ON -DTF_SOURCES_PATH:PATH="/usr" -DWITH_DEBUG_MESSAGES=ON -DWITH_ARCH=OFF -DWITH_ASAN=OFF -DWITH_GUI=ON -DCMAKE_PREFIX_PATH=$LIBTORCH_PATH -DQT_VERSION_MAJOR=${QT_VERSION_MAJOR} .. -RUN ninja && ninja install && ninja test && ninja package +RUN ninja && ninja install +# Some models are necessary for unit tests to work, let's use a previous +# version of lima-python to install them, then run tests and finally remove +# old aymara/lima and downloaded models +RUN wget -q https://github.com/aymara/lima-python/releases/download/continuous/aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && pip install ./aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && lima_models -i eng && && deeplima_models -i UD_English-EWT && pip uninstall -y aymara && (ctest || ctest --rerun-failed --output-on-failure) && rm -Rf $HOME/.local/share/lima + +RUN ninja package RUN install -D -t /usr/share/apps/lima/packages /src/lima/build/*.deb # WORKDIR /usr/share/apps/lima/tests diff --git a/continuous_integration/Dockerfile-manylinux_2_28_with_qt6_lima-manylinux b/continuous_integration/Dockerfile-manylinux_2_28_with_qt6_lima-manylinux index cd0ff8b3a..866c77954 100644 --- a/continuous_integration/Dockerfile-manylinux_2_28_with_qt6_lima-manylinux +++ b/continuous_integration/Dockerfile-manylinux_2_28_with_qt6_lima-manylinux @@ -88,14 +88,6 @@ ENV NLTK_PTB_DP_FILE=/nltk_data/corpora/dependency_treebank/nltk-ptb.dp \ Qt_INSTALL_DIR=/opt/qt6 \ BOOST_ROOT=/opt/boost -# Some models are necessary for unit tests to work, let's use a previous -# version of lima-python to install them -RUN wget -q https://github.com/aymara/lima-python/releases/download/continuous/aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl -RUN pip install ./aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl -RUN lima_models -i eng -RUN deeplima_models -i UD_English-EWT -RUN pip uninstall -y aymara - # Build # # -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo @@ -115,7 +107,11 @@ RUN cmake -G Ninja \ -DWITH_ASAN=OFF \ -DWITH_GUI=ON .. RUN ninja && ninja install -RUN ctest || ctest --rerun-failed --output-on-failure + +# Some models are necessary for unit tests to work, let's use a previous +# version of lima-python to install them, then run tests and finally remove +# old aymara/lima and downloaded models +RUN wget -q https://github.com/aymara/lima-python/releases/download/continuous/aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && pip install ./aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && lima_models -i eng && && deeplima_models -i UD_English-EWT && pip uninstall -y aymara && (ctest || ctest --rerun-failed --output-on-failure) && rm -Rf $HOME/.local/share/lima #WORKDIR /opt/lima/share/apps/lima/tests #RUN /bin/bash -c "set -o pipefail && tva --language=eng test-eng.*.xml 2>&1 | tee tva-eng.log" diff --git a/continuous_integration/Dockerfile-ubuntu22.04 b/continuous_integration/Dockerfile-ubuntu22.04 index c055a38fa..b53898732 100644 --- a/continuous_integration/Dockerfile-ubuntu22.04 +++ b/continuous_integration/Dockerfile-ubuntu22.04 @@ -88,7 +88,13 @@ ENV CXXFLAGS=$CXXFLAGS RUN cmake -G Ninja -DWITH_LIMA_RESOURCES:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:STRING=Release -DLIMA_VERSION_RELEASE:STRING="$(cat /src/lima/release)" -DSHORTEN_POR_CORPUS_FOR_SVMLEARN:BOOL=ON -DCTEST_OUTPUT_ON_FAILURE=ON -DTF_SOURCES_PATH:PATH="/usr" -DTORCH_CUDA_ARCH_LIST=6.1 -DCMAKE_PREFIX_PATH=/src/lima/extern/libtorch -DWITH_DEBUG_MESSAGES=ON -DWITH_ARCH=OFF -DWITH_ASAN=OFF -DWITH_GUI=ON .. -RUN ninja && ninja install && ninja test +RUN ninja && ninja install + +# Some models are necessary for unit tests to work, let's use a previous +# version of lima-python to install them, then run tests and finally remove +# old aymara/lima and downloaded models +RUN wget -q https://github.com/aymara/lima-python/releases/download/continuous/aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && pip install ./aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && lima_models -i eng && && deeplima_models -i UD_English-EWT && pip uninstall -y aymara && (ctest || ctest --rerun-failed --output-on-failure) && rm -Rf $HOME/.local/share/lima + RUN bash -c 'if [[ "$PACKAGES" == "yes" ]] ; then ninja package && install -D -t /usr/share/apps/lima/packages /src/lima/build/*.deb ; fi' # WORKDIR /usr/share/apps/lima/tests diff --git a/continuous_integration/Dockerfile-ubuntu22.04-fia b/continuous_integration/Dockerfile-ubuntu22.04-fia index ce4b91121..3943a5e75 100644 --- a/continuous_integration/Dockerfile-ubuntu22.04-fia +++ b/continuous_integration/Dockerfile-ubuntu22.04-fia @@ -92,4 +92,9 @@ ENV CUDA_HOME=/usr/local/cuda \ # RUN cmake -G Ninja -DWITH_LIMA_RESOURCES:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:STRING=Release -DLIMA_VERSION_RELEASE:STRING="$(cat /src/lima/release)" -DSHORTEN_POR_CORPUS_FOR_SVMLEARN:BOOL=ON -DCTEST_OUTPUT_ON_FAILURE=ON -DTF_SOURCES_PATH:PATH="/usr" -DTORCH_CUDA_ARCH_LIST=6.1 -DCMAKE_PREFIX_PATH=/src/lima/extern/libtorch -DWITH_DEBUG_MESSAGES=ON -DWITH_ARCH=OFF -DWITH_ASAN=OFF -DWITH_GUI=OFF -DCMAKE_CUDA_COMPILER:PATH=/usr/local/cuda/bin/nvcc .. -RUN ninja && ninja install && ninja test +RUN ninja && ninja install + +# Some models are necessary for unit tests to work, let's use a previous +# version of lima-python to install them, then run tests and finally remove +# old aymara/lima and downloaded models +RUN wget -q https://github.com/aymara/lima-python/releases/download/continuous/aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && pip install ./aymara-0.5.0b6-cp37-abi3-manylinux_2_28_x86_64.whl && lima_models -i eng && && deeplima_models -i UD_English-EWT && pip uninstall -y aymara && (ctest || ctest --rerun-failed --output-on-failure) && rm -Rf $HOME/.local/share/lima