From b6b06237caaba9805ff8e9d72d8222e603d88386 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Mon, 22 Dec 2025 22:54:23 -0800 Subject: [PATCH 01/13] Fix deprecated sqlalchemy usage for test_processor.py --- airflow-core/.pre-commit-config.yaml | 9 +++++++++ airflow-core/tests/unit/dag_processing/test_processor.py | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/airflow-core/.pre-commit-config.yaml b/airflow-core/.pre-commit-config.yaml index 38e740e27ae1b..49201f108bce8 100644 --- a/airflow-core/.pre-commit-config.yaml +++ b/airflow-core/.pre-commit-config.yaml @@ -419,3 +419,12 @@ repos: ^src/airflow/serialization/serialized_objects\.py$ pass_filenames: false require_serial: true + - id: prevent-deprecated-sqlalchemy-usage + name: Prevent deprecated sqlalchemy usage + entry: ./scripts/ci/prek/prevent_deprecated_sqlalchemy_usage.py + language: python + files: > + (?x) + ^airflow-ctl.*\.py$| + ^airflow-core/tests/unit/dag_processing/test_processor.py$| + ^airflow-ctl/tests/.*\.py$| diff --git a/airflow-core/tests/unit/dag_processing/test_processor.py b/airflow-core/tests/unit/dag_processing/test_processor.py index 34e4f61941f8a..f7b31e10a8d92 100644 --- a/airflow-core/tests/unit/dag_processing/test_processor.py +++ b/airflow-core/tests/unit/dag_processing/test_processor.py @@ -247,7 +247,7 @@ def dag_in_a_fn(): assert result.import_errors == {} assert result.serialized_dags[0].dag_id == "test_myvalue" - all_vars = session.query(VariableORM).all() + all_vars = session.scalars(select(VariableORM)).all() assert len(all_vars) == 1 assert all_vars[0].key == "mykey" @@ -291,7 +291,7 @@ def dag_in_a_fn(): assert result.import_errors == {} assert result.serialized_dags[0].dag_id == "not-found" - all_vars = session.query(VariableORM).all() + all_vars = session.scalars(select(VariableORM)).all() assert len(all_vars) == 0 def test_top_level_connection_access( From 9301b9bf0fa82b8ea59fff55030370c33157e3f5 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 02:15:33 -0800 Subject: [PATCH 02/13] Remove deprecate Query usage and upgrade to SQLAlchemy2.0 --- .pre-commit-config.yaml | 3 ++- airflow-core/pyproject.toml | 4 ++-- airflow-core/tests/unit/dag_processing/test_processor.py | 4 ++-- .../unit/ti_deps/deps/test_not_previously_skipped_dep.py | 5 +++-- providers/fab/pyproject.toml | 3 --- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 63d0b0c5c6095..d39748cf2503b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -482,7 +482,8 @@ repos: ^scripts/ci/prek/version_heads_map\.py$| ^airflow-core/src/airflow/migrations/versions/.*$| ^airflow-core/src/airflow/migrations/versions| - ^airflow-core/src/airflow/utils/db\.py$ + ^airflow-core/src/airflow/utils/db\.py$| + ^airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py - id: update-version name: Update versions in docs entry: ./scripts/ci/prek/update_versions.py diff --git a/airflow-core/pyproject.toml b/airflow-core/pyproject.toml index 3cf114af0bfc7..c4f1734df75ef 100644 --- a/airflow-core/pyproject.toml +++ b/airflow-core/pyproject.toml @@ -135,8 +135,8 @@ dependencies = [ "rich-argparse>=1.0.0", "rich>=13.6.0", "setproctitle>=1.3.3", - # The issue tracking deprecations for sqlalchemy 2 is https://github.com/apache/airflow/issues/28723 - "sqlalchemy[asyncio]>=1.4.49", + # SQLAlchemy >=2.0.36 fixes Python 3.13 TypingOnly import AssertionError caused by new typing attributes (__static_attributes__, __firstlineno__) + "sqlalchemy[asyncio]>=2.0.36", "sqlalchemy-jsonfield>=1.0", "sqlalchemy-utils>=0.41.2", "svcs>=25.1.0", diff --git a/airflow-core/tests/unit/dag_processing/test_processor.py b/airflow-core/tests/unit/dag_processing/test_processor.py index f7b31e10a8d92..34e4f61941f8a 100644 --- a/airflow-core/tests/unit/dag_processing/test_processor.py +++ b/airflow-core/tests/unit/dag_processing/test_processor.py @@ -247,7 +247,7 @@ def dag_in_a_fn(): assert result.import_errors == {} assert result.serialized_dags[0].dag_id == "test_myvalue" - all_vars = session.scalars(select(VariableORM)).all() + all_vars = session.query(VariableORM).all() assert len(all_vars) == 1 assert all_vars[0].key == "mykey" @@ -291,7 +291,7 @@ def dag_in_a_fn(): assert result.import_errors == {} assert result.serialized_dags[0].dag_id == "not-found" - all_vars = session.scalars(select(VariableORM)).all() + all_vars = session.query(VariableORM).all() assert len(all_vars) == 0 def test_top_level_connection_access( diff --git a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py index d22dc6f1a5825..ca6551b8d84be 100644 --- a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py +++ b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py @@ -27,6 +27,7 @@ from airflow.ti_deps.deps.not_previously_skipped_dep import NotPreviouslySkippedDep from airflow.utils.state import State from airflow.utils.types import DagRunType +from sqlalchemy import delete, select pytestmark = pytest.mark.db_test @@ -34,8 +35,8 @@ @pytest.fixture(autouse=True) def clean_db(session): yield - session.query(DagRun).delete() - session.query(TaskInstance).delete() + session.execute(delete(DagRun)) + session.execute(delete(TaskInstance)) def test_no_parent(session, dag_maker): diff --git a/providers/fab/pyproject.toml b/providers/fab/pyproject.toml index 604dd9617eb25..b6fecf6522259 100644 --- a/providers/fab/pyproject.toml +++ b/providers/fab/pyproject.toml @@ -73,12 +73,9 @@ dependencies = [ # In particular, make sure any breaking changes, for example any new methods, are accounted for. "flask-appbuilder==5.0.1; python_version < '3.13'", "flask-login>=0.6.2; python_version < '3.13'", - # Flask-Session 0.6 add new arguments into the SqlAlchemySessionInterface constructor as well as - # all parameters now are mandatory which make AirflowDatabaseSessionInterface incompatible with this version. "flask-session>=0.8.0; python_version < '3.13'", "msgpack>=1.0.0; python_version < '3.13'", "flask-sqlalchemy>=3.0.5; python_version < '3.13'", - "sqlalchemy>=1.4.36,<2; python_version < '3.13'", "flask-wtf>=1.1.0; python_version < '3.13'", "connexion[flask]>=2.14.2,<3.0; python_version < '3.13'", "jmespath>=0.7.0; python_version < '3.13'", From 94031d5fe9f6ab11480a68af5714eb668fcc3f53 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 03:48:26 -0800 Subject: [PATCH 03/13] Updating files for test_not_previously_skipped_dep.py --- providers/fab/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/providers/fab/pyproject.toml b/providers/fab/pyproject.toml index b6fecf6522259..c2c37527224b3 100644 --- a/providers/fab/pyproject.toml +++ b/providers/fab/pyproject.toml @@ -76,6 +76,7 @@ dependencies = [ "flask-session>=0.8.0; python_version < '3.13'", "msgpack>=1.0.0; python_version < '3.13'", "flask-sqlalchemy>=3.0.5; python_version < '3.13'", + "sqlalchemy>=1.4.36,<2; python_version < '3.13'", "flask-wtf>=1.1.0; python_version < '3.13'", "connexion[flask]>=2.14.2,<3.0; python_version < '3.13'", "jmespath>=0.7.0; python_version < '3.13'", From 43ea49f391655d5ed30f903b9c508135574e6cee Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 03:54:03 -0800 Subject: [PATCH 04/13] Reverting changes to pyproject.toml files for test_not_previously_skipped_dep.py --- airflow-core/.pre-commit-config.yaml | 9 --------- airflow-core/pyproject.toml | 4 ++-- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/airflow-core/.pre-commit-config.yaml b/airflow-core/.pre-commit-config.yaml index 49201f108bce8..38e740e27ae1b 100644 --- a/airflow-core/.pre-commit-config.yaml +++ b/airflow-core/.pre-commit-config.yaml @@ -419,12 +419,3 @@ repos: ^src/airflow/serialization/serialized_objects\.py$ pass_filenames: false require_serial: true - - id: prevent-deprecated-sqlalchemy-usage - name: Prevent deprecated sqlalchemy usage - entry: ./scripts/ci/prek/prevent_deprecated_sqlalchemy_usage.py - language: python - files: > - (?x) - ^airflow-ctl.*\.py$| - ^airflow-core/tests/unit/dag_processing/test_processor.py$| - ^airflow-ctl/tests/.*\.py$| diff --git a/airflow-core/pyproject.toml b/airflow-core/pyproject.toml index c4f1734df75ef..3cf114af0bfc7 100644 --- a/airflow-core/pyproject.toml +++ b/airflow-core/pyproject.toml @@ -135,8 +135,8 @@ dependencies = [ "rich-argparse>=1.0.0", "rich>=13.6.0", "setproctitle>=1.3.3", - # SQLAlchemy >=2.0.36 fixes Python 3.13 TypingOnly import AssertionError caused by new typing attributes (__static_attributes__, __firstlineno__) - "sqlalchemy[asyncio]>=2.0.36", + # The issue tracking deprecations for sqlalchemy 2 is https://github.com/apache/airflow/issues/28723 + "sqlalchemy[asyncio]>=1.4.49", "sqlalchemy-jsonfield>=1.0", "sqlalchemy-utils>=0.41.2", "svcs>=25.1.0", From 4b9e97396d0d5f16a634d3547b45e496747178de Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 03:59:46 -0800 Subject: [PATCH 05/13] Reverting changes to pyproject.toml files for test_not_previously_skipped_dep.py --- providers/fab/pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/providers/fab/pyproject.toml b/providers/fab/pyproject.toml index c2c37527224b3..3672f78e6184d 100644 --- a/providers/fab/pyproject.toml +++ b/providers/fab/pyproject.toml @@ -73,6 +73,8 @@ dependencies = [ # In particular, make sure any breaking changes, for example any new methods, are accounted for. "flask-appbuilder==5.0.1; python_version < '3.13'", "flask-login>=0.6.2; python_version < '3.13'", + # Flask-Session 0.6 add new arguments into the SqlAlchemySessionInterface constructor as well as + # all parameters now are mandatory which make AirflowDatabaseSessionInterface incompatible with this version. "flask-session>=0.8.0; python_version < '3.13'", "msgpack>=1.0.0; python_version < '3.13'", "flask-sqlalchemy>=3.0.5; python_version < '3.13'", From df38d458fbfd55ff5a3d52a0c1842eba049709f4 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 04:01:35 -0800 Subject: [PATCH 06/13] Reverting changes to pyproject.toml files for test_not_previously_skipped_dep.py --- providers/fab/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/fab/pyproject.toml b/providers/fab/pyproject.toml index 3672f78e6184d..604dd9617eb25 100644 --- a/providers/fab/pyproject.toml +++ b/providers/fab/pyproject.toml @@ -74,7 +74,7 @@ dependencies = [ "flask-appbuilder==5.0.1; python_version < '3.13'", "flask-login>=0.6.2; python_version < '3.13'", # Flask-Session 0.6 add new arguments into the SqlAlchemySessionInterface constructor as well as - # all parameters now are mandatory which make AirflowDatabaseSessionInterface incompatible with this version. + # all parameters now are mandatory which make AirflowDatabaseSessionInterface incompatible with this version. "flask-session>=0.8.0; python_version < '3.13'", "msgpack>=1.0.0; python_version < '3.13'", "flask-sqlalchemy>=3.0.5; python_version < '3.13'", From a001a30403175c7c6f55e7bd8e6a9c5ed94d49ab Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 04:38:39 -0800 Subject: [PATCH 07/13] Making changes to test_not_previously_skipped_dep.py --- .../tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py index ca6551b8d84be..0b81a36f51885 100644 --- a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py +++ b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py @@ -27,7 +27,7 @@ from airflow.ti_deps.deps.not_previously_skipped_dep import NotPreviouslySkippedDep from airflow.utils.state import State from airflow.utils.types import DagRunType -from sqlalchemy import delete, select +from sqlalchemy import delete pytestmark = pytest.mark.db_test From 2800c9886f09a4c31795a837d461adc1c5a6cd76 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 04:50:41 -0800 Subject: [PATCH 08/13] Making changes to pre-committest_not_previously_skipped_dep.py --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d39748cf2503b..637d17997985b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -457,6 +457,7 @@ repos: ^airflow-core/tests/unit/utils/test_db_cleanup.py$| ^airflow-core/tests/unit/utils/test_state.py$| ^airflow-core/tests/unit/utils/test_log_handlers.py$| + ^airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py| ^dev/airflow_perf/scheduler_dag_execution_timing.py$| ^providers/celery/.*\.py$| ^providers/cncf/kubernetes/.*\.py$| @@ -482,8 +483,7 @@ repos: ^scripts/ci/prek/version_heads_map\.py$| ^airflow-core/src/airflow/migrations/versions/.*$| ^airflow-core/src/airflow/migrations/versions| - ^airflow-core/src/airflow/utils/db\.py$| - ^airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py + ^airflow-core/src/airflow/utils/db\.py$ - id: update-version name: Update versions in docs entry: ./scripts/ci/prek/update_versions.py From 9e643ec35789d3cba8b431f957b8d8e28fcf7580 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 28 Dec 2025 11:16:56 -0800 Subject: [PATCH 09/13] Making changes to pre-commit-config --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 637d17997985b..6c9740b47e65f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -457,7 +457,7 @@ repos: ^airflow-core/tests/unit/utils/test_db_cleanup.py$| ^airflow-core/tests/unit/utils/test_state.py$| ^airflow-core/tests/unit/utils/test_log_handlers.py$| - ^airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py| + ^airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py$| ^dev/airflow_perf/scheduler_dag_execution_timing.py$| ^providers/celery/.*\.py$| ^providers/cncf/kubernetes/.*\.py$| From a17e8ed7e76d42759e3b6b068d7e7c1671ad9d94 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Fri, 2 Jan 2026 22:26:49 -0800 Subject: [PATCH 10/13] Fix pre-commit hook issues hopefully --- .../tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py index 3d7b34f120f33..0227ca2325e9c 100644 --- a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py +++ b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py @@ -19,6 +19,7 @@ import pendulum import pytest +from sqlalchemy import delete from airflow.models import DagRun, TaskInstance from airflow.providers.standard.operators.empty import EmptyOperator @@ -27,7 +28,6 @@ from airflow.ti_deps.deps.not_previously_skipped_dep import NotPreviouslySkippedDep from airflow.utils.state import State from airflow.utils.types import DagRunType -from sqlalchemy import delete from tests_common.test_utils.taskinstance import run_task_instance From da9d624aa3773766973bac32aa639acf54ac819b Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sat, 3 Jan 2026 21:42:43 -0800 Subject: [PATCH 11/13] Update keycloak provider for conf imports --- .../airflow/providers/keycloak/auth_manager/cli/commands.py | 2 +- .../providers/keycloak/auth_manager/keycloak_auth_manager.py | 3 +-- .../airflow/providers/keycloak/auth_manager/routes/login.py | 2 +- .../airflow/providers/keycloak/auth_manager/routes/token.py | 2 +- .../airflow/providers/keycloak/auth_manager/services/token.py | 2 +- .../tests/unit/keycloak/auth_manager/services/test_token.py | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/cli/commands.py b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/cli/commands.py index c7406baec0949..8e0e671c9b4d8 100644 --- a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/cli/commands.py +++ b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/cli/commands.py @@ -29,7 +29,7 @@ except ImportError: from airflow.api_fastapi.auth.managers.base_auth_manager import ResourceMethod as ExtendedResourceMethod from airflow.api_fastapi.common.types import MenuItem -from airflow.configuration import conf +from airflow.providers.common.compat.sdk import conf from airflow.providers.keycloak.auth_manager.cli.utils import dry_run_message_wrap, dry_run_preview from airflow.providers.keycloak.auth_manager.constants import ( CONF_CLIENT_ID_KEY, diff --git a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/keycloak_auth_manager.py b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/keycloak_auth_manager.py index 2ec4f20bf72d9..9ad07ffbabb33 100644 --- a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/keycloak_auth_manager.py +++ b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/keycloak_auth_manager.py @@ -40,8 +40,7 @@ from airflow.api_fastapi.common.types import MenuItem from airflow.cli.cli_config import CLICommand, DefaultHelpParser, GroupCommand -from airflow.configuration import conf -from airflow.providers.common.compat.sdk import AirflowException +from airflow.providers.common.compat.sdk import AirflowException, conf from airflow.providers.keycloak.auth_manager.cli.definition import KEYCLOAK_AUTH_MANAGER_COMMANDS from airflow.providers.keycloak.auth_manager.constants import ( CONF_CLIENT_ID_KEY, diff --git a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/login.py b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/login.py index 48cec7dc89424..a9a402c2c6aa7 100644 --- a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/login.py +++ b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/login.py @@ -27,7 +27,7 @@ from airflow.api_fastapi.auth.managers.base_auth_manager import COOKIE_NAME_JWT_TOKEN from airflow.api_fastapi.common.router import AirflowRouter from airflow.api_fastapi.core_api.security import get_user -from airflow.configuration import conf +from airflow.providers.common.compat.sdk import conf from airflow.providers.keycloak.auth_manager.keycloak_auth_manager import KeycloakAuthManager from airflow.providers.keycloak.auth_manager.user import KeycloakAuthManagerUser from airflow.providers.keycloak.version_compat import AIRFLOW_V_3_1_1_PLUS diff --git a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/token.py b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/token.py index b3bb1bc1ff331..72c163884950c 100644 --- a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/token.py +++ b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/token.py @@ -23,7 +23,7 @@ from airflow.api_fastapi.common.router import AirflowRouter from airflow.api_fastapi.core_api.openapi.exceptions import create_openapi_http_exception_doc -from airflow.configuration import conf +from airflow.providers.common.compat.sdk import conf from airflow.providers.keycloak.auth_manager.datamodels.token import TokenBody, TokenResponse from airflow.providers.keycloak.auth_manager.services.token import create_token_for diff --git a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/services/token.py b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/services/token.py index 754966d7520ee..579e8de943115 100644 --- a/providers/keycloak/src/airflow/providers/keycloak/auth_manager/services/token.py +++ b/providers/keycloak/src/airflow/providers/keycloak/auth_manager/services/token.py @@ -22,7 +22,7 @@ from starlette import status from airflow.api_fastapi.app import get_auth_manager -from airflow.configuration import conf +from airflow.providers.common.compat.sdk import conf from airflow.providers.keycloak.auth_manager.keycloak_auth_manager import KeycloakAuthManager from airflow.providers.keycloak.auth_manager.user import KeycloakAuthManagerUser diff --git a/providers/keycloak/tests/unit/keycloak/auth_manager/services/test_token.py b/providers/keycloak/tests/unit/keycloak/auth_manager/services/test_token.py index 7fe47c08474d3..8f7ce72d4a8ec 100644 --- a/providers/keycloak/tests/unit/keycloak/auth_manager/services/test_token.py +++ b/providers/keycloak/tests/unit/keycloak/auth_manager/services/test_token.py @@ -22,7 +22,7 @@ import pytest from keycloak import KeycloakAuthenticationError -from airflow.configuration import conf +from airflow.providers.common.compat.sdk import conf from airflow.providers.keycloak.auth_manager.services.token import create_token_for from tests_common.test_utils.config import conf_vars From a86d1f28bb8de486cfc8332c6effe55f76dba993 Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sat, 3 Jan 2026 23:32:23 -0800 Subject: [PATCH 12/13] Reverting changes from old PR --- .pre-commit-config.yaml | 1 - .../unit/ti_deps/deps/test_not_previously_skipped_dep.py | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fe37e36b9c03e..3c44260d07012 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -463,7 +463,6 @@ repos: ^airflow-core/tests/unit/utils/test_db_cleanup.py$| ^airflow-core/tests/unit/utils/test_state.py$| ^airflow-core/tests/unit/utils/test_log_handlers.py$| - ^airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py$| ^airflow-core/tests/unit/utils/test_types.py$| ^airflow-core/tests/unit/dag_processing/test_manager.py$| ^airflow-core/tests/unit/dag_processing/test_processor.py$| diff --git a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py index 0227ca2325e9c..2957e39e6fed3 100644 --- a/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py +++ b/airflow-core/tests/unit/ti_deps/deps/test_not_previously_skipped_dep.py @@ -19,7 +19,6 @@ import pendulum import pytest -from sqlalchemy import delete from airflow.models import DagRun, TaskInstance from airflow.providers.standard.operators.empty import EmptyOperator @@ -37,8 +36,8 @@ @pytest.fixture(autouse=True) def clean_db(session): yield - session.execute(delete(DagRun)) - session.execute(delete(TaskInstance)) + session.query(DagRun).delete() + session.query(TaskInstance).delete() def test_no_parent(session, dag_maker): From 06530b0c9197e00cd208d7102ba4068aa466c61b Mon Sep 17 00:00:00 2001 From: Srabasti Date: Sun, 4 Jan 2026 16:06:21 -0800 Subject: [PATCH 13/13] pyproject.toml update to use next version --- providers/keycloak/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/keycloak/pyproject.toml b/providers/keycloak/pyproject.toml index 3096f690dc35a..433290a2801dc 100644 --- a/providers/keycloak/pyproject.toml +++ b/providers/keycloak/pyproject.toml @@ -59,7 +59,7 @@ requires-python = ">=3.10" # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build`` dependencies = [ "apache-airflow>=3.0.0", - "apache-airflow-providers-common-compat>=1.10.1", + "apache-airflow-providers-common-compat>=1.10.1", # use next version "python-keycloak>=5.0.0", ]