Skip to content

Fix CI: resolve pre-commit lint, compilation, and environment failures#132

Open
lriggs wants to merge 2 commits intodremio:dremio_27.0_20from
lriggs:fixCI
Open

Fix CI: resolve pre-commit lint, compilation, and environment failures#132
lriggs wants to merge 2 commits intodremio:dremio_27.0_20from
lriggs:fixCI

Conversation

@lriggs
Copy link
Copy Markdown
Collaborator

@lriggs lriggs commented Apr 14, 2026

Summary

This PR fixes multiple pre-existing CI failures in the dremio_27.0_20 branch that were causing nearly all checks to fail on any PR.

  • Lint (pre-commit): Apply clang-format to all Gandiva encrypt_utils* and related files; apply cmake-format to vcpkg portfiles (brotli, llvm, symengine); add NOLINT(runtime/int) for unsigned long required by OpenSSL API
  • ASAN/ARM64 Ubuntu compilation: Fix engine.cc - pass DataLayout directly to setDataLayout() instead of std::make_optional(data_layout), which is incompatible with LLVM 14's llvm::Optional type
  • Conda AVX2 compilation: Fix benchmark_util.h - replace deprecated benchmark::internal::Benchmark with benchmark::Benchmark (newer Google Benchmark API; flagged as -Werror)
  • Conda Docker build: Fix install_gcs_testbench.sh - install setuptools before pipx to provide pkg_resources required by grpcio wheel build
  • Windows MinGW: Fix msys2_setup.sh - add llvm package so Gandiva can find LLVMAlt in MINGW64/CLANG64 environments

Test plan

  • Lint C++, Python, R, Docker, RAT — should now pass (pre-commit hooks all pass locally)
  • Source Release and Merge Script — unchanged, should continue passing
  • AMD64 Ubuntu ASAN UBSAN — engine.cc fix should resolve LLVM Optional type error
  • ARM64 Ubuntu C++ — same engine.cc fix
  • AMD64 Conda C++ AVX2 — benchmark_util.h + setuptools fixes
  • Windows MinGW — LLVM package addition
  • macOS builds — no changes to macOS-specific code; existing passing checks should remain

🤖 Generated with Claude Code

lriggs and others added 2 commits April 14, 2026 14:20
- Apply clang-format to all Gandiva encrypt_utils and related C++ files
- Apply cmake-format to vcpkg portfiles (brotli, llvm, symengine)
- Fix cpplint runtime/int: add NOLINT for OpenSSL-required unsigned long
- Fix engine.cc: pass DataLayout directly to setDataLayout() to be
  compatible with both LLVM 14 (llvm::Optional) and LLVM 21 (std::optional)
- Fix benchmark_util.h: replace deprecated benchmark::internal::Benchmark
  with benchmark::Benchmark (newer Google Benchmark API)
- Fix install_gcs_testbench.sh: install setuptools before pipx to
  provide pkg_resources needed by grpcio wheel build in conda builds
- Fix msys2_setup.sh: add llvm package so Gandiva can find LLVMAlt
  in Windows MinGW (MINGW64/CLANG64) build environments

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix benchmark_util.h: use #pragma to suppress -Wdeprecated-declarations
  around benchmark::internal::Benchmark usage, restoring MSVC compatibility
  (benchmark::Benchmark doesn't exist in older Google Benchmark on Windows)
- Fix install_gcs_testbench.sh: use --prefer-binary pip flag so grpcio
  installs from a pre-built wheel, avoiding the pkg_resources build failure
  in isolated pip environments (Python 3.12+ no longer auto-includes setuptools)
- Fix ree_util.h: remove \par Doxygen tags that triggered -Werror,-Wdocumentation
  on macOS Clang ("empty paragraph passed to \par command")
- Fix rat_exclude_files.txt: add ci/vcpkg/overlay/** so Apache RAT does not
  flag vcpkg portfiles and usage files that lack ASF license headers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant