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 fbea8e016 ORC-1984: Add `debian13` to docker tests, docs, and GitHub 
Action
fbea8e016 is described below

commit fbea8e016699ad8e7b318f5c793b4e48fe85af57
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]>
---
 .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 312f90bd5..5484e7cff 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -47,6 +47,7 @@ jobs:
         os:
           - debian11
           - debian12
+          - debian13
           - ubuntu24
           - oraclelinux8
           - oraclelinux9
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9044afb08..acb2fbe75 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -109,9 +109,9 @@ if (BUILD_POSITION_INDEPENDENT_LIB)
   set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 endif ()
 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}")
 
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)

Reply via email to