| # 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 centos:8 |
| |
| 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 LANG=C.UTF-8 |
| ENV LC_ALL=C.UTF-8 |
| |
| RUN set -ex; \ |
| sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* || true; \ |
| sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* || true; \ |
| yum update -y && yum install -y epel-release sudo dnf && yum install -y ccache; \ |
| dnf install -y --setopt=install_weak_deps=False gcc-toolset-11; \ |
| echo "check_certificate = off" >> ~/.wgetrc; \ |
| yum install -y java-${JAVA_VERSION}-openjdk-devel patch wget git perl; \ |
| mirror_host="https://www.apache.org/dyn/closer.lua"; \ |
| wget -nv ${mirror_host}/celeborn/celeborn-0.5.4/apache-celeborn-0.5.4-bin.tgz?action=download -O /opt/apache-celeborn-0.5.4-bin.tgz; \ |
| wget -nv ${mirror_host}/celeborn/celeborn-0.6.3/apache-celeborn-0.6.3-bin.tgz?action=download -O /opt/apache-celeborn-0.6.3-bin.tgz; \ |
| wget -nv ${mirror_host}/uniffle/0.10.0/apache-uniffle-0.10.0-bin.tar.gz?action=download -O /opt/apache-uniffle-0.10.0-bin.tar.gz; \ |
| wget -nv ${mirror_host}/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz?action=download -O /opt/hadoop-2.8.5.tar.gz; \ |
| git clone --depth=1 https://github.com/apache/gluten /opt/gluten; \ |
| cd /opt/gluten/.github/workflows/util/; \ |
| ./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; \ |
| ./install-spark-resources.sh 4.0; \ |
| ARCH=$(uname -m); \ |
| if [[ "$ARCH" == "aarch64" || "$ARCH" == "ppc64le" ]]; then \ |
| export CPU_TARGET="$ARCH"; \ |
| fi; \ |
| cd /opt/gluten; \ |
| source /opt/rh/gcc-toolset-11/enable; \ |
| ./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow; \ |
| ./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta -Pspark-3.5 -DskipTests; \ |
| dnf clean all; \ |
| rm -rf /opt/gluten; \ |
| rm -rf /root/.cache/ccache; |