I frequently see `Filesystem changed during run: r...
# general
c
I frequently see
Filesystem changed during run: retrying
when running tests, I think mostly while building some pex with requirements that is needed in order to run the goal(s). Feels like there is some paths that get touched during building the pex when requirments are missing and needs to be downloaded, or something like that. No biggie per se, but a bit annoying that it needs to “build” the pex what seems like two times..
Copy code
$ ./pants test src/python/pants/backend/python/goals/setup_py_test.py 
11:12:48.73 [INFO] Filesystem changed during run: retrying `@rule(pants.backend.python.goals.pytest_runner.run_python_test)` in 500ms...
11:12:48.79 [INFO] Canceled: Building pytest.pex with 6 requirements: ipdb, pygments, pytest-cov>=2.10.1,<2.12, pytest-html, pytest-icdiff, pytest>=6.0.1,<6.3
11:12:48.97 [INFO] Canceled: Resolving 3rdparty/python/constraints.txt
11:13:26.58 [INFO] Completed: Building pytest.pex with 6 requirements: ipdb, pygments, pytest-cov>=2.10.1,<2.12, pytest-html, pytest-icdiff, pytest>=6.0.1,<6.3
11:13:37.15 [INFO] Completed: Resolving 3rdparty/python/constraints.txt
11:13:48.73 [INFO] Completed: Building requirements.pex with 11 requirements: PyYAML<5.5,>=5.4, ansicolors==1.1.8, humbug==0.1.9, packaging==20.9, pex==2.1.38, psutil==5.7.0, pytest<6.3,>=6.0.1, setproctitle==1.2, setuptools<54.0,... (50 characters truncated)
11:13:57.04 [INFO] Completed: Building pytest_runner.pex
11:14:13.37 [WARN] Completed: test - src/python/pants/backend/python/goals/setup_py_test.py:tests failed (exit code 1).
Hmmm…. maybe it is my
emacs
that is the bad guy in this case…
.pants.d/pants.log
Copy code
11:12:30.96 [INFO] handling request: `test src/python/pants/backend/python/goals/setup_py_test.py`
11:12:34.99 [INFO] Extending leases
11:12:35.06 [INFO] Done extending leases
11:12:48.72 [INFO] notify invalidation: cleared 1 and dirtied 6 nodes for: {".emacs.desktop", ""}
11:12:48.72 [INFO] notify invalidation: cleared 0 and dirtied 0 nodes for: {"", ".emacs.desktop"}
11:12:48.73 [INFO] notify invalidation: cleared 1 and dirtied 6343 nodes for: {"", ".emacs.desktop"}
11:12:48.73 [INFO] notify invalidation: cleared 0 and dirtied 0 nodes for: {".emacs.desktop", ""}
11:13:55.07 [INFO] Extending leases
11:13:55.23 [INFO] Done extending leases
11:14:14.14 [INFO] request completed: `test src/python/pants/backend/python/goals/setup_py_test.py`
Not sure how/if we can exclude the
.emacs.desktop
from the filesystem touched check… ?
h
I think that could be it! Try adding it to your pants_ignore option in pants.toml under GLOBAL using .gitignore syntax. I'm guessing that you have that file under your global .gitignore, rather than repo level one?
👍 1