Skip to content

clang-tidy: Add version 22.1.8 - #2261

Open
luhenry wants to merge 3 commits into
mainfrom
clang-tidy
Open

luhenry wants to merge 3 commits into
mainfrom
clang-tidy

Conversation

@luhenry

@luhenry luhenry commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Compiles clang-tidy and clang-apply-replacements from LLVM 22.1.8 source via a CMake ExternalProject_add (same shape as build-clang-format.yml/build-libclang.yml). Upstream publishes no riscv64 wheel.

Mirrors upstream's release.yml.

Differs from upstream

  • Pins commit 0dc6a6e, not a v22.1.8 tag - upstream has not cut that release yet.

Matrix: cp312 only - wheel.py-api = "py2.py3", so one interpreter build serves every version.

Testing

  • same as upstream

License: OK

luhenry added a commit that referenced this pull request Sep 24, 2026
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://riseproject-dev.github.io/python-wheels/pr-preview/pr-2261/

Built to branch gh-pages at 2026-09-27 09:52 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@luhenry luhenry closed this Sep 24, 2026
@luhenry luhenry reopened this Sep 24, 2026
pytest /project/test puts /project on sys.path (test/ is a package), so
`import clang_tidy` resolved to the source tree, which has no data/bin/,
instead of the installed wheel. Mirror upstream's own release.yml, which
sets CIBW_BEFORE_TEST: rm -rf {package}/clang_tidy for this reason.
After a green 12h build, 6 of 7 tests passed and test_include_iostream
failed with "'iostream' file not found". The -v include search list
holds only clang's resource dir, /usr/local/include and /usr/include:
clang found no GCC installation. The manylinux_2_39_riscv64 image's
compiler is the system GCC 14.3.1 under /usr/lib/gcc/riscv64-redhat-linux,
and clang 22's RISCV64Triples list ("riscv64-unknown-linux-gnu",
"riscv64-unknown-elf", plus the vendorless "riscv64-linux-gnu") has no
redhat entry, unlike x86_64/aarch64. Debian/Ubuntu riscv64 hosts are
found through "riscv64-linux-gnu", so this is the test container, not
the wheel.

Upstream never runs this test in a Linux container either: its
release.yml sets CIBW_TEST_SKIP: "*linux*", and the test itself is
skipif(CI and linux) for ssciwr/clang-tidy-wheel#30, with CI=1 set
in the Dockerfile upstream tests Linux wheels in (f04a633). Setting
CI=1 in CIBW_TEST_ENVIRONMENT lets that marker fire and keeps the
other six tests, including test_main's real clang-tidy run.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant