Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
offline build review changes
Signed-off-by: Tommy Hughes <tohughes@redhat.com>
  • Loading branch information
tchughesiv committed Apr 2, 2025
commit 3e333938e7608b36075ef0df037b044b958cef73
7 changes: 5 additions & 2 deletions infra/scripts/offline-build.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# to run -> source ./infra/scripts/offline-build.sh
# on the build host... requires docker/podman, git, wget

APACHE_ARROW_VERSION="17.0.0"
SUBSTRAIT_VERSION="0.44.0"

# Get Feast project repository root directory
PROJECT_ROOT_DIR=$(git rev-parse --show-toplevel)
OFFLINE_BUILD_DIR=${PROJECT_ROOT_DIR}/offline_build
Expand All @@ -15,9 +18,9 @@ docker build \
-f sdk/python/feast/infra/feature_servers/multicloud/offline/Dockerfile.builder.yum \
--load sdk/python/feast/infra/feature_servers/multicloud/offline

git clone --branch apache-arrow-17.0.0 https://github.com/apache/arrow ${OFFLINE_BUILD_DIR}/arrow
git clone --branch apache-arrow-${APACHE_ARROW_VERSION} https://github.com/apache/arrow ${OFFLINE_BUILD_DIR}/arrow
${OFFLINE_BUILD_DIR}/arrow/cpp/thirdparty/download_dependencies.sh ${OFFLINE_BUILD_DIR}/arrow/cpp/arrow-thirdparty
wget https://github.com/substrait-io/substrait/archive/v0.44.0.tar.gz -O ${OFFLINE_BUILD_DIR}/arrow/cpp/arrow-thirdparty/substrait-0.44.0.tar.gz
wget https://github.com/substrait-io/substrait/archive/v${SUBSTRAIT_VERSION}.tar.gz -O ${OFFLINE_BUILD_DIR}/arrow/cpp/arrow-thirdparty/substrait-${SUBSTRAIT_VERSION}.tar.gz

alias cachi2='docker run --rm -ti -v "$PWD:$PWD:z" -w "$PWD" quay.io/konflux-ci/cachi2:f7a61b067f4446e4982d0e3b9545ce4aa0d8284f'
cachi2 fetch-deps \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,59 @@ RUN mkdir ${APP_ROOT}/arrow-dist ${APP_ROOT}/src/arrow-build
ENV ARROW_HOME=${APP_ROOT}/arrow-dist
ENV LD_LIBRARY_PATH=${ARROW_HOME}/lib:$LD_LIBRARY_PATH
ENV CMAKE_PREFIX_PATH=${ARROW_HOME}:$CMAKE_PREFIX_PATH
ENV THIRD_PARTY_PATH=/tmp/arrow/cpp/arrow-thirdparty

COPY --chown=default cpp/cmake_modules ${APP_ROOT}/src/arrow/cpp/cmake_modules
COPY --chown=default python ${APP_ROOT}/src/arrow/python

