-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Recently the global CLI regression checks have started taking hours to execute (only in python 3.7). This seems to have started in early January 2026. The Poetry version resolver is taking 30 minutes to run and install dependencies. This is happening for each of the tests, causing the regression job to reach the 6 hour time out, which leads to a job kill and fail.
These are the steps that are taking forever:
o2/.github/workflows/regression_test.yml
Lines 412 to 422 in b836564
| - name: Run Global No-Plugins One Above Site-Packages Dir | |
| working-directory: test_apps/no_workspace | |
| run: pytest test_global_install.py::TestGlobalInstallNoPlugins -vv | |
| - name: Run Global With Plugins At Site-Packages Dir | |
| working-directory: test_apps/no_workspace | |
| run: pytest test_global_install.py::TestGlobalInstallWithPlugins -vv | |
| - name: Run Global No-Plugins At CLI Dir | |
| working-directory: test_apps/no_workspace | |
| run: pytest test_global_install.py::TestGlobalInstallAtCliDir -vv |
There are 4 or 5 tests in each of the steps. The tear down method ensures that the dependencies have to be re-resolved:
o2/test_apps/no_workspace/t_invocation_env.py
Lines 134 to 138 in b836564
| def teardown_method(cls): | |
| if cls.move_pyproject: | |
| print(f"Cleaning pyproject and lockfile {cls.target_pyproj_toml}, {cls.target_poetry_lock}") | |
| cls.target_pyproj_toml.unlink() | |
| cls.target_poetry_lock.unlink() |
It doesn't seem like the change is as simple as updating the tests. The CLI uses poetry to build the origen run time. Likely these would need update as well:
rust/origen/cli/src/commands/env.rs - the install_poetry() function
rust/origen/cli/src/python.rs - Poetry-specific code
Other places poetry is used:
python/origen/poetry_build.py and python/origen_metal/poetry_build.py
python/origen/origen/utility/publishers/poetry.py
Should we pursue switch over to uv from poetry for better performance?