blob: 7fffe6cd3db795e7a7fd7ca3aa1ee51ec5c26796 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM quay.io/centos/centos:stream9
ARG JAVA_VERSION=1.8.0
#ARG JAVA_VERSION=11
#ARG JAVA_VERSION=17
ENV JAVA_HOME=/usr/lib/jvm/java-${JAVA_VERSION}-openjdk
ENV PATH=$JAVA_HOME/bin:$PATH
ENV PATH=${PATH}:/usr/lib/maven/bin
RUN set -ex; \
yum update -y && yum install -y epel-release sudo dnf && yum install -y ccache; \
dnf install -y --setopt=install_weak_deps=False gcc-toolset-12; \
echo "check_certificate = off" >> ~/.wgetrc; \
yum install -y java-${JAVA_VERSION}-openjdk-devel patch wget git perl; \
maven_version=3.9.2; \
local_binary="apache-maven-${maven_version}-bin.tar.gz"; \
mirror_host="https://www.apache.org/dyn/closer.lua"; \
url="${mirror_host}/maven/maven-3/${maven_version}/binaries/${local_binary}?action=download"; \
wget -nv -O ${local_binary} ${url}; \
tar -xvf ${local_binary}; \
mv apache-maven-${maven_version} /usr/lib/maven; \
rm -rf ${local_binary}; \
wget -nv https://archive.apache.org/dist/celeborn/celeborn-0.4.3/apache-celeborn-0.4.3-bin.tgz -P /opt/; \
wget -nv https://archive.apache.org/dist/celeborn/celeborn-0.5.4/apache-celeborn-0.5.4-bin.tgz -P /opt/; \
wget -nv https://archive.apache.org/dist/celeborn/celeborn-0.6.1/apache-celeborn-0.6.1-bin.tgz -P /opt/; \
wget -nv https://archive.apache.org/dist/incubator/uniffle/0.9.2/apache-uniffle-0.9.2-incubating-bin.tar.gz -P /opt/; \
wget -nv https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz -P /opt/; \
git clone --depth=1 https://github.com/apache/incubator-gluten /opt/gluten; \
cd /opt/gluten/.github/workflows/util/; \
./install_spark_resources.sh 3.2; \
./install_spark_resources.sh 3.3; \
./install_spark_resources.sh 3.4; \
./install_spark_resources.sh 3.5; \
./install_spark_resources.sh 3.5-scala2.13; \
if [ "$(uname -m)" = "aarch64" ]; then \
export CPU_TARGET="aarch64"; \
fi; \
cd /opt/gluten; \
source /opt/rh/gcc-toolset-12/enable; \
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow; \
mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta -Pspark-3.5 -DskipTests; \
dnf clean all; \
rm -rf /opt/gluten; \
rm -rf /root/.cache/ccache;