This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch ci-upgrade-main
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 05d1818f332 [main] CI: Upgrade important CI environment
add f44bb16d825 Use common.compat.sdk for the remaining provider timezone
imports (#71209)
add b03e48a875d Support a Unix Domain Socket for the StatsD and Datadog
metrics clients (#70517)
add 98747f873f2 Fix Vertex AI hook silently discarding credentials when
vertexai flag is set (#72012)
add c081c558f1c UI: Show partition preview in backfill form for
partitioned Dags (#68884)
add c8aeb434c51 Fix Azure AD tenant identifier canonicalization in FAB
auth manager (#71920)
add 20229e47c99 Java SDK: Clearer error when a task class cannot be
instantiated (#69827)
add fcac4a1941a Fix OpenSearch remote logging crash if port is empty
(#71170)
add 9b9fc0eec64 Make the FAB roles PATCH endpoint replace permissions, not
just add them (#71933)
add 88df8950444 Bump @7nohe/openapi-react-query-codegen from 2.2.0 to
3.0.2 in /airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui (#71900)
add d4aa2093b80 Support Azure national clouds in FAB Azure AD id_token
validation (#72010)
add 37dd6c8efa2 docs: clarify otel_* options for metrics vs traces (#71158)
add 518fed3ac90 Add Apache Arrow provider (#52330)
add a0d563aa4b3 UI: Add team column and filter to the audit log (#71916)
add fa00af4d044 Update multi-team docs to match the teams CLI and name
rules (#72045)
new fab2431053e [main] CI: Upgrade important CI environment
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 (05d1818f332)
\
N -- N -- N refs/heads/ci-upgrade-main (fab2431053e)
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.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 1 +
.github/boring-cyborg.yml | 3 +
.pre-commit-config.yaml | 2 +-
.../logging-monitoring/metrics.rst | 34 ++
.../language-sdks/java.rst | 23 +-
airflow-core/docs/core-concepts/multi-team.rst | 50 +-
airflow-core/docs/extra-packages-ref.rst | 2 +
airflow-core/docs/migrations-ref.rst | 4 +-
.../simple/ui/openapi-gen/queries/common.ts | 22 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 21 +-
.../simple/ui/openapi-gen/queries/index.ts | 3 +-
.../ui/openapi-gen/queries/infiniteQueries.ts | 2 +-
.../simple/ui/openapi-gen/queries/prefetch.ts | 21 +-
.../simple/ui/openapi-gen/queries/queries.ts | 30 +-
.../simple/ui/openapi-gen/queries/queryOptions.ts | 37 ++
.../simple/ui/openapi-gen/queries/suspense.ts | 20 +-
.../simple/ui/openapi-gen/requests/services.gen.ts | 4 +-
.../auth/managers/simple/ui/package.json | 2 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 14 +-
.../api_fastapi/core_api/datamodels/event_logs.py | 1 +
.../core_api/openapi/v2-rest-api-generated.yaml | 13 +
.../core_api/routes/public/event_logs.py | 7 +
.../src/airflow/api_fastapi/logging/decorators.py | 46 +-
airflow-core/src/airflow/cli/cli_config.py | 3 +-
.../config_templates/airflow_local_settings.py | 5 +-
.../src/airflow/config_templates/config.yml | 47 +-
.../src/airflow/jobs/scheduler_job_runner.py | 11 +-
...t_uri.py => 0132_3_4_0_add_team_name_to_log.py} | 27 +-
airflow-core/src/airflow/models/log.py | 48 +-
.../observability/metrics/datadog_logger.py | 1 +
.../airflow/observability/metrics/statsd_logger.py | 52 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 5 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 6 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 6 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 6 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 6 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 11 +
.../ui/openapi-gen/requests/services.gen.ts | 4 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 2 +
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../ui/public/i18n/locales/en/components.json | 4 +
.../ui/public/i18n/locales/zh-TW/common.json | 2 +
.../ui/public/i18n/locales/zh-TW/components.json | 4 +
.../DagActions/PartitionPreviewTable.tsx | 67 +++
.../components/DagActions/RunBackfillForm.test.tsx | 213 +++++++
.../src/components/DagActions/RunBackfillForm.tsx | 11 +-
.../components/DagActions/inlineMessage.test.tsx | 235 ++++++++
.../ui/src/components/DagActions/inlineMessage.tsx | 67 ++-
.../src/airflow/ui/src/pages/Events/Events.tsx | 22 +-
.../airflow/ui/src/pages/Events/EventsFilters.tsx | 6 +
airflow-core/src/airflow/utils/cli.py | 8 +-
.../src/airflow/utils/cli_action_loggers.py | 5 +-
airflow-core/src/airflow/utils/db.py | 2 +-
.../always/test_secrets_environment_variables.py | 4 +-
.../core_api/routes/public/test_event_logs.py | 55 ++
.../unit/api_fastapi/logging/test_decorators.py | 137 +++++
.../test_airflow_local_settings.py | 28 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 46 +-
airflow-core/tests/unit/models/test_log.py | 88 +++
.../tests/unit/observability/metrics/test_stats.py | 36 +-
airflow-core/tests/unit/utils/test_cli_util.py | 58 ++
.../src/airflowctl/api/datamodels/generated.py | 1 +
airflow-e2e-tests/docker/java.yml | 12 +-
airflow-e2e-tests/java-test-bundle/.gitignore | 2 +
.../java-test-bundle}/build.gradle | 5 +-
.../java-test-bundle}/gradle.properties | 5 +-
.../java-test-bundle}/settings.gradle | 6 +-
.../org/apache/airflow/e2e/TestBundleBuilder.java | 62 ++
.../src/resources/dags/java_test_dags.py | 22 +-
.../tests/airflow_e2e_tests/conftest.py | 45 +-
.../tests/airflow_e2e_tests/constants.py | 7 +
.../java_sdk_tests/test_java_sdk_dag.py | 130 +++-
dev/breeze/doc/ci/04_selective_checks.md | 7 +
dev/breeze/doc/images/output_build-docs.svg | 22 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 22 +-
...tput_release-management_add-back-references.txt | 2 +-
...elease-management_classify-provider-changes.svg | 22 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 22 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 26 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 22 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 22 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 22 +-
.../output_release-management_publish-docs.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 10 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 22 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../src/airflow_breeze/utils/selective_checks.py | 1 +
dev/breeze/tests/test_selective_checks.py | 11 +-
docs/spelling_wordlist.txt | 4 +
.../org/apache/airflow/sdk/execution/Task.kt | 37 +-
.../org/apache/airflow/sdk/execution/TaskTest.kt | 119 ++++
.../alibaba/cloud/log/test_oss_task_handler.py | 4 +-
.../executors/utils/exponential_backoff_retry.py | 5 +-
.../tests/system/amazon/aws/example_mongo_to_s3.py | 4 +-
.../amazon/tests/system/amazon/aws/example_mwaa.py | 4 +-
.../amazon/aws/executors/ecs/test_ecs_executor.py | 5 +-
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 77 ++-
.../amazon/aws/log/test_cloudwatch_task_handler.py | 20 +-
.../unit/amazon/aws/log/test_s3_task_handler.py | 10 +-
.../tests/unit/amazon/aws/operators/test_s3.py | 29 +-
.../unit/amazon/aws/transfers/test_s3_to_sftp.py | 4 +-
.../unit/amazon/aws/transfers/test_sftp_to_s3.py | 4 +-
.../apache/arrow}/.gitignore | 0
LICENSE => providers/apache/arrow/LICENSE | 0
NOTICE => providers/apache/arrow/NOTICE | 0
providers/{common/ai => apache/arrow}/README.rst | 93 +--
.../docs/.latest-doc-only-change.txt | 0
.../{ibm/db2 => apache/arrow}/docs/changelog.rst | 18 +-
.../{airbyte => apache/arrow}/docs/commits.rst | 6 +-
providers/{amazon => apache/arrow}/docs/conf.py | 2 +-
providers/apache/arrow/docs/connections/adbc.rst | 196 ++++++
providers/apache/{druid => arrow}/docs/index.rst | 98 ++-
.../docs/installing-providers-from-sources.rst | 0
.../arrow/docs/integration-logos/apache-arrow.png | Bin 0 -> 36163 bytes
providers/apache/arrow/docs/operators.rst | 39 ++
providers/apache/arrow/docs/redirects.txt | 1 +
providers/apache/{beam => arrow}/docs/security.rst | 0
providers/apache/{impala => arrow}/provider.yaml | 61 +-
providers/apache/{druid => arrow}/pyproject.toml | 50 +-
.../mq => apache/arrow}/src/airflow/__init__.py | 0
.../arrow/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/apache}/__init__.py | 0
.../src/airflow/providers/apache/arrow/LICENSE | 0
.../airflow/providers/apache/arrow}/__init__.py | 4 +-
.../providers/apache/arrow}/get_provider_info.py | 29 +-
.../providers/apache/arrow/hooks}/__init__.py | 0
.../airflow/providers/apache/arrow/hooks/adbc.py | 345 +++++++++++
.../{airbyte => apache/arrow}/tests/conftest.py | 0
.../arrow/tests/system}/__init__.py | 0
.../arrow/tests/system/apache}/__init__.py | 0
.../arrow/tests/system/apache/arrow}/__init__.py | 0
.../tests/system/apache/arrow/example_adbc.py | 96 +++
.../arrow/tests/unit}/__init__.py | 0
.../arrow/tests/unit/apache}/__init__.py | 0
.../arrow/tests/unit/apache/arrow}/__init__.py | 0
.../tests/unit/apache/arrow/hooks}/__init__.py | 0
.../tests/unit/apache/arrow/hooks/test_adbc.py | 388 ++++++++++++
.../unit/apache/hdfs/log/test_hdfs_task_handler.py | 4 +-
.../hive/sensors/test_named_hive_partition.py | 5 +-
.../unit/apache/kylin/operators/test_kylin_cube.py | 4 +-
.../unit/celery/executors/test_celery_executor.py | 5 +-
.../unit/celery/log_handlers/test_log_handlers.py | 4 +-
.../kubernetes/executors/kubernetes_executor.py | 2 +-
.../executors/test_kubernetes_executor.py | 8 +-
.../kubernetes/log_handlers/test_log_handlers.py | 9 +-
.../cncf/kubernetes/test_template_rendering.py | 2 +-
.../ai/docs/connections/pydantic_ai_vertex.rst | 16 +-
providers/common/ai/provider.yaml | 4 +-
.../providers/common/ai/get_provider_info.py | 4 +-
.../providers/common/ai/hooks/pydantic_ai.py | 31 +-
.../tests/unit/common/ai/hooks/test_pydantic_ai.py | 88 ++-
.../system/common/sql/example_sql_bulk_load.py | 4 +-
.../system/common/sql/example_sql_execute_query.py | 4 +-
.../system/common/sql/example_sql_insert_rows.py | 4 +-
.../common/sql/example_sql_threshold_check.py | 4 +-
.../tests/unit/common/sql/decorators/test_sql.py | 7 +-
.../tests/unit/common/sql/operators/test_sql.py | 3 +-
.../sql/tests/unit/common/sql/sensors/test_sql.py | 5 +-
.../databricks/example_databricks_workflow.py | 4 +-
.../providers/elasticsearch/log/es_task_handler.py | 4 +-
providers/fab/docs/auth-manager/sso.rst | 21 +
.../fab/auth_manager/api_fastapi/services/roles.py | 67 ++-
.../fab/auth_manager/security_manager/override.py | 314 ++++++++--
.../api_fastapi/services/test_roles.py | 228 +++++--
.../auth_manager/security_manager/test_override.py | 664 +++++++++++++++++++--
.../unit/google/cloud/log/test_gcs_task_handler.py | 5 +-
.../unit/google/cloud/operators/test_bigquery.py | 4 +-
.../google/cloud/operators/test_cloud_build.py | 5 +-
.../unit/google/cloud/operators/test_looker.py | 5 +-
.../unit/google/cloud/transfers/test_s3_to_gcs.py | 5 +-
.../http/tests/unit/http/sensors/test_http.py | 5 +-
.../microsoft/azure/log/test_wasb_task_handler.py | 4 +-
.../unit/microsoft/azure/operators/test_adx.py | 4 +-
.../unit/microsoft/azure/operators/test_msgraph.py | 7 +-
.../unit/microsoft/azure/operators/test_powerbi.py | 8 +-
.../microsoft/azure/operators/test_powerbi_list.py | 8 +-
.../unit/openlineage/plugins/test_listener.py | 8 +-
.../providers/opensearch/log/os_task_handler.py | 5 +-
.../unit/opensearch/operators/test_opensearch.py | 4 +-
.../operators/test_snowflake_cortex_agent.py | 2 +-
.../tests/unit/standard/decorators/test_bash.py | 7 +-
.../standard/decorators/test_external_python.py | 5 +-
.../tests/unit/standard/decorators/test_python.py | 5 +-
.../tests/unit/standard/operators/test_datetime.py | 9 +-
.../unit/standard/operators/test_trigger_dagrun.py | 6 +-
.../standard/sensors/test_external_task_sensor.py | 14 +-
.../tests/unit/standard/sensors/test_filesystem.py | 11 +-
.../unit/standard/utils/test_sensor_helper.py | 5 +-
.../tests/unit/standard/utils/test_skipmixin.py | 7 +-
pyproject.toml | 10 +
scripts/ci/docker-compose/remove-sources.yml | 1 +
scripts/ci/docker-compose/tests-sources.yml | 1 +
.../observability/metrics/datadog_logger.py | 5 +-
.../observability/metrics/statsd_logger.py | 77 ++-
.../tests/observability/metrics/test_stats.py | 59 +-
.../sdk/observability/metrics/datadog_logger.py | 1 +
.../sdk/observability/metrics/statsd_logger.py | 52 +-
uv.lock | 564 ++++++++++-------
205 files changed, 5266 insertions(+), 1173 deletions(-)
create mode 100644
airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/openapi-gen/queries/queryOptions.ts
copy
airflow-core/src/airflow/migrations/versions/{0126_3_4_0_add_index_on_asset_uri.py
=> 0132_3_4_0_add_team_name_to_log.py} (65%)
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/PartitionPreviewTable.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/RunBackfillForm.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/inlineMessage.test.tsx
create mode 100644 airflow-e2e-tests/java-test-bundle/.gitignore
copy {java-sdk/example => airflow-e2e-tests/java-test-bundle}/build.gradle
(86%)
copy {kubernetes-tests/lang_sdk/java_example =>
airflow-e2e-tests/java-test-bundle}/gradle.properties (95%)
copy {java-sdk/example => airflow-e2e-tests/java-test-bundle}/settings.gradle
(84%)
create mode 100644
airflow-e2e-tests/java-test-bundle/src/java/org/apache/airflow/e2e/TestBundleBuilder.java
copy
java-sdk/scala_spark_example/src/main/resources/dags/scala_spark_examples.py =>
airflow-e2e-tests/java-test-bundle/src/resources/dags/java_test_dags.py (71%)
copy {airflow-core => providers/apache/arrow}/.gitignore (100%)
copy LICENSE => providers/apache/arrow/LICENSE (100%)
copy NOTICE => providers/apache/arrow/NOTICE (100%)
copy providers/{common/ai => apache/arrow}/README.rst (51%)
copy providers/apache/{beam => arrow}/docs/.latest-doc-only-change.txt (100%)
copy providers/{ibm/db2 => apache/arrow}/docs/changelog.rst (65%)
copy providers/{airbyte => apache/arrow}/docs/commits.rst (90%)
copy providers/{amazon => apache/arrow}/docs/conf.py (98%)
create mode 100644 providers/apache/arrow/docs/connections/adbc.rst
copy providers/apache/{druid => arrow}/docs/index.rst (50%)
copy providers/apache/{beam =>
arrow}/docs/installing-providers-from-sources.rst (100%)
create mode 100644
providers/apache/arrow/docs/integration-logos/apache-arrow.png
create mode 100644 providers/apache/arrow/docs/operators.rst
create mode 100644 providers/apache/arrow/docs/redirects.txt
copy providers/apache/{beam => arrow}/docs/security.rst (100%)
copy providers/apache/{impala => arrow}/provider.yaml (56%)
copy providers/apache/{druid => arrow}/pyproject.toml (81%)
copy providers/{ibm/mq => apache/arrow}/src/airflow/__init__.py (100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/src/airflow/providers}/__init__.py (100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/src/airflow/providers/apache}/__init__.py (100%)
copy LICENSE =>
providers/apache/arrow/src/airflow/providers/apache/arrow/LICENSE (100%)
copy providers/apache/{drill/src/airflow/providers/apache/drill =>
arrow/src/airflow/providers/apache/arrow}/__init__.py (94%)
copy providers/apache/{kylin/src/airflow/providers/apache/kylin =>
arrow/src/airflow/providers/apache/arrow}/get_provider_info.py (57%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/src/airflow/providers/apache/arrow/hooks}/__init__.py
(100%)
create mode 100644
providers/apache/arrow/src/airflow/providers/apache/arrow/hooks/adbc.py
copy providers/{airbyte => apache/arrow}/tests/conftest.py (100%)
copy providers/{ibm/mq/src/airflow => apache/arrow/tests/system}/__init__.py
(100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/tests/system/apache}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/tests/system/apache/arrow}/__init__.py (100%)
create mode 100644
providers/apache/arrow/tests/system/apache/arrow/example_adbc.py
copy providers/{ibm/mq/src/airflow => apache/arrow/tests/unit}/__init__.py
(100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/tests/unit/apache}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/tests/unit/apache/arrow}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/tests/unit/apache/arrow/hooks}/__init__.py (100%)
create mode 100644
providers/apache/arrow/tests/unit/apache/arrow/hooks/test_adbc.py