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