This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-4-test by this push:
new ca9339097e8 [v3-4-test] fix the command for contributors to verify
python client and airflowctl rc (#76870) (#76928)
ca9339097e8 is described below
commit ca9339097e8530a0055566581325b14f6e000a2e
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Nov 12 04:47:46 2026 +0000
[v3-4-test] fix the command for contributors to verify python client and
airflowctl rc (#76870) (#76928)
(cherry picked from commit ba57629ded279a15fb338c06a93366a26c09216b)
Co-authored-by: Kevin Yang <[email protected]>
---
dev/README_RELEASE_AIRFLOWCTL.md | 14 +++++++++-----
dev/README_RELEASE_PYTHON_CLIENT.md | 14 +++++++++-----
dev/verify_airflow_ctl_rc.sh | 16 ++++++++++------
dev/verify_python_client_rc.sh | 17 ++++++++++-------
4 files changed, 38 insertions(+), 23 deletions(-)
diff --git a/dev/README_RELEASE_AIRFLOWCTL.md b/dev/README_RELEASE_AIRFLOWCTL.md
index e87f018cb89..874071de3f3 100644
--- a/dev/README_RELEASE_AIRFLOWCTL.md
+++ b/dev/README_RELEASE_AIRFLOWCTL.md
@@ -1273,14 +1273,18 @@ end-to-end against a live API server in a single
non-interactive `breeze shell`
```shell
# install the RC from PyPI (published with the rcN suffix)
-CTL_VERSION=${VERSION_RC} breeze shell --load-example-dags --backend sqlite \
- "bash dev/verify_airflow_ctl_rc.sh"
+breeze shell --load-example-dags --backend sqlite \
+ "CTL_VERSION=${VERSION_RC} bash dev/verify_airflow_ctl_rc.sh"
-# or test the exact SVN wheel (copy it under ./dist first so it is visible at
/opt/airflow/dist)
-CTL_WHEEL=/opt/airflow/dist/apache_airflow_ctl-${VERSION}-py3-none-any.whl \
- breeze shell --load-example-dags --backend sqlite "bash
dev/verify_airflow_ctl_rc.sh"
+# or test the exact SVN wheel (copy it under ./dist first so it is visible at
/dist)
+breeze shell --load-example-dags --backend sqlite \
+ "CTL_WHEEL=/dist/apache_airflow_ctl-${VERSION}-py3-none-any.whl bash
dev/verify_airflow_ctl_rc.sh"
```
+Set `CTL_VERSION` or `CTL_WHEEL` inside the quoted command: `breeze shell`
forwards only a fixed
+list of environment variables into the container, so a `CTL_VERSION=...`
prefix on the host never
+reaches the script.
+
The script prints `AIRFLOW_CTL_RC_VERIFY: OK` on success.
> [!NOTE]
diff --git a/dev/README_RELEASE_PYTHON_CLIENT.md
b/dev/README_RELEASE_PYTHON_CLIENT.md
index 3dba65af8a8..93c830826ff 100644
--- a/dev/README_RELEASE_PYTHON_CLIENT.md
+++ b/dev/README_RELEASE_PYTHON_CLIENT.md
@@ -781,14 +781,18 @@ server and the test share the same credentials.
```shell script
# install the RC from PyPI (published with the rcN suffix)
-CLIENT_VERSION=${VERSION_RC} breeze shell --load-example-dags --backend sqlite
\
- "bash dev/verify_python_client_rc.sh"
+breeze shell --load-example-dags --backend sqlite \
+ "CLIENT_VERSION=${VERSION_RC} bash dev/verify_python_client_rc.sh"
-# or test the exact SVN wheel (copy it under ./dist first so it is visible at
/opt/airflow/dist)
-CLIENT_WHEEL=/opt/airflow/dist/apache_airflow_client-${VERSION}-py3-none-any.whl
\
- breeze shell --load-example-dags --backend sqlite "bash
dev/verify_python_client_rc.sh"
+# or test the exact SVN wheel (copy it under ./dist first so it is visible at
/dist)
+breeze shell --load-example-dags --backend sqlite \
+ "CLIENT_WHEEL=/dist/apache_airflow_client-${VERSION}-py3-none-any.whl bash
dev/verify_python_client_rc.sh"
```
+Set `CLIENT_VERSION` or `CLIENT_WHEEL` inside the quoted command: `breeze
shell` forwards only a
+fixed list of environment variables into the container, so a
`CLIENT_VERSION=...` prefix on the
+host never reaches the script.
+
The script prints `PYTHON_CLIENT_RC_VERIFY: OK` on success.
diff --git a/dev/verify_airflow_ctl_rc.sh b/dev/verify_airflow_ctl_rc.sh
index f908120110f..b006389ce1e 100755
--- a/dev/verify_airflow_ctl_rc.sh
+++ b/dev/verify_airflow_ctl_rc.sh
@@ -34,14 +34,18 @@
#
# Usage (from the repo root, with the chosen RC version):
#
-# CTL_VERSION=0.1.5rc1 breeze shell --load-example-dags --backend sqlite \
-# "bash dev/verify_airflow_ctl_rc.sh"
+# breeze shell --load-example-dags --backend sqlite \
+# "CTL_VERSION=0.1.5rc1 bash dev/verify_airflow_ctl_rc.sh"
#
-# To test the exact SVN artifact instead of the PyPI RC, point CTL_WHEEL at the
-# wheel (visible under /opt/airflow inside the container):
+# Set CTL_VERSION / CTL_WHEEL inside the quoted command: breeze shell forwards
+# only a fixed list of environment variables into the container, so a host-side
+# CTL_VERSION=... prefix never reaches this script.
#
-# CTL_WHEEL=/opt/airflow/dist/apache_airflow_ctl-0.1.5-py3-none-any.whl \
-# breeze shell --load-example-dags "bash dev/verify_airflow_ctl_rc.sh"
+# To test the exact SVN artifact instead of the PyPI RC, copy the wheel into
+# ./dist (mounted at /dist inside the container) and point CTL_WHEEL at it:
+#
+# breeze shell --load-example-dags --backend sqlite \
+# "CTL_WHEEL=/dist/apache_airflow_ctl-0.1.5-py3-none-any.whl bash
dev/verify_airflow_ctl_rc.sh"
set -uo pipefail
cd /opt/airflow || exit 1
diff --git a/dev/verify_python_client_rc.sh b/dev/verify_python_client_rc.sh
index 60cf6fae299..2d5913412c3 100755
--- a/dev/verify_python_client_rc.sh
+++ b/dev/verify_python_client_rc.sh
@@ -29,16 +29,19 @@
#
# Usage (from the repo root, with the chosen RC version):
#
-# CLIENT_VERSION=3.2.2rc1 breeze shell --load-example-dags --backend sqlite \
-# "bash dev/verify_python_client_rc.sh"
+# breeze shell --load-example-dags --backend sqlite \
+# "CLIENT_VERSION=3.2.2rc1 bash dev/verify_python_client_rc.sh"
+#
+# Set CLIENT_VERSION / CLIENT_WHEEL inside the quoted command: breeze shell
+# forwards only a fixed list of environment variables into the container, so a
+# host-side CLIENT_VERSION=... prefix never reaches this script.
#
# By default the client is installed from PyPI (the RC is published there with
-# the rcN suffix). To test the exact SVN artifact instead, mount/copy the wheel
-# into the repo (it is available under /opt/airflow inside the container) and
-# point CLIENT_WHEEL at it:
+# the rcN suffix). To test the exact SVN artifact instead, copy the wheel into
+# ./dist (mounted at /dist inside the container) and point CLIENT_WHEEL at it:
#
-#
CLIENT_WHEEL=/opt/airflow/dist/apache_airflow_client-3.2.2-py3-none-any.whl \
-# breeze shell --load-example-dags "bash dev/verify_python_client_rc.sh"
+# breeze shell --load-example-dags --backend sqlite \
+# "CLIENT_WHEEL=/dist/apache_airflow_client-3.2.2-py3-none-any.whl bash
dev/verify_python_client_rc.sh"
set -uo pipefail
cd /opt/airflow || exit 1