Uh oh!
There was an error while loading. Please reload this page.
fix(crc32c): escape the version dot and anchor the pyenv check regex - #17555
Conversation
There was a problem hiding this comment.
Code Review
This pull request improves Python version matching in macOS build and publish scripts by escaping dots and using anchors/word boundaries in grep patterns. The feedback suggests refactoring the bash conditional checks from [ -z "$(pipeline | grep ...)" ] to a more idiomatic and efficient if ! pipeline | grep -q ...; then pattern to avoid unnecessary subshells and string comparisons.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
chalmerlowe
commented
Jun 26, 2026
Re: the failing cover test: When However... in the crc32c noxfile.py it uses This means NO coverage results are produced. Note running coverage is entirely managed in the OPTIONS under consideration:
|
…nt matching sub-versions like 3.13.14
…ure as it skips unit tests
161783c to
d8cea83Compare…n packages skip tests
chalmerlowe
commented
Aug 10, 2026
An alternate approach was taken and merged into |
Uh oh!
There was an error while loading. Please reload this page.
Problem
The OS X python wheel build script (
build_python_wheel.sh) checks if a Python version is installed inpyenvbefore building:When $version is 3.14, this expands to grep 3.14. Because the dot (.) is not escaped, it is treated as a wildcard and will also match the substring 3.13.14 (which contains 3.14 at the end). This results in a false positive, causing the script to skip compiling Python 3.14. The script then fails when executing pyenv shell 3.14 with a "version not installed" error.
Solution
Escape the version dots in bash:
${version//./\.}.Anchor the grep match with line start (
^) and word boundaries (\b) to ensure it only matches the exact version line (e.g.^3\.14\binstead of matching3.13.14).Applied this fix to both
build_python_wheel.shandpublish_python_wheel.sh.Blocks: #17642