From 328f6f170d2267b3c91d72df138f8f7a841be502 Mon Sep 17 00:00:00 2001 From: William Hyun Date: Thu, 21 Apr 2022 18:59:02 -0700 Subject: [PATCH] ORC-1155: Add Ubuntu 22.04 to docker tests (#1093) This PR aims to add Ubuntu 22.04 to docker tests. Ubuntu 22.04 is the new LTS version. This PR is to verify ORC in the latest Ubuntu environment. Manually run the docker tests. Closes #1093 Signed-off-by: Dongjoon Hyun --- docker/README.md | 2 +- docker/os-list.txt | 1 + docker/ubuntu22/Dockerfile | 65 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 docker/ubuntu22/Dockerfile diff --git a/docker/README.md b/docker/README.md index e77c2ebf29..d251f0817e 100644 --- a/docker/README.md +++ b/docker/README.md @@ -2,7 +2,7 @@ * CentOS 7 * Debian 9 and 10 -* Ubuntu 18 and 20 +* Ubuntu 18, 20 and 22 ## Test diff --git a/docker/os-list.txt b/docker/os-list.txt index 62436fbd67..9d199e9620 100644 --- a/docker/os-list.txt +++ b/docker/os-list.txt @@ -4,6 +4,7 @@ debian10 debian11 ubuntu18 ubuntu20 +ubuntu22 debian10_jdk=11 ubuntu20_jdk=11 ubuntu20_jdk=11_cc=clang diff --git a/docker/ubuntu22/Dockerfile b/docker/ubuntu22/Dockerfile new file mode 100644 index 0000000000..94e60488a3 --- /dev/null +++ b/docker/ubuntu22/Dockerfile @@ -0,0 +1,65 @@ +# 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. + +# ORC compile for Ubuntu 22 +# + +FROM ubuntu:22.04 +LABEL maintainer="Apache ORC project " +ARG jdk=8 +ARG cc=gcc + +RUN ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime +RUN apt-get update +RUN apt-get install -y \ + cmake \ + git \ + libsasl2-dev \ + libssl-dev \ + make \ + curl \ + maven \ + openjdk-${jdk}-jdk \ + tzdata; \ + if [ "${cc}" = "gcc" ] ; then \ + apt-get install -y \ + gcc \ + g++ \ + ; else \ + apt-get install -y \ + clang \ + && \ + update-alternatives --set cc /usr/bin/clang && \ + update-alternatives --set c++ /usr/bin/clang++ \ + ; fi +RUN update-alternatives --set java $(update-alternatives --list java | grep ${jdk}) && \ + update-alternatives --set javac $(update-alternatives --list javac | grep ${jdk}) + +ENV CC=cc +ENV CXX=c++ + +WORKDIR /root +VOLUME /root/.m2/repository + +CMD if [ ! -d orc ]; then \ + echo "No volume provided, building from apache main."; \ + echo "Pass '-v`pwd`:/root/orc' to docker run to build local source."; \ + git clone https://github.com/apache/orc.git -b main; \ + fi && \ + mkdir build && \ + cd build && \ + cmake ../orc && \ + make package test-out