# configured for Arrow version 17.0.0
RUN export \
# Environment variables for an offline Arrow build
ARROW_ABSL_URL="/tmp/arrow/cpp/arrow-thirdparty/absl-20211102.0.tar.gz" \
ARROW_AWS_C_AUTH_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-auth-v0.6.22.tar.gz" \
ARROW_AWS_C_CAL_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-cal-v0.5.20.tar.gz" \
ARROW_AWS_C_COMMON_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-common-v0.8.9.tar.gz" \
ARROW_AWS_C_COMPRESSION_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-compression-v0.2.16.tar.gz" \
ARROW_AWS_C_EVENT_STREAM_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-event-stream-v0.2.18.tar.gz" \
ARROW_AWS_C_HTTP_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-http-v0.7.3.tar.gz" \
ARROW_AWS_C_IO_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-io-v0.13.14.tar.gz" \
ARROW_AWS_C_MQTT_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-mqtt-v0.8.4.tar.gz" \
ARROW_AWS_C_S3_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-s3-v0.2.3.tar.gz" \
ARROW_AWS_C_SDKUTILS_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-c-sdkutils-v0.1.6.tar.gz" \
ARROW_AWS_CHECKSUMS_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-checksums-v0.1.13.tar.gz" \
ARROW_AWS_CRT_CPP_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-crt-cpp-v0.18.16.tar.gz" \
ARROW_AWS_LC_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-lc-v1.3.0.tar.gz" \
ARROW_AWSSDK_URL="/tmp/arrow/cpp/arrow-thirdparty/aws-sdk-cpp-1.10.55.tar.gz" \
ARROW_BOOST_URL="/tmp/arrow/cpp/arrow-thirdparty/boost-1.81.0.tar.gz" \
ARROW_BROTLI_URL="/tmp/arrow/cpp/arrow-thirdparty/brotli-v1.0.9.tar.gz" \
ARROW_BZIP2_URL="/tmp/arrow/cpp/arrow-thirdparty/bzip2-1.0.8.tar.gz" \
ARROW_CARES_URL="/tmp/arrow/cpp/arrow-thirdparty/cares-1.17.2.tar.gz" \
ARROW_CRC32C_URL="/tmp/arrow/cpp/arrow-thirdparty/crc32c-1.1.2.tar.gz" \
ARROW_GBENCHMARK_URL="/tmp/arrow/cpp/arrow-thirdparty/gbenchmark-v1.8.3.tar.gz" \
ARROW_GFLAGS_URL="/tmp/arrow/cpp/arrow-thirdparty/gflags-v2.2.2.tar.gz" \
ARROW_GLOG_URL="/tmp/arrow/cpp/arrow-thirdparty/glog-v0.5.0.tar.gz" \
ARROW_GOOGLE_CLOUD_CPP_URL="/tmp/arrow/cpp/arrow-thirdparty/google-cloud-cpp-v2.22.0.tar.gz" \
ARROW_GRPC_URL="/tmp/arrow/cpp/arrow-thirdparty/grpc-v1.46.3.tar.gz" \
ARROW_GTEST_URL="/tmp/arrow/cpp/arrow-thirdparty/gtest-1.11.0.tar.gz" \
ARROW_JEMALLOC_URL="/tmp/arrow/cpp/arrow-thirdparty/jemalloc-5.3.0.tar.bz2" \
ARROW_LZ4_URL="/tmp/arrow/cpp/arrow-thirdparty/lz4-v1.9.4.tar.gz" \
ARROW_MIMALLOC_URL="/tmp/arrow/cpp/arrow-thirdparty/mimalloc-v2.0.6.tar.gz" \
ARROW_NLOHMANN_JSON_URL="/tmp/arrow/cpp/arrow-thirdparty/nlohmann-json-v3.10.5.tar.gz" \
ARROW_OPENTELEMETRY_URL="/tmp/arrow/cpp/arrow-thirdparty/opentelemetry-cpp-v1.13.0.tar.gz" \
ARROW_OPENTELEMETRY_PROTO_URL="/tmp/arrow/cpp/arrow-thirdparty/opentelemetry-proto-v0.17.0.tar.gz" \
ARROW_ORC_URL="/tmp/arrow/cpp/arrow-thirdparty/orc-2.0.1.tar.gz" \
ARROW_PROTOBUF_URL="/tmp/arrow/cpp/arrow-thirdparty/protobuf-v21.3.tar.gz" \
ARROW_RAPIDJSON_URL="/tmp/arrow/cpp/arrow-thirdparty/rapidjson-232389d4f1012dddec4ef84861face2d2ba85709.tar.gz" \
ARROW_RE2_URL="/tmp/arrow/cpp/arrow-thirdparty/re2-2022-06-01.tar.gz" \
ARROW_S2N_TLS_URL="/tmp/arrow/cpp/arrow-thirdparty/s2n-v1.3.35.tar.gz" \
ARROW_SUBSTRAIT_URL="/tmp/arrow/cpp/arrow-thirdparty/substrait-0.44.0.tar.gz" \
ARROW_SNAPPY_URL="/tmp/arrow/cpp/arrow-thirdparty/snappy-1.1.10.tar.gz" \
ARROW_THRIFT_URL="/tmp/arrow/cpp/arrow-thirdparty/thrift-0.16.0.tar.gz" \
ARROW_UCX_URL="/tmp/arrow/cpp/arrow-thirdparty/ucx-1.12.1.tar.gz" \
ARROW_UTF8PROC_URL="/tmp/arrow/cpp/arrow-thirdparty/utf8proc-v2.7.0.tar.gz" \
ARROW_XSIMD_URL="/tmp/arrow/cpp/arrow-thirdparty/xsimd-13.0.0.tar.gz" \
ARROW_ZLIB_URL="/tmp/arrow/cpp/arrow-thirdparty/zlib-1.3.1.tar.gz" \
ARROW_ZSTD_URL="/tmp/arrow/cpp/arrow-thirdparty/zstd-1.5.6.tar.gz" \
ARROW_ABSL_URL="${THIRD_PARTY_PATH}/absl-20211102.0.tar.gz" \
ARROW_AWS_C_AUTH_URL="${THIRD_PARTY_PATH}/aws-c-auth-v0.6.22.tar.gz" \
ARROW_AWS_C_CAL_URL="${THIRD_PARTY_PATH}/aws-c-cal-v0.5.20.tar.gz" \
ARROW_AWS_C_COMMON_URL="${THIRD_PARTY_PATH}/aws-c-common-v0.8.9.tar.gz" \
ARROW_AWS_C_COMPRESSION_URL="${THIRD_PARTY_PATH}/aws-c-compression-v0.2.16.tar.gz" \
ARROW_AWS_C_EVENT_STREAM_URL="${THIRD_PARTY_PATH}/aws-c-event-stream-v0.2.18.tar.gz" \
ARROW_AWS_C_HTTP_URL="${THIRD_PARTY_PATH}/aws-c-http-v0.7.3.tar.gz" \
ARROW_AWS_C_IO_URL="${THIRD_PARTY_PATH}/aws-c-io-v0.13.14.tar.gz" \
ARROW_AWS_C_MQTT_URL="${THIRD_PARTY_PATH}/aws-c-mqtt-v0.8.4.tar.gz" \
ARROW_AWS_C_S3_URL="${THIRD_PARTY_PATH}/aws-c-s3-v0.2.3.tar.gz" \
ARROW_AWS_C_SDKUTILS_URL="${THIRD_PARTY_PATH}/aws-c-sdkutils-v0.1.6.tar.gz" \
ARROW_AWS_CHECKSUMS_URL="${THIRD_PARTY_PATH}/aws-checksums-v0.1.13.tar.gz" \
ARROW_AWS_CRT_CPP_URL="${THIRD_PARTY_PATH}/aws-crt-cpp-v0.18.16.tar.gz" \
ARROW_AWS_LC_URL="${THIRD_PARTY_PATH}/aws-lc-v1.3.0.tar.gz" \
ARROW_AWSSDK_URL="${THIRD_PARTY_PATH}/aws-sdk-cpp-1.10.55.tar.gz" \
ARROW_BOOST_URL="${THIRD_PARTY_PATH}/boost-1.81.0.tar.gz" \
ARROW_BROTLI_URL="${THIRD_PARTY_PATH}/brotli-v1.0.9.tar.gz" \
ARROW_BZIP2_URL="${THIRD_PARTY_PATH}/bzip2-1.0.8.tar.gz" \
ARROW_CARES_URL="${THIRD_PARTY_PATH}/cares-1.17.2.tar.gz" \
ARROW_CRC32C_URL="${THIRD_PARTY_PATH}/crc32c-1.1.2.tar.gz" \
ARROW_GBENCHMARK_URL="${THIRD_PARTY_PATH}/gbenchmark-v1.8.3.tar.gz" \
ARROW_GFLAGS_URL="${THIRD_PARTY_PATH}/gflags-v2.2.2.tar.gz" \
ARROW_GLOG_URL="${THIRD_PARTY_PATH}/glog-v0.5.0.tar.gz" \
ARROW_GOOGLE_CLOUD_CPP_URL="${THIRD_PARTY_PATH}/google-cloud-cpp-v2.22.0.tar.gz" \
ARROW_GRPC_URL="${THIRD_PARTY_PATH}/grpc-v1.46.3.tar.gz" \
ARROW_GTEST_URL="${THIRD_PARTY_PATH}/gtest-1.11.0.tar.gz" \
ARROW_JEMALLOC_URL="${THIRD_PARTY_PATH}/jemalloc-5.3.0.tar.bz2" \
ARROW_LZ4_URL="${THIRD_PARTY_PATH}/lz4-v1.9.4.tar.gz" \
ARROW_MIMALLOC_URL="${THIRD_PARTY_PATH}/mimalloc-v2.0.6.tar.gz" \
ARROW_NLOHMANN_JSON_URL="${THIRD_PARTY_PATH}/nlohmann-json-v3.10.5.tar.gz" \
ARROW_OPENTELEMETRY_URL="${THIRD_PARTY_PATH}/opentelemetry-cpp-v1.13.0.tar.gz" \
ARROW_OPENTELEMETRY_PROTO_URL="${THIRD_PARTY_PATH}/opentelemetry-proto-v0.17.0.tar.gz" \
ARROW_ORC_URL="${THIRD_PARTY_PATH}/orc-2.0.1.tar.gz" \
ARROW_PROTOBUF_URL="${THIRD_PARTY_PATH}/protobuf-v21.3.tar.gz" \
ARROW_RAPIDJSON_URL="${THIRD_PARTY_PATH}/rapidjson-232389d4f1012dddec4ef84861face2d2ba85709.tar.gz" \
ARROW_RE2_URL="${THIRD_PARTY_PATH}/re2-2022-06-01.tar.gz" \
ARROW_S2N_TLS_URL="${THIRD_PARTY_PATH}/s2n-v1.3.35.tar.gz" \
ARROW_SUBSTRAIT_URL="${THIRD_PARTY_PATH}/substrait-0.44.0.tar.gz" \
ARROW_SNAPPY_URL="${THIRD_PARTY_PATH}/snappy-1.1.10.tar.gz" \
ARROW_THRIFT_URL="${THIRD_PARTY_PATH}/thrift-0.16.0.tar.gz" \
ARROW_UCX_URL="${THIRD_PARTY_PATH}/ucx-1.12.1.tar.gz" \
ARROW_UTF8PROC_URL="${THIRD_PARTY_PATH}/utf8proc-v2.7.0.tar.gz" \
ARROW_XSIMD_URL="${THIRD_PARTY_PATH}/xsimd-13.0.0.tar.gz" \
ARROW_ZLIB_URL="${THIRD_PARTY_PATH}/zlib-1.3.1.tar.gz" \
ARROW_ZSTD_URL="${THIRD_PARTY_PATH}/zstd-1.5.6.tar.gz" \
&& \
cmake \
-DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
Expand Down Expand Up @@ -122,8 +123,7 @@ RUN source /tmp/cachi2.env && \
tqdm \
yarl

RUN pip list

RUN python -c "import pyarrow; print(pyarrow.__version__)"
RUN python -c "import pyarrow.lib as _lib; print(_lib.__name__)"
RUN python -c "import pyarrow.parquet as parquet; print(parquet.__name__)"
RUN python -c "import pyarrow.dataset as dataset; print(dataset.__name__)"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
FROM arrow-builder:latest

RUN pip list

# we'll need to pip install anything that tries to build maturin from source
RUN pip install \
# feast deps
Expand All @@ -17,7 +15,5 @@ RUN pip install \
# milvus dep
milvus-lite==2.4.12

RUN pip list

# ibis-framework must build from its own git repo... versioning requirement
RUN git clone -b 9.5.0 https://github.com/ibis-project/ibis ${APP_ROOT}/src/ibis
Loading