| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- FROM ubuntu:jammy
- ENV DEBIAN_FRONTEND noninteractive
- ENV DISTR jammy
- RUN apt-get -y update && apt-get install -y wget
- RUN wget https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb && \
- dpkg -i manticore-dev-repo.noarch.deb && \
- apt-get update && apt-get install -y \
- manticore-tzdata \
- manticore-language-packs \
- libmysqlclient-dev \
- libexpat-dev \
- libpq-dev \
- unixodbc-dev \
- flex \
- bison \
- git \
- build-essential \
- libjemalloc-dev \
- libssl-dev \
- ca-certificates \
- ninja-build \
- lsb-release \
- software-properties-common \
- php \
- php-mysql \
- php-curl \
- php-xml \
- php-dompdf \
- python3 \
- ssh \
- mysql-server \
- xsltproc \
- openssl \
- python3-dev
- RUN cd / && wget https://dl.min.io/client/mc/release/linux-amd64/mc \
- && chmod +x mc && \
- mv mc /usr/local/bin/ && \
- mc update || [ $? -eq 1 ]
- # boost
- ARG boostminorver=75
- # boost*tar.gz originates from https://boostorg.jfrog.io/artifactory/main/release/1.${boostminorver}.0/source/boost_1_${boostminorver}_0.tar.gz
- RUN wget https://repo.manticoresearch.com/repository/misc/boost_1_${boostminorver}_0.tar.gz \
- && tar -zxf boost_1_${boostminorver}_0.tar.gz && rm boost_1_${boostminorver}_0.tar.gz \
- && cd boost_1_${boostminorver}_0 \
- && ./bootstrap.sh \
- && ./b2 install --with-context --with-system --with-filesystem \
- && cd .. && rm -rf boost_1_${boostminorver}_0
- # cmake
- ARG cmakever="3.26.3"
- RUN cd / \
- && wget https://github.com/Kitware/CMake/releases/download/v${cmakever}/cmake-${cmakever}-linux-$(uname -m).tar.gz \
- && tar -zxf cmake-${cmakever}-linux-$(uname -m).tar.gz \
- && rm cmake-${cmakever}-linux-$(uname -m).tar.gz \
- && export arch=$(uname -m)
- ENV PATH $PATH:/cmake-${cmakever}-linux-x86_64/bin:/cmake-${cmakever}-linux-aarch64/bin
- # clang
- RUN wget https://apt.llvm.org/llvm.sh && \
- chmod +x llvm.sh && \
- ./llvm.sh 13
- ENV CC clang-13
- ENV CXX clang++-13
- # Ubertests settings file
- ARG TARGETPLATFORM
- RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCHITECTURE=aarch64; else ARCHITECTURE=x86-64bit; fi \
- && wget --no-check-certificate -q -O /odbc.tar.gz https://dev.mysql.com/get/Downloads/Connector-ODBC/8.3/mysql-connector-odbc-8.3.0-linux-glibc2.28-${ARCHITECTURE}.tar.gz \
- && tar -zxf /odbc.tar.gz \
- && rm /odbc.tar.gz \
- && mkdir -p /var/run/mysqld && chmod a+rwX /var/run/mysqld \
- && { mysqld & } && sleep 30 \
- && mysql -e 'CREATE DATABASE test; CREATE USER test@localhost; GRANT ALL PRIVILEGES ON test.* TO test@localhost;' \
- && mysqladmin shutdown \
- && <<EOF cat > /root/.sphinx
- (
- "db-host"=>"127.0.0.1",
- "db-user"=>"test",
- 'lemmatizer_base'=>'/work/aot',
- 'odbc_driver'=>'/mysql-connector-odbc-8.3.0-linux-glibc2.28-${ARCHITECTURE}/lib/libmyodbc8w.so;CHARSET=utf8'
- )
- EOF
- # ODBC notes:
- # * Urls for various odbc mysql driver versions:
- # - https://dev.mysql.com/get/Downloads/Connector-ODBC/8.3/mysql-connector-odbc-8.3.0-linux-glibc2.28-x86-64bit.tar.gz
- # - https://dev.mysql.com/get/Downloads/Connector-ODBC/8.3/mysql-connector-odbc-8.3.0-linux-glibc2.28-aarch64.tar.gz
- # - https://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit.tar.gz
- # * If test 228 fails with broken encoding - try to remove ';CHARSET=utf8' ending in the odbc_driver line above. M.b. better is to probe once on local instance before pushing to dockerhub
- # AOT
- RUN mkdir -p /work/aot && cd /work/aot && \
- wget https://repo.manticoresearch.com/repository/morphology/de.pak.tar.xz -q && \
- tar -Jxf de.pak.tar.xz && \
- wget https://repo.manticoresearch.com/repository/morphology/en.pak.tar.xz -q && \
- tar -Jxf en.pak.tar.xz && \
- wget https://repo.manticoresearch.com/repository/morphology/ru.pak.tar.xz -q && \
- tar -Jxf ru.pak.tar.xz && \
- rm *.tar.xz
- # Cleanup
- RUN rm -rf /var/lib/apt/lists/*
- RUN git config --global --add safe.directory '*'
- ADD entry_point.sh /
- VOLUME [ "/work" ]
- WORKDIR /work
- ENTRYPOINT ["bash", "/entry_point.sh"]
- CMD []
- # docker buildx create --name manticore_build --platform linux/amd64,linux/arm64
- # docker buildx use manticore_build
- # docker buildx build --no-cache --platform linux/amd64,linux/arm64 --push -t manticoresearch/ubertests_ctest:3263_20241005 .
- # deprecated:
- # docker build -t registry.gitlab.com/manticoresearch/dev/ubertests_ctest:3263 .
- # docker push registry.gitlab.com/manticoresearch/dev/ubertests_ctest:3263
|