Skip to content

Commit 6f5cc35

Browse files
authored
chore(build): fix extension module hash calculation (#14195)
On Python versions prior to 3.13, the following returns 0 ``` python -c "from pathlib import Path; print(sum(1 for p in Path('.').rglob('**') if p.suffix and p.suffix in {'.cpp', '.hpp'}))" ``` Because `Path('.').rglob(**)` returns only directories on older versions, but on Python 3.13 it returns all files and dirs. This resulted in incorrect computation for extension hashes ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
1 parent 70e9ca9 commit 6f5cc35

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ def get_sources(self, cmd: build_ext) -> t.List[Path]:
662662
return (
663663
[
664664
_
665-
for _ in Path(self.source_dir).rglob("**")
665+
for _ in Path(self.source_dir).glob("**/*")
666666
if _.is_file() and _.name != full_path.name and _.suffix and _.suffix not in {".py", ".pyc", ".pyi"}
667667
]
668668
if self.source_dir

0 commit comments

Comments
 (0)