This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/orc.git
The following commit(s) were added to refs/heads/branch-2.2 by this push:
new ce3f1f46a ORC-1984: Add `debian13` to docker tests, docs, and GitHub
Action
ce3f1f46a is described below
commit ce3f1f46a960b05984d832b3a73cb2f0848a11a1
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Fri Sep 26 19:10:17 2025 -0700
ORC-1984: Add `debian13` to docker tests, docs, and GitHub Action
### What changes were proposed in this pull request?
This PR aims to support `Debian 13` and `GCC 14.2.0` officially by adding
`debian13` to docker tests, docs, and GitHub Action.
```
$ docker run -it --rm apache/orc-dev:debian13 g++ --version
g++ (Debian 14.2.0-19) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```
### Why are the changes needed?
To have a test coverage on `Debian 13` and `GCC 14.2`.
- https://www.debian.org/News/2025/20250809 (13.0)
- https://www.debian.org/News/2025/20250906 (13.1)
Note that `apache/orc-dev:debian13` is published like the following.
- https://hub.docker.com/layers/apache/orc-dev/debian13
```
$ docker run -it --rm apache/orc-dev:debian13 cat /etc/os-release | head -n1
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
```
### How was this patch tested?
Pass the CIs with newly added `debian13` test pipeline.
```
Status: Downloaded newer image for apache/orc-dev:debian13
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
```
As a reference, `debian12` and `debian11` shows the following log.
```
Status: Downloaded newer image for apache/orc-dev:debian12
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
```
```
Status: Downloaded newer image for apache/orc-dev:debian11
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
```
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #2417 from dongjoon-hyun/ORC-1984.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
(cherry picked from commit fbea8e016699ad8e7b318f5c793b4e48fe85af57)
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.github/workflows/build_and_test.yml | 1 +
CMakeLists.txt | 6 ++--
docker/README.md | 2 +-
docker/debian13/Dockerfile | 54 ++++++++++++++++++++++++++++++++++++
docker/os-list.txt | 1 +
site/_docs/building.md | 3 +-
6 files changed, 62 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/build_and_test.yml
b/.github/workflows/build_and_test.yml
index da7b438d1..5c3ec960f 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -46,6 +46,7 @@ jobs:
os:
- debian11
- debian12
+ - debian13
- ubuntu24
- oraclelinux8
- oraclelinux9
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f012bb3dc..5dda178e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -129,9 +129,9 @@ endif()
# We require a C++17 compliant compiler
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (NOT MSVC)
- set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-omit-frame-pointer")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG -fno-omit-frame-pointer")
- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
+ set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fno-omit-frame-pointer
-Wno-unknown-warning-option -Wno-stringop-overread -Wno-array-bounds")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG -fno-omit-frame-pointer
-Wno-unknown-warning-option -Wno-stringop-overread -Wno-array-bounds")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -Wno-unknown-warning-option
-Wno-stringop-overread -Wno-array-bounds")
endif ()
message(STATUS "compiler ${CMAKE_CXX_COMPILER_ID} version
${CMAKE_CXX_COMPILER_VERSION}")
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
diff --git a/docker/README.md b/docker/README.md
index 2247cea96..f475022d0 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -2,7 +2,7 @@
## Supported OSes
-* Debian 11 and 12
+* Debian 11, 12, and 13
* Fedora 37
* Ubuntu 22 and 24
* Oracle Linux 9
diff --git a/docker/debian13/Dockerfile b/docker/debian13/Dockerfile
new file mode 100644
index 000000000..a99bdce60
--- /dev/null
+++ b/docker/debian13/Dockerfile
@@ -0,0 +1,54 @@
+# 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 Debian 13
+#
+
+FROM debian:13.1
+LABEL org.opencontainers.image.authors="Apache ORC project
<[email protected]>"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.ref.name="Apache ORC on Debian 13"
+LABEL org.opencontainers.image.version=""
+ARG jdk=21
+
+RUN apt-get update
+RUN apt-get install -y \
+ cmake \
+ gcc \
+ g++ \
+ git \
+ libsasl2-dev \
+ libssl-dev \
+ make \
+ curl \
+ maven \
+ openjdk-${jdk}-jdk
+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/docker/os-list.txt b/docker/os-list.txt
index e138aaf49..65ff27719 100644
--- a/docker/os-list.txt
+++ b/docker/os-list.txt
@@ -1,5 +1,6 @@
debian11
debian12
+debian13
ubuntu22
ubuntu24
oraclelinux8
diff --git a/site/_docs/building.md b/site/_docs/building.md
index e9a98ae56..967cde2e6 100644
--- a/site/_docs/building.md
+++ b/site/_docs/building.md
@@ -10,7 +10,7 @@ dockerUrl: https://github.com/apache/orc/blob/main/docker
The C++ library is supported on the following operating systems:
* MacOS 14 to 26
-* Debian 11 to 12
+* Debian 11 to 13
* Ubuntu 22.04 to 24.04
* Oracle Linux 8 to 9
* Amazon Linux 2023
@@ -28,6 +28,7 @@ is in the docker subdirectory, for the list of packages
required to build ORC:
* [Debian 11]({{ page.dockerUrl }}/debian11/Dockerfile)
* [Debian 12]({{ page.dockerUrl }}/debian12/Dockerfile)
+* [Debian 13]({{ page.dockerUrl }}/debian13/Dockerfile)
* [Ubuntu 22]({{ page.dockerUrl }}/ubuntu22/Dockerfile)
* [Ubuntu 24]({{ page.dockerUrl }}/ubuntu24/Dockerfile)
* [Oracle Linux 8]({{ page.dockerUrl }}/oraclelinux8/Dockerfile)