This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-1-test by this push:
new a3b785616ac [v3-1-test] Fix migration errors for Pydantic 2.12.0
(#56579) (#56581)
a3b785616ac is described below
commit a3b785616ac509b7ab7c840a1de6ee1b243e9050
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Oct 13 13:56:55 2025 +0200
[v3-1-test] Fix migration errors for Pydantic 2.12.0 (#56579) (#56581)
Pydantic 2.12.0 implemented experimental Sentinel that requires
newer version of typing extensions. Our migration scripts however
downgrade airflow to 2.11.0 and since airflow 2.11 does not have
pydantic specified as required dependency, it does not downgrade
it - but it downgrades typing-extensions that are airflow dependency.
This causes a mismatch between expected version of typing extensions
by Pydantic (4.14.1) and the one that we have installed in airflow
2.11 (4.13.1). However - in fact - pydantic is a dependency of
Airflow 2.11 - becuase serialization uses pydantic serializer
in 2.11 and it fails being imported if typing extensions is too low.
This is only a problem when downgrading to Airflow 2.11 with constraints
when you do not specify pydantic as extra. This should be fixed in
2.11.1 as there constraints should include latest version of
typing-extension and pydantic.
For now - the fix is to add pydantic as extra when downgrading
airflow to 2.11.0
(cherry picked from commit dfb24d74b968d9362d68db5c46b2e789584480fb)
Co-authored-by: Jarek Potiuk <[email protected]>
---
.github/actions/migration_tests/action.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/actions/migration_tests/action.yml
b/.github/actions/migration_tests/action.yml
index 93e966de8a8..447af1c6368 100644
--- a/.github/actions/migration_tests/action.yml
+++ b/.github/actions/migration_tests/action.yml
@@ -28,7 +28,7 @@ runs:
- name: "Test migration file 2 to 3 migration: ${{env.BACKEND}}"
shell: bash
run: |
- breeze shell "${AIRFLOW_2_CMD}" --use-airflow-version 2.11.0 --answer
y &&
+ breeze shell "${AIRFLOW_2_CMD}" --use-airflow-version 2.11.0
--airflow-extras pydantic --answer y &&
breeze shell "export
AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${DB_MANGERS}
${AIRFLOW_3_CMD}" --no-db-cleanup
env:
@@ -57,7 +57,7 @@ runs:
- name: "Test ORM migration 2 to 3: ${{env.BACKEND}}"
shell: bash
run: >
- breeze shell "${AIRFLOW_2_CMD}" --use-airflow-version 2.11.0 --answer
y &&
+ breeze shell "${AIRFLOW_2_CMD}" --use-airflow-version 2.11.0
--airflow-extras pydantic --answer y &&
breeze shell "export
AIRFLOW__DATABASE__EXTERNAL_DB_MANAGERS=${DB_MANGERS}
${AIRFLOW_3_CMD}" --no-db-cleanup
env: