This is an automated email from the ASF dual-hosted git repository.
vincbeck pushed a change to branch vincbeck/fab_remove_sqla_limit
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit d73f9568ef9 Remove SQLA 1 limit in Fab provider
add 8d48d646bb8 Move an AirflowFailException test from core to SDK (#58671)
add 11079b6a59e Drop @dstandish from chart codeowners (#58675)
add 189c506e31c Fix task-sdk-integration-tests selective checks (#58683)
add c3e41f682ac Add one as a fallback grid value for number of dagruns
(#58680)
add 2da6f69d61f Remove deprecation warning in Fab provider (#58686)
add b6115687ad0 Extra tests for db cleanup and fix cronjob image secrets
(#58626)
add dc6f19ff0d6 Add missing Dag run table translation (#58572)
add caab2a99d11 Fix for object rendering in HITL interface (#58611)
add c7a9f79d8f4 56058: Removing refresh state consumption for Dag header
(#58389)
add 6c1cefe0597 Add database cleanup options and remove deprecated
securityContext field (#58663)
add 2f70917cfb1 Improve UX for adding custom DeadlineReferences (#57222)
add f56ab69ac7b Check for cluster stability just before the transfer
(#58690)
add a21fb594cb2 Add missing PL translations 2025-11-24 (#58640)
add 2866191e754 Make click group naming consistent - all contain now
_group suffix (#58677)
add 970f0ef31c3 Fix mypy errors in
`airflow-core/src/airflow/models/taskinstance.py` (#58685)
add 19e0a9adc17 docs: Clarify masking in Connection extra JSON is
keyword-dependent (#58587)
add 72554500bd5 feat(snowflake): add support for cancelling running
queries via SQL API (#56164)
add 6d36d7b4ff7 CI: Upgrade important CI environment (#58696)
add 1aa9b7af38b Fix automatic backport workflow race condition (#58705)
add d0fa9042ee1 Docs: Clarify that masking in Connection 'extra' JSON is
keyword-dependent (#58515)
add 8d121e175d3 fix(asset-alias): Preserve `Asset.extra` when using
`AssetAlias` (#58038)
add b54700e7b75 Update zizmor-pre-commit hook revision to fix CI upgrade
checks (#58713)
add 17873f55864 Fix task-sdk-integration-tests not running when only test
files change (#58715)
add b7b4385c8b0 add mprocs support for `breeze start-airflow` command
(#58702)
add 80cb4c69e38 feat: auto-inject OpenLineage parent info into
TriggerDagRunOperator conf (#58672)
add c52606a7a74 Move out some exceptions to TaskSDK (#54505)
add 3f30adf570b feat: Adjust compat HookLevelLineage for new add_extra
method (#58057)
add efecace7b64 Remove SQLA 1 limit in Fab provider
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (d73f9568ef9)
\
N -- N -- N refs/heads/vincbeck/fab_remove_sqla_limit
(efecace7b64)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 2 +-
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 2 +-
.github/workflows/additional-prod-image-tests.yml | 5 +
.github/workflows/automatic-backport.yml | 10 +-
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/ci-amd-arm.yml | 2 +
.github/workflows/release_dockerhub_image.yml | 2 +-
.pre-commit-config.yaml | 2 +-
Dockerfile | 2 +-
Dockerfile.ci | 24 +-
airflow-core/docs/howto/deadline-alerts.rst | 83 +-
.../security/secrets/mask-sensitive-values.rst | 46 +-
airflow-core/newsfragments/54505.significant.rst | 60 ++
airflow-core/src/airflow/dag_processing/dagbag.py | 5 +-
.../src/airflow/dag_processing/processor.py | 2 +-
.../src/airflow/example_dags/example_skip_dag.py | 2 +-
airflow-core/src/airflow/exceptions.py | 326 ++-----
airflow-core/src/airflow/models/taskinstance.py | 31 +-
.../airflow/serialization/serialized_objects.py | 4 +-
.../airflow/ui/public/i18n/locales/pl/assets.json | 1 +
.../airflow/ui/public/i18n/locales/pl/common.json | 5 +-
.../ui/public/i18n/locales/pl/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 12 +
.../airflow/ui/public/i18n/locales/pl/dags.json | 5 +
.../airflow/ui/public/i18n/locales/pl/hitl.json | 3 +-
.../src/airflow/ui/src/components/HeaderCard.tsx | 6 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 10 +-
.../src/airflow/ui/src/pages/Asset/Header.tsx | 10 +-
airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx | 8 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 3 -
airflow-core/src/airflow/ui/src/pages/DagRuns.tsx | 4 +-
.../pages/GroupTaskInstance/GroupTaskInstance.tsx | 10 +-
.../ui/src/pages/GroupTaskInstance/Header.tsx | 9 +-
.../ui/src/pages/MappedTaskInstance/Header.tsx | 9 +-
.../MappedTaskInstance/MappedTaskInstance.tsx | 9 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 9 +-
airflow-core/src/airflow/ui/src/pages/Run/Run.tsx | 7 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 9 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 5 +-
airflow-core/src/airflow/ui/src/utils/hitl.test.ts | 65 ++
airflow-core/src/airflow/ui/src/utils/hitl.ts | 33 +-
airflow-core/tests/unit/dags/test_assets.py | 2 +-
.../tests/unit/dags/test_on_failure_callback.py | 2 +-
airflow-core/tests/unit/models/test_deadline.py | 234 ++++-
.../tests/unit/models/test_taskinstance.py | 17 -
.../unit/serialization/test_serialized_objects.py | 5 +-
.../ti_deps/deps/test_mapped_task_upstream_dep.py | 2 +-
.../database-cleanup/database-cleanup-cronjob.yaml | 5 +-
chart/values.schema.json | 42 +-
chart/values.yaml | 19 +-
contributing-docs/03_contributors_quick_start.rst | 24 +-
.../20_debugging_airflow_components.rst | 22 +
contributing-docs/mprocs/MPROCS_QUICK_REFERENCE.md | 99 +++
contributing-docs/mprocs/README.md | 123 +++
contributing-docs/mprocs/basic.yaml | 58 ++
dev/breeze/doc/03_developer_tasks.rst | 1 +
dev/breeze/doc/ci/02_images.md | 2 +-
dev/breeze/doc/images/output-commands.svg | 4 +-
dev/breeze/doc/images/output_start-airflow.svg | 276 +++---
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
dev/breeze/src/airflow_breeze/breeze.py | 28 +-
.../airflow_breeze/commands/ci_image_commands.py | 16 +-
.../src/airflow_breeze/commands/common_options.py | 8 +
.../airflow_breeze/commands/developer_commands.py | 6 +-
.../commands/developer_commands_config.py | 1 +
.../commands/minor_release_command.py | 4 +-
.../commands/production_image_commands.py | 12 +-
.../commands/release_candidate_command.py | 6 +-
.../src/airflow_breeze/commands/release_command.py | 4 +-
.../commands/release_management_commands.py | 58 +-
.../commands/release_management_group.py | 2 +-
.../commands/release_management_validation.py | 4 +-
.../src/airflow_breeze/commands/sbom_commands.py | 16 +-
.../src/airflow_breeze/commands/setup_commands.py | 16 +-
.../airflow_breeze/commands/testing_commands.py | 28 +-
.../airflow_breeze/commands/workflow_commands.py | 4 +-
dev/breeze/src/airflow_breeze/global_constants.py | 3 +-
.../src/airflow_breeze/params/shell_params.py | 4 +
.../src/airflow_breeze/utils/selective_checks.py | 13 +-
dev/breeze/src/airflow_breeze/utils/visuals.py | 2 +
dev/breeze/tests/test_selective_checks.py | 39 +-
dev/breeze/uv.lock | 77 +-
.../src/tests_common/test_utils/version_compat.py | 1 -
.../helm_tests/airflow_aux/test_airflow_common.py | 20 +-
.../helm_tests/airflow_aux/test_annotations.py | 30 +
.../airflow_aux/test_basic_helm_chart.py | 6 +
...se_cleanup_pods.py => test_database_cleanup.py} | 49 +-
helm-tests/tests/helm_tests/security/test_rbac.py | 31 +
.../airflow/providers/amazon/aws/hooks/datasync.py | 3 +-
.../providers/amazon/aws/hooks/step_function.py | 2 +-
.../providers/amazon/aws/operators/datasync.py | 3 +-
.../tests/system/amazon/aws/example_s3_to_sql.py | 9 +
.../tests/system/amazon/aws/example_sql_to_s3.py | 9 +
.../providers/celery/executors/celery_executor.py | 3 +-
.../celery/executors/celery_executor_utils.py | 4 +-
.../providers/cncf/kubernetes/exceptions.py | 4 +-
.../providers/cncf/kubernetes/operators/pod.py | 8 +-
.../providers/cncf/kubernetes/version_compat.py | 6 +-
.../kubernetes/decorators/test_kubernetes_cmd.py | 2 +-
.../providers/common/compat/lineage/hook.py | 198 ++++-
.../src/airflow/providers/common/compat/sdk.py | 35 +
.../providers/common/compat/version_compat.py | 4 +-
.../tests/unit/common/compat/lineage/test_hook.py | 977 ++++++++++++++++++++-
.../airflow/providers/common/sql/operators/sql.py | 9 +-
.../src/airflow/providers/docker/exceptions.py | 3 +-
.../providers/edge3/example_dags/win_test.py | 3 +-
.../fab/www/extensions/init_appbuilder.py | 2 +-
providers/fab/www-hash.txt | 2 +-
.../providers/google/cloud/operators/bigquery.py | 3 +-
.../google/cloud/sensors/cloud_composer.py | 4 +-
.../google/suite/transfers/local_to_drive.py | 2 +-
.../providers/microsoft/azure/hooks/synapse.py | 4 +-
.../azure/operators/container_instances.py | 4 +-
.../providers/microsoft/azure/operators/msgraph.py | 4 +-
.../airflow/providers/openlineage/utils/utils.py | 1 +
.../providers/slack/transfers/sql_to_slack.py | 3 +-
.../providers/snowflake/hooks/snowflake_sql_api.py | 17 +-
.../providers/snowflake/operators/snowflake.py | 7 +
.../unit/snowflake/hooks/test_snowflake_sql_api.py | 36 +
.../unit/snowflake/operators/test_snowflake.py | 30 +
.../ssh/src/airflow/providers/ssh/operators/ssh.py | 4 +-
providers/standard/pyproject.toml | 8 +
.../example_dags/example_bash_decorator.py | 2 +-
.../airflow/providers/standard/operators/bash.py | 4 +-
.../airflow/providers/standard/operators/python.py | 3 +-
.../providers/standard/operators/trigger_dagrun.py | 32 +-
.../src/airflow/providers/standard/sensors/bash.py | 3 +-
.../providers/standard/sensors/external_task.py | 3 +-
.../providers/standard/sensors/time_delta.py | 4 +-
.../airflow/providers/standard/triggers/hitl.py | 2 +-
.../providers/standard/utils/openlineage.py | 185 ++++
.../airflow/providers/standard/utils/skipmixin.py | 2 +-
.../unit/standard/operators/test_trigger_dagrun.py | 422 ++++++++-
.../tests/unit/standard/utils/test_openlineage.py | 470 ++++++++++
pyproject.toml | 2 +-
scripts/docker/entrypoint_ci.sh | 12 +-
scripts/in_container/bin/generate_mprocs_config.py | 215 +++++
.../bin/run_mprocs} | 37 +-
scripts/in_container/bin/run_tmux | 9 -
scripts/tools/setup_breeze | 2 +-
.../tests/task_sdk_tests/test_task_sdk_health.py | 4 +-
task-sdk/src/airflow/sdk/bases/operator.py | 13 +-
task-sdk/src/airflow/sdk/bases/sensor.py | 22 +-
.../sdk/definitions/_internal/setup_teardown.py | 2 +-
.../src/airflow/sdk/definitions/asset/__init__.py | 1 +
task-sdk/src/airflow/sdk/definitions/connection.py | 3 +-
task-sdk/src/airflow/sdk/definitions/dag.py | 15 +-
task-sdk/src/airflow/sdk/definitions/deadline.py | 89 +-
.../sdk/definitions/decorators/condition.py | 2 +-
.../sdk/definitions/decorators/setup_teardown.py | 2 +-
.../airflow/sdk/definitions/operator_resources.py | 3 +-
task-sdk/src/airflow/sdk/definitions/param.py | 4 +-
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 15 +-
task-sdk/src/airflow/sdk/definitions/xcom_arg.py | 2 +-
task-sdk/src/airflow/sdk/exceptions.py | 255 +++++-
task-sdk/src/airflow/sdk/execution_time/context.py | 22 +-
.../src/airflow/sdk/execution_time/task_runner.py | 16 +-
task-sdk/src/airflow/sdk/execution_time/timeout.py | 2 +-
task-sdk/tests/task_sdk/bases/test_hook.py | 2 +-
task-sdk/tests/task_sdk/bases/test_operator.py | 2 +-
task-sdk/tests/task_sdk/bases/test_sensor.py | 30 +-
.../definitions/decorators/test_setup_teardown.py | 2 +-
.../tests/task_sdk/definitions/test_connection.py | 3 +-
task-sdk/tests/task_sdk/definitions/test_dag.py | 3 +-
task-sdk/tests/task_sdk/definitions/test_param.py | 2 +-
.../tests/task_sdk/definitions/test_xcom_arg.py | 2 +-
.../tests/task_sdk/execution_time/test_context.py | 47 +-
.../task_sdk/execution_time/test_task_runner.py | 53 +-
169 files changed, 4722 insertions(+), 998 deletions(-)
create mode 100644 airflow-core/newsfragments/54505.significant.rst
create mode 100644 airflow-core/src/airflow/ui/src/utils/hitl.test.ts
create mode 100644 contributing-docs/mprocs/MPROCS_QUICK_REFERENCE.md
create mode 100644 contributing-docs/mprocs/README.md
create mode 100644 contributing-docs/mprocs/basic.yaml
rename helm-tests/tests/helm_tests/airflow_aux/{test_database_cleanup_pods.py
=> test_database_cleanup.py} (90%)
create mode 100644
providers/standard/src/airflow/providers/standard/utils/openlineage.py
create mode 100644
providers/standard/tests/unit/standard/utils/test_openlineage.py
create mode 100755 scripts/in_container/bin/generate_mprocs_config.py
copy scripts/{ci/dockerfiles/krb5-kdc-server/utils/create_admin.sh =>
in_container/bin/run_mprocs} (57%)