fix(setup): update auditwheel to 6.3.0 and resolve tempdir for InWheel#3063
fix(setup): update auditwheel to 6.3.0 and resolve tempdir for InWheel#3063
Conversation
Agent-Logs-Url: https://github.com/microsoft/playwright-python/sessions/fd70085c-5b32-4dc2-8e63-b6edeadc9114 Co-authored-by: Skn0tt <14912729+Skn0tt@users.noreply.github.com>
|
@copilot please look at the CI results, there's something going wrong |
Agent-Logs-Url: https://github.com/microsoft/playwright-python/sessions/c7067ec4-86a2-4d5a-946e-959dd18402fa Co-authored-by: Skn0tt <14912729+Skn0tt@users.noreply.github.com>
Looked into it — after the previous fix the build hit a different auditwheel error on macOS:
Fixed in f223264 by calling |
|
@copilot it's still failing |
Agent-Logs-Url: https://github.com/microsoft/playwright-python/sessions/1a8a3424-455a-40cd-85d7-7df3750e3334 Co-authored-by: Skn0tt <14912729+Skn0tt@users.noreply.github.com>
Found the actual root cause. Fix in 09b5eaf: set |
auditwheel 6.3.0 changed
InWheel.__init__to call.absolute()on its path arguments, requiringpathlib.Pathinstead ofstr. This broke the wheel-building step withAttributeError: 'str' object has no attribute 'absolute'.Additionally, on macOS
/varis a symlink to/private/var. auditwheel'sInWheelallocates an internaltempfile.TemporaryDirectoryforbdist_dir(returning/var/folders/...), but itsrewrite_recordhelper walks files viawalk()which callsPath.resolve(strict=True)and yields/private/var/folders/...paths. The mismatch causespath.relative_to(bdist_dir)to raiseValueError. Resolvingtempfile.tempdirup front so auditwheel's internal tempdir is already a realpath avoids the mismatch.Changes
pyproject.toml: bumpauditwheel6.2.0→6.3.0setup.py:from pathlib import Pathandimport tempfiletempfile.tempdir = str(Path(tempfile.gettempdir()).resolve())at module load to fix the macOS symlink mismatch in auditwheel's internal tempdirInWheelarguments inPath(...):Original prompt
update the auditwheel dep, you'll have to update some argument in setup.py apparently. make sure you branch off main, not this branch
Chronological Review: 1. User asked to merge open PRs (many dependabot) on microsoft/playwright-python. 2. Triaged 7 dependabot PRs; merged 3 green ones (#3049, #3041, #2994). 3. Posted `@dependabot rebase` then `@dependabot recreate` on remaining 4. 4. After waiting, merged 3 more (#2976, #2975, #2896). Left #2785 (auditwheel) open with real build failure. 5. User asked to fix the auditwheel bit. 6. Inspected setup.py — found InWheel usage at lines 85, 87, 176, 179. 7. User asked: "can we delegate it to the cloud?" — meaning use Copilot coding agent. 8. Agent confirmed yes, viewed setup.py lines 170-190 to gather context for the issue description. 9. Summarization triggered before agent could create the issue and assign to Copilot.Intent Mapping:
Technical Inventory:
AttributeError: 'str' object has no attribute 'absolute'at auditwheel/wheeltools.py:114.Code Archaeology:
from auditwheel.wheeltools import InWheelInWheel = None(fallback)wheelhouse_whlandwhlfileinPath(...)(and addfrom pathlib import Pathif missing).Progress Assessment:
Recent Commands Analysis:
viewon setup.py lines 170-190, returning the InWheel block context.Context Validation:
dependabot/pip/auditwheel-6.3.0(or whatever recreate produced — head SHA was47456725).1. Conversation Overview: - Primary Objectives: - "there is a bunch of open PRs in this repo, many of them dependabot. let's get them merged." - "please fix the auditwheel bit" - "can we delegate it to the cloud?" (use Copilot coding agent rather than fix locally) - Session Context: Triaged + merged 6 of 7 open dependabot PRs on microsoft/playwright-python. Last remaining PR #2785 (auditwheel 6.2.0→6.3.0) has a real build failure requiring code fix in setup.py. User now wants the fix delegated to Copilot coding agent in the cloud. - User Intent Evolution: Merge sweep → fix the one real failure → delegate that fix to cloud agent.-
- GitHub repo: microsoft/playwright-python (Skn0tt is maintainer; fork at Skn0tt/playwright-python, local clone at /Users/skn0tt/dev/microsoft/playwright-python)
- gh CLI authenticated as Skn0tt with repo/workflow scopes
- GitHub MCP server available for issue creation, job logs, etc.
- auditwheel 6.3.0 API change:
-
- /Users/skn0tt/dev/microsoft/playwright-python/setup.py:
- Purpose: Build script that uses auditwheel's InWheel context manager to update RECORD files in built wheels.
- Current State: Unmodified locally. Needs fix.
- Key Code Segments:
- Line 85:
- Line 87:
- Lines 174-180:
Technical Foundation:
InWheel(in_wheel=...)now requirespathlib.Path, notstr. TriggersAttributeError: 'str' object has no attribute 'absolute'atauditwheel/wheeltools.py:114(self.in_wheel = in_wheel.absolute()).Codebase Status:
from auditwheel.wheeltools import InWheelInWheel = None(import fallback)Created from Copilot CLI via the copilot delegate command.