You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 281cfbb
Browse filesBrowse the repository at this point in the historyBrowse files
hipObject will be built with the latest ROCm's amdclang in rocm-systems
and TheRock, so CI now builds with that unless a job exists to try
something else. Every CI build uses ROCm 10.1.0, apart from the
hardware tests, whose guests run ROCm 10.0, and the nightly packages.
The Build workflow's jobs are listed one by one rather than made by
crossing axes. All of them use HIPOBJ_WERROR:
- Core jobs, amdclang on Ubuntu 26.04: RelWithDebInfo; Debug with
HIPOBJ_USE_SANITIZERS; RelWithDebInfo with
HIPOBJ_USE_THREAD_SANITIZER, as TheRock's TSan builds are; and Debug
with code coverage.
- Smoke tests with amdclang: a static Release build (TheRock builds only
shared libraries, and Release is its default), both NIC backends off,
C++23, and C++26.
- Upstream Clang 21, and GCC 15 with and without HIPOBJ_USE_SANITIZERS,
for the problems amdclang misses.
- Ubuntu 24.04's GCC 13 and Clang 18, with its CMake 3.28.
Other workflows:
- The nightly builds its packages with each ROCm version's amdclang.
- clang-tidy, IWYU, and the MinIO integration check use the Ubuntu 26.04
and ROCm 10.1.0 image. clang-tidy stays at LLVM 23, the newest release
on apt.llvm.org, since ROCm 10.1's LLVM 24 only has snapshots there.
- IWYU, the MinIO integration check, the hardware tests, and
ci/ernic/run-local.sh build with amdclang. run-local.sh sets the
compiler on the cmake command line, so a build directory left from an
earlier run with GCC is reconfigured.
IWYU parses with the clang it was built with (Clang 19 on Ubuntu 26.04),
which rejects flags newer than itself, such as amdclang's
-fno-strict-bool. HIPOBJIWYU.cmake now reads that clang's version, and a
Clang build with HIPOBJ_USE_IWYU uses only the flags both compilers
have, hardening flags included. Builds without HIPOBJ_USE_IWYU are
unchanged. iwyu-wrapper.sh passes a lone --version straight to IWYU,
without recording it as a run.
applyVendorQpAttrs()'s attr parameter is [[maybe_unused]], since nothing
uses it when HIPOBJ_BNXT and HIPOBJ_IONIC are both off, which made
HIPOBJ_WERROR fail the build.
AGENTS.md, docs/building.rst, and CHANGELOG.md describe the new CI
coverage, the nightly's compiler, and what HIPOBJ_USE_IWYU leaves out.
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments