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 26b74e6dc ORC-2121: Add `ubi10` to docker tests and GitHub Actions job
26b74e6dc is described below
commit 26b74e6dc64f9fa9cd925d22439e82126b14b02f
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Wed Mar 4 11:17:25 2026 -0800
ORC-2121: Add `ubi10` to docker tests and GitHub Actions job
### What changes were proposed in this pull request?
This PR adds support for `ubi10` (Red Hat Universal Base Image 10) with
`Java 25` to the ORC Docker test environment. Specifically, it includes the
following changes:
- Adds a new Dockerfile for `ubi10` based on
`registry.access.redhat.com/ubi10/ubi`.
- Updates `docker/os-list.txt` to include `ubi10`.
- Extends the GitHub Actions `docker` job matrix in
`.github/workflows/build_and_test.yml` to test `ubi10`.
- Updates the documentation in `site/_docs/building.md` to list `UBI 10` as
a supported OS.
### Why are the changes needed?
To ensure Apache ORC can be successfully built and tested on the `ubi10`
platform. This expands the CI test matrix and provides an official Docker
environment for Red Hat Enterprise Linux 10-compatible systems.
### How was this patch tested?
This patch is tested by the newly added GitHub Actions `docker` job matrix
`ubi10`. The CI builds the `ubi10` Docker image and runs the standard ORC
compile and test suites (Java and C++) inside the container.
<img width="565" height="53" alt="Screenshot 2026-03-04 at 11 16 54"
src="https://github.com/user-attachments/assets/5bddf1d5-9bc3-40f7-b4d6-e0e4da72eda0"
/>
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: `Gemini 3.1 Pro (High)` on `Antigravity`
Closes #2569 from dongjoon-hyun/ORC-2121.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.github/workflows/build_and_test.yml | 1 +
docker/os-list.txt | 1 +
docker/ubi10/Dockerfile | 35 +++++++++++++++++++++++++++++++++++
site/_docs/building.md | 2 ++
4 files changed, 39 insertions(+)
diff --git a/.github/workflows/build_and_test.yml
b/.github/workflows/build_and_test.yml
index 189b99773..2795c365e 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -54,6 +54,7 @@ jobs:
- oraclelinux9
- oraclelinux10
- amazonlinux23
+ - ubi10
steps:
- name: Checkout
uses: actions/checkout@v6
diff --git a/docker/os-list.txt b/docker/os-list.txt
index 06ad440c8..7b9d7cafe 100644
--- a/docker/os-list.txt
+++ b/docker/os-list.txt
@@ -5,3 +5,4 @@ ubuntu26
oraclelinux9
oraclelinux10
amazonlinux23
+ubi10
diff --git a/docker/ubi10/Dockerfile b/docker/ubi10/Dockerfile
new file mode 100644
index 000000000..d0e2604b4
--- /dev/null
+++ b/docker/ubi10/Dockerfile
@@ -0,0 +1,35 @@
+# 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 UBI 10
+#
+
+FROM registry.access.redhat.com/ubi10/ubi
+LABEL org.opencontainers.image.authors="Apache ORC project
<[email protected]>"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+
+RUN dnf check-update || true
+RUN dnf install -y \
+ git \
+ cmake \
+ gcc \
+ gcc-c++ \
+ java-25-openjdk-devel
+
+WORKDIR /root
+VOLUME /root/.m2/repository
+
+CMD ["/bin/bash", "-c", "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 08e1a3367..7a04dcd94 100644
--- a/site/_docs/building.md
+++ b/site/_docs/building.md
@@ -14,6 +14,7 @@ The C++ library is supported on the following operating
systems:
* Ubuntu 24.04 to 26.04
* Oracle Linux 9 to 10
* Amazon Linux 2023
+* UBI 10
You'll want to install the usual set of developer tools, but at least:
@@ -33,6 +34,7 @@ is in the docker subdirectory, for the list of packages
required to build ORC:
* [Oracle Linux 9]({{ page.dockerUrl }}/oraclelinux9/Dockerfile)
* [Oracle Linux 10]({{ page.dockerUrl }}/oraclelinux10/Dockerfile)
* [Amazon Linux 2023]({{ page.dockerUrl }}/amazonlinux23/Dockerfile)
+* [UBI 10]({{ page.dockerUrl }}/ubi10/Dockerfile)
To build a normal release: