This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-3-test by this push:
new 2ebec52f632 [v3-3-test] Allow opentelemetry-exporter-prometheus
pre-release in candidate constraints resolution (#71110) (#71132)
2ebec52f632 is described below
commit 2ebec52f6329017b471f3aa8261a1ae2642fe388
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Aug 5 04:22:51 2026 +0200
[v3-3-test] Allow opentelemetry-exporter-prometheus pre-release in
candidate constraints resolution (#71110) (#71132)
Follow-up to #71040. airflow-core requires
`opentelemetry-exporter-prometheus>=0.47b0`,
a package that only ever ships betas (released constraints already pin e.g.
`==0.65b0`).
The candidate constraints resolution runs `uv pip install ... --prerelease
explicit`, which
permits a pre-release only for a package some requirement marks as such and
drops the
if-necessary fallback, so with no explicit mark it fails with 'No solution
found'.
Add it to `additional_constraints_for_highest_resolution` (the build-side
list the failure
message points at) rather than the provider-only pre-release list, so it is
an always-allowed
pre-release across every resolution, matching how it already ships.
(cherry picked from commit b23fa6b7a950b7e0982d4649f3a7ecbdd0c87ebb)
Co-authored-by: Rahul Vats <[email protected]>
---
scripts/in_container/run_generate_constraints.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/scripts/in_container/run_generate_constraints.py
b/scripts/in_container/run_generate_constraints.py
index 1089739c4be..ba23a0042b0 100755
--- a/scripts/in_container/run_generate_constraints.py
+++ b/scripts/in_container/run_generate_constraints.py
@@ -530,9 +530,17 @@ def generate_constraints_pypi_providers(config_params:
ConfigParams) -> None:
# resolver might choose to downgrade gremlinpython to an older version,
# which in turn might downgrade tinkerpop provider. Having
gremlinpython>=3.8.0 ensures
# that the resolver will not downgrade the provider.
+ # * opentelemetry-exporter-prometheus>=0.47b0 — this package only ever
publishes beta versions
+ # (airflow-core requires ``>=0.47b0`` and released constraints already
pin a beta, e.g.
+ # ``==0.65b0``). For a release candidate the resolution runs with
``--prerelease explicit``,
+ # which permits a pre-release only for a package some requirement marks
as such and drops the
+ # if-necessary fallback; without this entry the package cannot resolve
and generation fails
+ # with "No solution found". Keeping it here (rather than the provider
pre-release list) marks
+ # it as an always-allowed pre-release across every resolution, matching
how it already ships.
additional_constraints_for_highest_resolution: list[str] = [
"pyarrow>=22.0.0; python_version >= '3.14'",
"gremlinpython>=3.8.0",
+ "opentelemetry-exporter-prometheus>=0.47b0",
]
# Constraints cut for a release candidate have to pin the candidates
themselves - the providers