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

Reply via email to