Skip to content

ORC-2026: Upgrade maven-enforcer-plugin to 3.6.2 #5303

ORC-2026: Upgrade maven-enforcer-plugin to 3.6.2

ORC-2026: Upgrade maven-enforcer-plugin to 3.6.2 #5303

Workflow file for this run

# 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.
name: Build and test
on:
push:
paths-ignore:
- 'site/**'
- 'conan/**'
branches:
- main
pull_request:
paths-ignore:
- 'site/**'
- 'conan/**'
branches:
- main
workflow_call:
# Cancel previous PR build and test
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.sha }}
cancel-in-progress: true
jobs:
docker:
name: "Docker ${{ matrix.os }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os:
- debian12
- debian13
- ubuntu24
- oraclelinux8
- oraclelinux9
- amazonlinux23
steps:
- name: Checkout
uses: actions/checkout@v5
- name: "Test"
run: |
cd docker
./run-one.sh local main ${{ matrix.os }}
build:
name: "Java ${{ matrix.java }} and ${{ matrix.cxx }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
- ubuntu-24.04
- ubuntu-24.04-arm
- macos-14
- macos-15
java:
- 17
- 21
cxx:
- clang++
include:
- os: ubuntu-22.04
java: 17
cxx: g++
- os: ubuntu-latest
java: 25
- os: macos-26
java: 21
env:
MAVEN_OPTS: -Xmx2g
MAVEN_SKIP_RC: true
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install Java ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: ${{ matrix.java }}
cache: 'maven'
- name: "Test"
run: |
mkdir -p ~/.m2
if [ "${{ matrix.java }}" = "25" ]; then
cd java
# JDK 25 Build
./mvnw package -DskipTests
# JDK 25 Test: shims, core, tools modules
./mvnw package --pl tools --am
else
mkdir build
cd build
cmake -DANALYZE_JAVA=ON -DOPENSSL_ROOT_DIR=`brew --prefix [email protected]` ..
make package test-out
fi
- name: Step on failure
if: ${{ failure() }}
run: |
cat /home/runner/work/orc/orc/build/java/rat.txt
windows:
name: "C++ ${{ matrix.simd }} Test on Windows"
runs-on: windows-2025
strategy:
fail-fast: false
matrix:
simd:
- General
- AVX512
env:
ORC_USER_SIMD_LEVEL: AVX512
VCPKG_ROOT: C:/vcpkg
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Add msbuild to PATH
uses: microsoft/[email protected]
with:
msbuild-architecture: x64
- name: Install Install dependencies via vcpkg
shell: cmd
run: |
vcpkg install zlib:x64-windows
vcpkg install protobuf:x64-windows
vcpkg install snappy:x64-windows
vcpkg install zstd:x64-windows
vcpkg install lz4:x64-windows
- name: "Build and Test"
shell: bash
run: |
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" \
-DCMAKE_BUILD_TYPE=RELEASE \
-DBUILD_LIBHDFSPP=OFF \
-DBUILD_TOOLS=OFF \
-DBUILD_JAVA=OFF \
-DANALYZE_JAVA=OFF \
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \
-DProtobuf_ROOT="$VCPKG_ROOT/installed/x64-windows" \
-DCMAKE_PREFIX_PATH="$VCPKG_ROOT/installed/x64-windows" \
-DORC_PACKAGE_KIND=vcpkg
cmake --build . --config Release
ctest -C Release --output-on-failure
- name: "Upload Build Artifacts"
if: always()
uses: actions/upload-artifact@v4
with:
name: windows-build-logs-${{ matrix.simd }}
path: build/
if-no-files-found: ignore
simdUbuntu:
name: "SIMD programming using C++ intrinsic functions on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
cxx:
- clang++
env:
ORC_USER_SIMD_LEVEL: AVX512
steps:
- name: Checkout
uses: actions/checkout@v5
- name: "Test"
run: |
mkdir -p ~/.m2
mkdir build
cd build
cmake -DBUILD_JAVA=OFF -DBUILD_ENABLE_AVX512=ON ..
make package test-out
doc:
name: "Markdown check and Javadoc generation"
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Super-Linter
uses: super-linter/super-linter@12150456a73e248bdc94d0794898f94e23127c88
env:
DEFAULT_BRANCH: main
VALIDATE_MARKDOWN: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Java 17
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
cache: 'maven'
- name: "javadoc"
run: |
mkdir -p ~/.m2
cd java
./mvnw install -DskipTests
./mvnw javadoc:javadoc
cpp-linter:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- name: Run build
run: |
mkdir build && cd build
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_JAVA=OFF
cmake --build .
- uses: cpp-linter/cpp-linter-action@f91c446a32ae3eb9f98fef8c9ed4c7cb613a4f8a
id: linter
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: file
tidy-checks: file
files-changed-only: true
lines-changed-only: true
thread-comments: true
ignore: 'build|cmake_modules|conan|dev|docker|examples|java|site'
database: build
- name: Fail fast?!
if: steps.linter.outputs.checks-failed != 0
run: |
echo "some linter checks failed. ${{ steps.linter.outputs.checks-failed }}"
exit 1
license-check:
name: "License Check"
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Check license header
uses: apache/skywalking-eyes@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
config: .github/.licenserc.yaml
macos-cpp-check:
name: "C++ Test on macOS"
strategy:
fail-fast: false
matrix:
version: [14, 15]
runs-on: macos-${{ matrix.version }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Test
run: |
CMAKE_PREFIX_PATH=$(brew --prefix protobuf)
mkdir -p build
cd build
cmake .. -DBUILD_JAVA=OFF
make package test-out
meson:
name: "Meson C++ configuration"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
- ubuntu-24.04
- ubuntu-24.04-arm
- macos-14
- macos-15
steps:
- name: Checkout
uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install meson
run: |
pip install --upgrade pip
pip install meson
- name: Test
run: |
meson setup build -Dbuildtype=release
meson compile -C build
meson test -C build