This is an automated email from the ASF dual-hosted git repository.

dongjoon pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/orc.git


The following commit(s) were added to refs/heads/main by this push:
     new 7cdad9309 ORC-1541: Add `Ubuntu 24.04 LTS` Docker Test
7cdad9309 is described below

commit 7cdad9309349021125c616261235bfb689d9d5f6
Author: Dongjoon Hyun <dongj...@apache.org>
AuthorDate: Fri Dec 8 23:36:21 2023 -0800

    ORC-1541: Add `Ubuntu 24.04 LTS` Docker Test
    
    ### What changes were proposed in this pull request?
    
    This PR aims to add `Ubuntu 24.04 LTS` Docker Test.
    
    ### Why are the changes needed?
    
    Although the official `Ubuntu 24.04 LTS` will arrive on April 2024, we can 
start to track it from the official docker dev image.
    
    - GNU C/CXX compiler: 13.2.0
    
    ### How was this patch tested?
    
    Manual review.
    ```
    $ ./reinit.sh ubuntu24
    $ ./run-one.sh local ORC-1541 ubuntu24
    ...
    Test project /root/build
        Start 1: orc-test
    1/8 Test #1: orc-test .........................   Passed    4.53 sec
        Start 2: java-test
    2/8 Test #2: java-test ........................   Passed  104.55 sec
        Start 3: java-tools-test
    3/8 Test #3: java-tools-test ..................   Passed    0.07 sec
        Start 4: java-bench-gen-test
    4/8 Test #4: java-bench-gen-test ..............   Passed    0.74 sec
        Start 5: java-bench-scan-test
    5/8 Test #5: java-bench-scan-test .............   Passed    0.69 sec
        Start 6: java-bench-hive-test
    6/8 Test #6: java-bench-hive-test .............   Passed   11.21 sec
        Start 7: java-bench-spark-test
    7/8 Test #7: java-bench-spark-test ............   Passed    3.36 sec
        Start 8: tool-test
    8/8 Test #8: tool-test ........................   Passed    6.94 sec
    
    100% tests passed, 0 tests failed out of 8
    
    Total Test time (real) = 132.08 sec
    Built target test-out
    Finished ubuntu24 at Fri Dec  8 23:34:01 PST 2023
    ```
    
    This closes #1501 .
    
    Closes #1679 from dongjoon-hyun/ORC-1541.
    
    Authored-by: Dongjoon Hyun <dongj...@apache.org>
    Signed-off-by: Dongjoon Hyun <dongj...@apache.org>
---
 docker/README.md           |  2 +-
 docker/os-list.txt         |  1 +
 docker/ubuntu24/Dockerfile | 67 ++++++++++++++++++++++++++++++++++++++++++++++
 site/_docs/building.md     |  2 +-
 4 files changed, 70 insertions(+), 2 deletions(-)

diff --git a/docker/README.md b/docker/README.md
index a0f72d404..3cba25186 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -2,7 +2,7 @@
 
 * Debian 11 and 12
 * Fedora 37
-* Ubuntu 20 and 22
+* Ubuntu 20, 22, 24
 
 ## Pre-built Images
 
diff --git a/docker/os-list.txt b/docker/os-list.txt
index 0b8634eb8..286da8c59 100644
--- a/docker/os-list.txt
+++ b/docker/os-list.txt
@@ -2,6 +2,7 @@ debian11
 debian12
 ubuntu20
 ubuntu22
+ubuntu24
 fedora37
 ubuntu22_jdk=21
 ubuntu22_jdk=21_cc=clang
diff --git a/docker/ubuntu24/Dockerfile b/docker/ubuntu24/Dockerfile
new file mode 100644
index 000000000..34b392433
--- /dev/null
+++ b/docker/ubuntu24/Dockerfile
@@ -0,0 +1,67 @@
+# 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 24
+#
+
+FROM ubuntu:24.04
+LABEL maintainer="Apache ORC project <d...@orc.apache.org>"
+ARG jdk=21
+ARG cc=gcc
+
+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++
+
+RUN ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
+RUN mkdir -p /usr/share/zoneinfo/US
+RUN ln -fs /usr/share/zoneinfo/America/Los_Angeles 
/usr/share/zoneinfo/US/Pacific
+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
diff --git a/site/_docs/building.md b/site/_docs/building.md
index 395177549..2fcbfb2e9 100644
--- a/site/_docs/building.md
+++ b/site/_docs/building.md
@@ -12,7 +12,7 @@ The C++ library is supported on the following operating 
systems:
 * CentOS 7
 * Debian 10 to 12
 * MacOS 12 to 14
-* Ubuntu 20.04 to 22.04
+* Ubuntu 20.04 to 24.04
 
 You'll want to install the usual set of developer tools, but at least:
 

Reply via email to