Skip to content

fix(ci): make abi3audit step OS-aware (fix Windows wheel-build job)#655

Open
jhamon wants to merge 1 commit intomainfrom
ci/fix-abi3audit-windows
Open

fix(ci): make abi3audit step OS-aware (fix Windows wheel-build job)#655
jhamon wants to merge 1 commit intomainfrom
ci/fix-abi3audit-windows

Conversation

@jhamon
Copy link
Copy Markdown
Collaborator

@jhamon jhamon commented May 7, 2026

Summary

  • Replaces hardcoded /tmp/abi3audit-venv/bin/... paths with OS-aware equivalents
  • Uses $RUNNER_TEMP instead of /tmp for the venv parent (works on all runner OSes)
  • Detects Scripts/ (Windows) vs bin/ (Linux/macOS) for the binary directory
  • Fixes exit code 127 failure on x86_64-pc-windows-msvc runners (CI-0060)

Root cause

The abi3audit step (lines 416–422) hardcoded Unix-style paths. On Windows runners:

  1. Git Bash maps /tmp to a runner-specific AppData/Local/Temp path, not RUNNER_TEMP
  2. Windows venvs place binaries in Scripts/, not bin/

This combination caused "No such file or directory" / exit 127 on every Windows wheel build.

Verification

Release Readiness run on this branch with skip_integration=true:
https://github.com/pinecone-io/python-sdk/actions/runs/25521225781

All wheel build jobs green, including Wheel build (x86_64-pc-windows-msvc). CI-0037's isolation intent (separate venv for abi3audit) is preserved.


Note

Low Risk
Low risk workflow tweak that only changes how the abi3audit virtualenv is created/invoked; main risk is CI regressions if path detection or $RUNNER_TEMP behaves unexpectedly on some runners.

Overview
Fixes the release-readiness wheel-build job’s abi3audit step to work cross-platform by creating the venv under RUNNER_TEMP and selecting Scripts/ (Windows) vs bin/ (Unix) when invoking pip/python.

This removes hardcoded /tmp/.../bin/... paths, preventing Windows wheel builds from failing with missing executable/path errors while preserving the venv isolation intent.

Reviewed by Cursor Bugbot for commit 1747670. Bugbot is set up for automated code reviews on this repo. Configure here.

Use RUNNER_TEMP instead of /tmp for the venv parent, and detect
Scripts/ (Windows) vs bin/ (Linux/macOS) for the binary directory.
Fixes exit code 127 on x86_64-pc-windows-msvc runners where Git Bash
maps /tmp to a different path than RUNNER_TEMP, and Windows venvs
place binaries in Scripts/ not bin/. Closes CI-0060.
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