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 aac71070788 [v3-3-test] Pin devel dependencies to uv.lock in provider
compat CI jobs (#72581) (#72671)
aac71070788 is described below
commit aac71070788e8abcc286752a2d35c8c08b553650
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Sep 7 23:39:26 2026 +0200
[v3-3-test] Pin devel dependencies to uv.lock in provider compat CI jobs
(#72581) (#72671)
(cherry picked from commit ab6c60c964b6ff2ac84c1ea52232a547c25d67fa)
Signed-off-by: PoAn Yang <[email protected]>
Co-authored-by: PoAn Yang <[email protected]>
---
Dockerfile.ci | 6 +++++-
scripts/docker/entrypoint_ci.sh | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/Dockerfile.ci b/Dockerfile.ci
index 8fd95319e1b..fab1aa1b132 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -1402,9 +1402,13 @@ function determine_airflow_to_use() {
# Generate constraints from uv.lock and use them to install
development dependencies
# via the Python script. --no-cache is needed - otherwise there is
possibility of
# overriding temporary environments by multiple parallel processes
+ # --all-packages: without it the export only covers the root project's
dependencies.
+ # Anything that only a workspace member's dependency group pulls in,
such
+ # as mcp through common.ai's pydantic-ai-slim[mcp], stays unpinned and
resolves fresh
+ # from PyPI instead of following uv.lock.
local constraint_file="/tmp/constraints-from-lock.txt"
uv export --frozen --no-hashes --no-emit-project --no-emit-workspace
--no-editable --no-header \
- --no-annotate > "${constraint_file}" 2>/dev/null || true
+ --no-annotate --all-packages > "${constraint_file}" 2>/dev/null ||
true
uv run --no-cache
/opt/airflow/scripts/in_container/install_development_dependencies.py \
--constraint "${constraint_file}"
# Some packages might leave legacy typing module which causes test
issues
diff --git a/scripts/docker/entrypoint_ci.sh b/scripts/docker/entrypoint_ci.sh
index 466b2bdc7b0..771801eee38 100755
--- a/scripts/docker/entrypoint_ci.sh
+++ b/scripts/docker/entrypoint_ci.sh
@@ -305,9 +305,13 @@ function determine_airflow_to_use() {
# Generate constraints from uv.lock and use them to install
development dependencies
# via the Python script. --no-cache is needed - otherwise there is
possibility of
# overriding temporary environments by multiple parallel processes
+ # --all-packages: without it the export only covers the root project's
dependencies.
+ # Anything that only a workspace member's dependency group pulls in,
such
+ # as mcp through common.ai's pydantic-ai-slim[mcp], stays unpinned and
resolves fresh
+ # from PyPI instead of following uv.lock.
local constraint_file="/tmp/constraints-from-lock.txt"
uv export --frozen --no-hashes --no-emit-project --no-emit-workspace
--no-editable --no-header \
- --no-annotate > "${constraint_file}" 2>/dev/null || true
+ --no-annotate --all-packages > "${constraint_file}" 2>/dev/null ||
true
uv run --no-cache
/opt/airflow/scripts/in_container/install_development_dependencies.py \
--constraint "${constraint_file}"
# Some packages might leave legacy typing module which causes test
issues