You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by do...@apache.org on 2022/08/17 20:12:00 UTC

[orc] branch main updated: ORC-1253: Add Fedora 37 Docker test

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 8f2b610d9 ORC-1253: Add Fedora 37 Docker test
8f2b610d9 is described below

commit 8f2b610d934ad31bd0a683fc26ebf0dc69e4775b
Author: William Hyun <wi...@apache.org>
AuthorDate: Wed Aug 17 13:11:52 2022 -0700

    ORC-1253: Add Fedora 37 Docker test
    
    ### What changes were proposed in this pull request?
    This PR aims to add Febdora 37 Docker test.
    
    ### Why are the changes needed?
    To improve test coverage.
    
    ### How was this patch tested?
    Manually test on AMD64.
    Note that ORC-762 still exists; protobuffer 2.5.0 only works on AMD64 and Apple silicon.
    
    ```
    $ docker build -t apache/orc-dev:fedora37 fedora37
    $ ./run-one.sh local fedora37 fedora37
    ...
    Test project /root/build
        Start 1: orc-test
    1/8 Test #1: orc-test .........................   Passed    5.35 sec
        Start 2: java-test
    2/8 Test #2: java-test ........................   Passed  192.94 sec
        Start 3: java-tools-test
    3/8 Test #3: java-tools-test ..................   Passed    0.14 sec
        Start 4: java-bench-gen-test
    4/8 Test #4: java-bench-gen-test ..............   Passed    1.38 sec
        Start 5: java-bench-scan-test
    5/8 Test #5: java-bench-scan-test .............   Passed    1.23 sec
        Start 6: java-bench-hive-test
    6/8 Test #6: java-bench-hive-test .............   Passed   13.55 sec
        Start 7: java-bench-spark-test
    7/8 Test #7: java-bench-spark-test ............   Passed    4.66 sec
        Start 8: tool-test
    8/8 Test #8: tool-test ........................   Passed   10.70 sec
    
    100% tests passed, 0 tests failed out of 8
    
    Total Test time (real) = 229.97 sec
    Built target test-out
    Finished fedora37 at Wed Aug 17 13:10:33 PDT 2022
    ```
    
    Closes #1224 from williamhyun/fedora37.
    
    Authored-by: William Hyun <wi...@apache.org>
    Signed-off-by: Dongjoon Hyun <do...@apache.org>
---
 CMakeLists.txt             |  4 ++-
 docker/README.md           |  1 +
 docker/fedora37/Dockerfile | 67 ++++++++++++++++++++++++++++++++++++++++++++++
 docker/os-list.txt         |  1 +
 4 files changed, 72 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d030d3cd3..3c727919f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -114,7 +114,9 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
   endif ()
 elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
   set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion")
-  if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
+  if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "12.0")
+    set (WARN_FLAGS "${WARN_FLAGS} -Wno-array-bounds -Wno-stringop-overread") # To compile protobuf in Fedora37
+  elseif (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9")
     set (WARN_FLAGS "${WARN_FLAGS} -Wno-unused-function")
   endif ()
   if (STOP_BUILD_ON_WARNING)
diff --git a/docker/README.md b/docker/README.md
index 80ff906bf..6a5501fc1 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -2,6 +2,7 @@
 
 * CentOS 7
 * Debian 10 and 11
+* Fedora 37
 * Ubuntu 18, 20 and 22
 
 ## Pre-built Images
diff --git a/docker/fedora37/Dockerfile b/docker/fedora37/Dockerfile
new file mode 100644
index 000000000..df3a347cd
--- /dev/null
+++ b/docker/fedora37/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 CentOS 7
+#
+
+FROM fedora:37
+LABEL maintainer="Apache ORC project <de...@orc.apache.org>"
+ARG jdk=17
+
+RUN yum check-update || true
+RUN yum install -y \
+  cmake3 \
+  curl-devel \
+  cyrus-sasl-devel \
+  expat-devel \
+  gcc \
+  gcc-c++ \
+  gettext-devel \
+  git \
+  libtool \
+  make \
+  maven \
+  openssl-devel \
+  tar \
+  wget \
+  which \
+  zlib-devel && \
+  if [ "${jdk}" = "11" ] ; then \
+    yum install -y \
+    java-11-openjdk \
+    java-11-openjdk-devel \
+    && \
+    update-alternatives --set java  $(readlink -f /usr/lib/jvm/java-11-openjdk/bin/java) && \
+    update-alternatives --set javac $(readlink -f /usr/lib/jvm/java-11-openjdk/bin/javac) \
+  ; elif [ "${jdk}" = "8" ] ; then \
+    yum install -y \
+    java-1.8.0-openjdk \
+    java-1.8.0-openjdk-devel \
+  ; fi
+
+ENV TZ=America/Los_Angeles
+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/docker/os-list.txt b/docker/os-list.txt
index ffd7a3b29..0b3a3a47e 100644
--- a/docker/os-list.txt
+++ b/docker/os-list.txt
@@ -4,6 +4,7 @@ debian11
 ubuntu18
 ubuntu20
 ubuntu22
+fedora37
 debian10_jdk=11
 ubuntu20_jdk=11
 ubuntu20_jdk=11_cc=clang