-
-
Notifications
You must be signed in to change notification settings - Fork 611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stability-focused test infra strategy #2140
Comments
One of the problems found while looking into fixing the CI: #2141. N.B. I'm going to prepare a series of separate PRs and then a PR merging-in all those branches into one. The combined one is what will need to be approved and merged. |
Found out that we're hitting a problem with the conditionals relying on |
Another PR: #2142. |
I've found a weird behavior that I thought might be a bug in $ pip-compile --build-deps-for wheel --find-links tests/test_data/minimal_wheels /tmp/pytest-of-${USER}/pytest-current/test_compile_build_targets_setcurrent/pyproject.toml --output-file - -vvvvvv
Using pip-tools configuration defaults found in 'pyproject.toml'.
Traceback (most recent call last):
File "/home/${USER}/src/github/jazzband/pip-tools/some-venv-py313/bin/pip-compile", line 8, in <module>
sys.exit(cli())
~~~^^
File "/home/${USER}/src/github/jazzband/pip-tools/some-venv-py313/lib/python3.13/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/${USER}/src/github/jazzband/pip-tools/some-venv-py313/lib/python3.13/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/home/${USER}/src/github/jazzband/pip-tools/some-venv-py313/lib/python3.13/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/${USER}/src/github/jazzband/pip-tools/some-venv-py313/lib/python3.13/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/home/${USER}/src/github/jazzband/pip-tools/some-venv-py313/lib/python3.13/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/${USER}/src/github/jazzband/pip-tools/piptools/scripts/compile.py", line 370, in cli
metadata = build_project_metadata(
src_file=Path(src_file),
...<4 lines>...
quiet=log.verbosity <= 0,
)
File "/home/${USER}/src/github/jazzband/pip-tools/piptools/build.py", line 164, in build_project_metadata
with _create_project_builder(
...<22 lines>...
)
File "/home/${USER}/.pyenv/versions/3.13.0rc1/lib/python3.13/contextlib.py", line 143, in __enter__
raise RuntimeError("generator didn't yield") from None
RuntimeError: generator didn't yield I've made a branch to preserve the breaking state: https://github.com/webknjaz/pip-tools/tree/maintenance/contextlib.contextmanager-repro. Perhaps, I'll get to inspect it deeper one day. |
UPD: the CI has been made green. The issue remains open to track long-term improvements. |
What's the problem this feature will solve?
The CI has been prone to external influence for a long time. This is due to unpinned deps. Pip specifically. Historically, we've been running the tests against a pip version that was pinned to a minor release, and the latest release, plus the
main
branch of the pip repo.This turned out to be unsustainable since it causes PR runs to become unpredictable over time. Frankly, this is at odds with the reproducibility promise that pip-tools itself seeks to implement for its users.
It also contributes to other CI problems accumulating over time and blocks progress in many other aspects.
Describe the solution you'd like
I want to make sure that the CI runs in PRs and pushes use pinned pip, short term. With the future possibility to have more lock files, long-term.
With that in mind, I want to let the nightly runs keep hitting newer pip versions.
Alternative Solutions
…suffering the status quo?
Additional context
N/A
The text was updated successfully, but these errors were encountered: