Skip to content

Conversation

arrdem
Copy link
Collaborator

@arrdem arrdem commented Jun 4, 2025

This patch extends the new static venv machinery to handle conflicts in the logical venv path. Support is preliminary but complete, a multi-pass venv creation strategy would be better for producing comprehensive errors rather than forcing users to whack-a-mole.

Fixes #575

Changes are visible to end-users: yes

  • Searched for relevant documentation and updated as needed: yes
  • Breaking change (forces users to change their own code or config): no
  • Suggested release notes appear below: yes

Test plan

  • New test cases added
  • error mode conflicting venv is broken
  • warn mode conflicting venv produces a warning
  • ignore mode conflicting venv is silent
  • "Conflicting" files with same content are handled silently

Copy link

aspect-workflows bot commented Jun 4, 2025

Test

27 test targets passed

Targets
//examples/multi_version:py_version_default_test [k8-fastbuild]                             1s
//examples/multi_version:py_version_test [k8-fastbuild-ST-494921797612]                     2s
//examples/pytest:pytest_test [k8-fastbuild]                                                2s
//examples/pytest:sharded/test [k8-fastbuild]                                               3s
//examples/virtual_deps:pytest_test [k8-fastbuild]                                          1s
//py/tests/cc-deps:test_smoke [k8-fastbuild]                                                495ms
//py/tests/external-deps/sibling-package:test_test [k8-fastbuild]                           41ms
//py/tests/external-deps:test_0_test [k8-fastbuild]                                         75ms
//py/tests/external-deps:test_1_test [k8-fastbuild]                                         81ms
//py/tests/external-deps:test_can_import_runfiles_helper [k8-fastbuild]                     549ms
//py/tests/internal-deps:assert [k8-fastbuild]                                              714ms
//py/tests/py-binary:runfiles_from_pip_test [k8-fastbuild]                                  713ms
//py/tests/py-binary:test__main_from_name [k8-fastbuild]                                    32ms
//py/tests/py-binary:test__run_py_test_help [k8-fastbuild]                                  31ms
//py/tests/py-external-venv:test [k8-fastbuild]                                             200ms
//py/tests/py-internal-venv:test [k8-fastbuild]                                             363ms
//py/tests/py-pex-binary:test__print_modules_pex [k8-fastbuild]                             24ms
//py/tests/py-test:test_env_vars [k8-fastbuild]                                             636ms
//py/tests/py_image_layer:my_app_layers_test_test [k8-fastbuild]                            36ms
//py/tests/py_image_layer:py_image_test [k8-fastbuild]                                      5s
//py/tests/py_venv_conflict:py_venv_conflict [k8-fastbuild]                                 54ms
//py/tests/py_venv_image_layer:my_app_amd64_layers_test_test [k8-fastbuild]                 40ms
//py/tests/py_venv_image_layer:my_app_arm64_layers_test_test [k8-fastbuild]                 52ms
//py/tests/py_venv_image_layer:py_amd64_image_command_test [k8-fastbuild]                   2s
//py/tests/py_venv_image_layer:py_amd64_image_content_test [k8-fastbuild]                   2s
//py/tests/py_venv_image_layer:py_arm64_image_content_test [k8-fastbuild]                   3s
//py/tests/repo_relative_imports/test:test [k8-fastbuild]                                   716ms

Total test execution time was 26s. 12 tests (30.8%) were fully cached saving 45s.

Copy link

github-actions bot commented Jun 4, 2025

e2e/use_release folder: LCOV of commit 222f9f5 during CI #1820

Summary coverage rate:
  lines......: 100.0% (2 of 2 lines)
  functions..: 100.0% (1 of 1 function)
  branches...: no data found

Files changed coverage rate: n/a

@arrdem arrdem merged commit 3ff3b51 into main Jun 4, 2025
16 checks passed
@arrdem arrdem deleted the arrdem/575-static-venv-collisions branch June 4, 2025 21:45
@arrdem arrdem added this to the 1.6.0 milestone Jun 9, 2025
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.

[Bug]: py_venv collision resolution regression in 1.5.2
2 participants