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 <[email protected]>
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 <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
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 <[email protected]>"
+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: