From 8543efe7a6d89ec41ced8ebf6b894cd36f99cfc5 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Mon, 17 Jun 2024 13:18:09 -0700 Subject: [PATCH] Remove turbodbc build (#98) This is removing turbodbc, as we are not able to get the latest version to build (see #97). This effects our ability to test the latest version of numpy. See #71 for related concerns generally about option dependencies and the restrictions they place on server-base. --- contexts/server-base/Dockerfile | 3 +- contexts/server-base/requirements.txt | 4 --- contexts/turbodbc-wheel/Dockerfile | 39 ------------------------ contexts/turbodbc-wheel/requirements.txt | 14 --------- server-base.hcl | 16 ---------- 5 files changed, 1 insertion(+), 75 deletions(-) delete mode 100644 contexts/turbodbc-wheel/Dockerfile delete mode 100644 contexts/turbodbc-wheel/requirements.txt diff --git a/contexts/server-base/Dockerfile b/contexts/server-base/Dockerfile index 9de4fec..f1a3246 100644 --- a/contexts/server-base/Dockerfile +++ b/contexts/server-base/Dockerfile @@ -71,7 +71,7 @@ ARG TARGETARCH ARG UBUNTU_VERSION # curl is necessary for some kafka integration testing -# unixodbc, odbc-postgresql for postgres / turbodbc integration testing +# unixodbc, odbc-postgresql for postgres integration testing RUN \ --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-${TARGETARCH}-${UBUNTU_VERSION} \ --mount=type=cache,target=/var/lib/apt,sharing=locked,id=apt-${TARGETARCH}-${UBUNTU_VERSION} \ @@ -87,7 +87,6 @@ ARG REQUIREMENTS_TYPE RUN \ --mount=type=bind,source=requirements.txt,target=requirements.txt \ --mount=type=bind,source=type/${REQUIREMENTS_TYPE}/requirements.txt,target=requirements-2.txt \ - --mount=type=bind,from=turbodbc-wheel,source=/wheels,target=/wheels \ --mount=type=cache,target=/root/.cache/pip,sharing=locked \ set -eux; \ mkdir -p /opt/deephaven; \ diff --git a/contexts/server-base/requirements.txt b/contexts/server-base/requirements.txt index 3beb3e1..d0aeff4 100644 --- a/contexts/server-base/requirements.txt +++ b/contexts/server-base/requirements.txt @@ -24,9 +24,5 @@ jedi==0.18.2 adbc-driver-manager adbc-driver-postgresql -# optional turbodbc feature -# We are adding the arrow/numpy extra requirements to make sure pip installs compatible versions -turbodbc[arrow,numpy]==4.8.0 - # optional connectorx feature for x86_64 arch only, no Linux/arm64 wheel yet connectorx; platform.machine == 'x86_64' diff --git a/contexts/turbodbc-wheel/Dockerfile b/contexts/turbodbc-wheel/Dockerfile deleted file mode 100644 index 2f376b0..0000000 --- a/contexts/turbodbc-wheel/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -# syntax=docker/dockerfile:1.4 - -ARG PYTHON_VERSION - -FROM python:${PYTHON_VERSION} as build -ARG DEBIAN_FRONTEND="noninteractive" -ARG TARGETARCH -RUN \ - --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-${TARGETARCH} \ - --mount=type=cache,target=/var/lib/apt,sharing=locked,id=apt-${TARGETARCH} \ - set -eux; \ - rm -f /etc/apt/apt.conf.d/docker-clean; \ - echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' | tee /etc/apt/apt.conf.d/keep-cache; \ - apt-get -qq update; \ - apt-get -qq -y --no-install-recommends install libboost-all-dev unixodbc-dev - -RUN \ - --mount=type=cache,target=/root/.cache/pip,sharing=locked \ - --mount=type=bind,source=requirements.txt,target=requirements.txt \ - set -eux; \ - pip install --only-binary=:all: -r requirements.txt - -# Ensure requirements.txt is updated whenever turbodbc version bumped -RUN \ - set -eux; \ - pip wheel --no-cache-dir -w /wheels-tmp turbodbc==4.8.0 - -RUN set -eux; \ - auditwheel \ - repair \ - --plat manylinux_2_35_$(uname -m) \ - --only-plat \ - --exclude libarrow_python.so \ - --exclude libarrow.so.1400 \ - --wheel-dir /wheels \ - /wheels-tmp/turbodbc* - -FROM scratch -COPY --link --from=build /wheels /wheels diff --git a/contexts/turbodbc-wheel/requirements.txt b/contexts/turbodbc-wheel/requirements.txt deleted file mode 100644 index 3030d70..0000000 --- a/contexts/turbodbc-wheel/requirements.txt +++ /dev/null @@ -1,14 +0,0 @@ -wheel -auditwheel>=6.0.0 -patchelf - -# The following requirements are copied from turbodbc/setup.py setup_requires - -# hack to ensure turbodbc builds numpy bindings -numpy>=1.20 - -pybind11>=2.10.4 - -# hack to ensure turbodbc builds pyarrow bindings -# Ensure this is compatible with the auditwheel --exclude -pyarrow==14.0.1 diff --git a/server-base.hcl b/server-base.hcl index 2f0a0c3..9b42a7f 100644 --- a/server-base.hcl +++ b/server-base.hcl @@ -137,9 +137,6 @@ target "server-base-tensorflow" { target "server-base-context" { context = "contexts/server-base/" - contexts = { - turbodbc-wheel = "target:turbodbc-wheel" - } args = { OPENJDK_VERSION = OPENJDK_VERSION PYTHON_VERSION = PYTHON_VERSION @@ -162,16 +159,3 @@ target "server-base-context" { } # ------------------------------------- - -target "turbodbc-wheel" { - context = "contexts/turbodbc-wheel/" - args = { - PYTHON_VERSION = PYTHON_VERSION - } - platforms = [ - MULTI_ARCH || RELEASE ? "linux/amd64" : "", - MULTI_ARCH || RELEASE ? "linux/arm64" : "", - ] -} - -# -------------------------------------