Skip to content

[v3-2-test] Document Python 3.10 client RC reproducibility + verify helper (#67898)#67953

Merged
potiuk merged 1 commit into
v3-2-testfrom
backport-e50c226-v3-2-test
Jun 3, 2026
Merged

[v3-2-test] Document Python 3.10 client RC reproducibility + verify helper (#67898)#67953
potiuk merged 1 commit into
v3-2-testfrom
backport-e50c226-v3-2-test

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Jun 3, 2026

  • Document Python 3.10 client RC reproducibility and add verify helper

Documents that the Python client reproducible build must run under Python 3.10
(the trigger_dag_run_post_body.py AST re-emit is interpreter-version sensitive),
and adds dev/verify_python_client_rc.sh — a headless contributor smoke test that
boots airflow standalone inside breeze and runs test_python_client.py against
the live API.

  • Fail fast when building Python client under non-default Python

prepare-python-client must run under DEFAULT_PYTHON_MAJOR_MINOR_VERSION
(3.10): the client generator re-emits trigger_dag_run_post_body.py with
ast.unparse, which uses the running interpreter's grammar, so any other
Python yields a non-reproducible client. The existing guard only ran
after full code generation (which itself can fail or emit nothing under
the wrong Python), so the command never failed cleanly.

Hoist the check to the start of the command so it exits immediately with
actionable guidance, and document that the command now refuses to run
under any other Python.
(cherry picked from commit e50c226)

Co-authored-by: Jarek Potiuk jarek@potiuk.com

…elper (#67898)

* Document Python 3.10 client RC reproducibility and add verify helper

Documents that the Python client reproducible build must run under Python 3.10
(the trigger_dag_run_post_body.py AST re-emit is interpreter-version sensitive),
and adds dev/verify_python_client_rc.sh — a headless contributor smoke test that
boots airflow standalone inside breeze and runs test_python_client.py against
the live API.

* Fail fast when building Python client under non-default Python

prepare-python-client must run under DEFAULT_PYTHON_MAJOR_MINOR_VERSION
(3.10): the client generator re-emits trigger_dag_run_post_body.py with
ast.unparse, which uses the running interpreter's grammar, so any other
Python yields a non-reproducible client. The existing guard only ran
after full code generation (which itself can fail or emit nothing under
the wrong Python), so the command never failed cleanly.

Hoist the check to the start of the command so it exits immediately with
actionable guidance, and document that the command now refuses to run
under any other Python.
(cherry picked from commit e50c226)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
@potiuk potiuk marked this pull request as ready for review June 3, 2026 22:13
@potiuk potiuk merged commit d4fde6e into v3-2-test Jun 3, 2026
29 checks passed
@potiuk potiuk deleted the backport-e50c226-v3-2-test branch June 3, 2026 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant