Skip to content

[webkitpy] Keep installed packages local to each worktree - #77411

Open
gerardrecinto wants to merge 1 commit into
WebKit:mainfrom
gerardrecinto:eng/isolate-worktree-python-packages
Open

gerardrecinto wants to merge 1 commit into
WebKit:mainfrom
gerardrecinto:eng/isolate-worktree-python-packages

Conversation

@gerardrecinto

@gerardrecinto gerardrecinto commented Oct 17, 2026 •

Copy link
Copy Markdown

[webkitpy] Keep installed packages local to each worktree
https://bugs.webkit.org/show_bug.cgi?id=326443

Reviewed by NOBODY (OOPS!).

Worktrees can register different versions of the same Python packages.
Sharing an install directory lets them replace each other's dependencies
and repeatedly contend for the installation lock.

Restore worktree-local installation directories. This brings back duplicate
downloads, but keeps incompatible dependencies separate. It also preserves
the existing macOS user-library fallback.

Tests: python3.12 Tools/Scripts/test-webkitpy webkitpy.autoinstall_unittest

  • Tools/Scripts/webkitpy/init.py:
    (_get_main_repo_autoinstall_path): Removed.
  • Tools/Scripts/webkitpy/autoinstall_unittest.py: Added.
    (AutoInstallDirectoryTest): Cover the main checkout, separate worktrees,
    and the macOS fallback directory.

Validation: all three tests pass with WebKit's runner and Python 3.11/3.12;
check-webkit-style and git diff --check pass. The new test file passes mypy.
Checking both changed files reports the same three existing type errors
as unchanged main, in the IPv6 connection helper. No browser build was run.

Thanks
Gerard Recinto

af023dc

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ✅ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
❌ 🧪 webkitpy ✅ 🧪 ios-wk2-wpt ⏳ 🧪 api-mac-debug
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk3-gcc
✅ 🧪 mac-AS-debug-wk2 ✅ 🛠 gtk
✅ 🧪 services ✅ 🛠 vision ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ⏳ 🧪 mac-intel-wk2 ✅ 🧪 api-gtk
✅ 🧪 vision-wk2   🛠 playstation
✅ 🛠 tv ✅ 🧪 mac-site-isolation
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

https://bugs.webkit.org/show_bug.cgi?id=326443

Reviewed by NOBODY (OOPS!).

Worktrees can register different versions of the same Python packages.
Sharing an install directory lets them replace each other's dependencies
and repeatedly contend for the installation lock.

Restore worktree-local installation directories. This brings back duplicate
downloads, but keeps incompatible dependencies separate. It also preserves
the existing macOS user-library fallback.

Tests: python3.12 Tools/Scripts/test-webkitpy webkitpy.autoinstall_unittest

* Tools/Scripts/webkitpy/__init__.py:
(_get_main_repo_autoinstall_path): Removed.
* Tools/Scripts/webkitpy/autoinstall_unittest.py: Added.
(AutoInstallDirectoryTest): Cover the main checkout, separate worktrees,
and the macOS fallback directory.
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.

2 participants