From cc8853ef5e68335da5fbeb3fbc40236febfb535b Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Fri, 29 Aug 2025 14:17:39 -0700 Subject: [PATCH] ORC-1984: Add `debian13` to docker tests, docs, and GitHub Action --- .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(-) create mode 100644 docker/debian13/Dockerfile diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 312f90bd55..5484e7cff3 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 9044afb083..acb2fbe753 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 2247cea966..f475022d0a 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 0000000000..a99bdce605 --- /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 " +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 e138aaf493..65ff27719e 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 e9a98ae56b..967cde2e69 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)