This is an automated email from the ASF dual-hosted git repository.
shahar1 pushed a change to branch drop-py310/4-ruff-core-sdk
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 0ddbca1bf4c Apply ruff Python 3.11 fixes to core, Task SDK, shared and
airflowctl
discard 48ba311f28d Remove Python 3.10 compatibility shims
discard 861d045ea53 Bump inline script metadata to Python 3.11
discard 05280996cfc Give the image build speed check room for a cold Python
3.11+ build
discard 723a2b6f3c9 Pin host-side uv test jobs to the default CI Python and
revert unrelated notebook change
discard 4bfabfedf6c Drop Python 3.10 from CI, Breeze and the container images
add 79bc6439a9c Always clear the session cookie on logout (#73788)
add a1b02e26f3d Support Python patch exclusions in provider metadata
(#73598)
add bdfc5555305 Add configurable request timeout for the Airbyte API
(#71092)
add b2c215cc037 Fix Beam async hook launching pipelines through a shell
(#72510)
add d2883eead5c Fix Cloud SQL 409 operationInProgress on import/export
operations (#68361)
add c688a6f0abc Add breeze verify to list local checks for changed files
(#73241)
add 07c9ceba527 Fail provider DB test jobs when their tests fail (#74172)
add 043f97c2b00 Test get_async_extra_dejson against the real supervisor
comms (#74166)
add 592cf3ffdd2 Use the current user in the HITL detail tests instead of
hardcoding (#74184)
add 8331bb485c5 Read the msgraph connection extra with
get_async_extra_dejson (#74161)
add b156582855c Fix OpenSearch provider log pagination (#73947)
add c8b136358ce Allow OpensearchTaskHandler and OpensearchRemoteLogIO to
take empty username and password (#71692)
add cc94831e213 Fix docstring cross-references that Sphinx 9 cannot
resolve (#74169)
add b58cfa912a9 Add an API endpoint and UI tab comparing two stored Dag
versions (#73322)
add d1d5b1af26e Adapt GCP BigtableHook to run in private cloud (#73181)
add b3674d43be0 `SparkSubmitHook`: Mask `_mask_cmd` secrets in linear time
(#71711)
add 8d5814c09d5 Bump the react group across 1 directory with 4 updates
(#73334)
add 7e448f70af5 Use async database access for Variable key listing (#73407)
add dd09d75bce2 [DO NOT MERGE] Cherry-pick #74200 (deflake backfill e2e on
WebKit) to verify CI
add de14deb2f94 [DO NOT MERGE] Cherry-pick #74190 (skip empty OpenLineage
hook lineage collector) to verify CI
add edfd62b644e Drop Python 3.10 from CI, Breeze and the container images
add 35f7d637cf3 Bump inline script metadata to Python 3.11
add da6f8de556b Remove Python 3.10 compatibility shims
add 0cbcbd7e8e3 Apply ruff Python 3.11 fixes to core, Task SDK, shared and
airflowctl
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 (0ddbca1bf4c)
\
N -- N -- N refs/heads/drop-py310/4-ruff-core-sdk (0cbcbd7e8e3)
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:
.agents/skills/airflow-publish-changes/SKILL.md | 2 +-
AGENTS.md | 1 +
airflow-core/docs/security/api_permissions_ref.rst | 4 +
airflow-core/docs/security/security_model.rst | 9 +
.../src/airflow/api_fastapi/auth/tokens.py | 24 +-
.../core_api/datamodels/dag_versions.py | 158 ++++++++++
.../core_api/openapi/v2-rest-api-generated.yaml | 273 ++++++++++++++++
.../api_fastapi/core_api/routes/public/auth.py | 9 +-
.../core_api/routes/public/dag_versions.py | 98 +++++-
.../api_fastapi/execution_api/routes/variables.py | 10 +-
airflow-core/src/airflow/provider.yaml.schema.json | 5 +-
.../src/airflow/serialization/dag_version_diff.py | 3 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 18 ++
.../ui/openapi-gen/queries/ensureQueryData.ts | 38 +++
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 38 +++
.../src/airflow/ui/openapi-gen/queries/queries.ts | 38 +++
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 38 +++
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 188 +++++++++++
.../ui/openapi-gen/requests/services.gen.ts | 72 ++++-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 143 +++++++++
airflow-core/src/airflow/ui/package.json | 8 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 342 ++++++++++-----------
.../ui/public/i18n/locales/en/components.json | 1 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 63 ++++
.../src/components/VersionCompareSelect.test.tsx | 82 +++++
.../Code => components}/VersionCompareSelect.tsx | 4 +-
.../src/airflow/ui/src/constants/searchParams.ts | 3 +
airflow-core/src/airflow/ui/src/constants/tab.ts | 1 +
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 2 +-
airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx | 3 +-
.../pages/Dag/Versions/VersionDiff.i18n.test.tsx | 83 +++++
.../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 275 +++++++++++++++++
.../ui/src/pages/Dag/Versions/VersionDiff.tsx | 197 ++++++++++++
.../ui/src/pages/Dag/Versions/Versions.test.tsx | 227 ++++++++++++++
.../airflow/ui/src/pages/Dag/Versions/Versions.tsx | 182 +++++++++++
.../Details/Gantt => pages/Dag/Versions}/index.ts | 3 +-
airflow-core/src/airflow/ui/src/router.tsx | 6 +
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 26 +-
.../tests/unit/always/test_provider_yaml_schema.py | 10 +
.../tests/unit/api_fastapi/auth/test_tokens.py | 43 +++
.../core_api/routes/public/test_auth.py | 45 ++-
.../core_api/routes/public/test_dag_versions.py | 296 ++++++++++++++++++
.../core_api/routes/public/test_hitl.py | 3 +-
.../src/airflowctl/api/datamodels/generated.py | 157 ++++++++++
contributing-docs/08_static_code_checks.rst | 1 +
dev/breeze/doc/03_developer_tasks.rst | 55 ++++
dev/breeze/doc/ci/04_selective_checks.md | 5 +
dev/breeze/doc/images/output-commands.svg | 68 ++--
.../output_setup_check-all-params-in-groups.svg | 4 +-
.../output_setup_check-all-params-in-groups.txt | 2 +-
.../output_setup_regenerate-command-images.svg | 4 +-
.../output_setup_regenerate-command-images.txt | 2 +-
dev/breeze/doc/images/output_verify.svg | 128 ++++++++
dev/breeze/doc/images/output_verify.txt | 1 +
dev/breeze/src/airflow_breeze/breeze.py | 1 +
.../commands/developer_commands_config.py | 11 +
.../airflow_breeze/commands/testing_commands.py | 10 +
.../src/airflow_breeze/commands/verify_commands.py | 180 +++++++++++
dev/breeze/src/airflow_breeze/global_constants.py | 4 +-
dev/breeze/src/airflow_breeze/utils/packages.py | 9 +-
.../src/airflow_breeze/utils/reproduce_ci.py | 10 +-
.../src/airflow_breeze/utils/verification_plan.py | 170 ++++++++++
dev/breeze/tests/test_packages.py | 27 ++
dev/breeze/tests/test_reproduce_ci.py | 12 +
dev/breeze/tests/test_run_test_args.py | 35 ++-
dev/breeze/tests/test_selective_checks.py | 15 +-
dev/breeze/tests/test_verification_plan.py | 244 +++++++++++++++
dev/breeze/tests/test_verify_commands.py | 327 ++++++++++++++++++++
dev/skill-evals/last-eval-hash.txt | 2 +-
docs/spelling_wordlist.txt | 2 +
generated/known_airflow_exceptions.txt | 2 +-
providers/MANAGING_PROVIDERS_LIFECYCLE.rst | 20 ++
providers/airbyte/docs/connections.rst | 10 +-
.../src/airflow/providers/airbyte/hooks/airbyte.py | 37 ++-
.../tests/unit/airbyte/hooks/test_airbyte.py | 61 ++++
.../providers/amazon/aws/executors/batch/utils.py | 6 +-
.../airflow/providers/apache/beam/hooks/beam.py | 45 +--
.../beam/tests/unit/apache/beam/hooks/test_beam.py | 42 +++
.../providers/apache/spark/hooks/spark_submit.py | 98 ++++--
.../unit/apache/spark/hooks/test_spark_submit.py | 118 +++++++
.../connection/test_connection_supervisor.py | 214 +++++++++++++
providers/fab/docs/auth-manager/access-control.rst | 4 +
.../providers/google/cloud/hooks/bigtable.py | 24 ++
.../providers/google/cloud/hooks/cloud_sql.py | 57 +++-
.../providers/google/cloud/hooks/compute.py | 3 -
.../google/cloud/hooks/vertex_ai/auto_ml.py | 2 +-
.../tests/unit/google/cloud/hooks/test_bigtable.py | 26 ++
.../unit/google/cloud/hooks/test_cloud_sql.py | 78 ++++-
providers/microsoft/azure/pyproject.toml | 2 +-
.../providers/microsoft/azure/hooks/msgraph.py | 13 +-
.../unit/microsoft/azure/hooks/test_msgraph.py | 17 +
.../providers/openlineage/extractors/manager.py | 31 ++
.../unit/openlineage/extractors/test_manager.py | 71 ++++-
.../providers/opensearch/log/os_task_handler.py | 32 +-
.../opensearch/log/test_os_remote_log_io.py | 18 ++
.../unit/opensearch/log/test_os_task_handler.py | 102 +++++-
scripts/ci/prek/check_excluded_provider_markers.py | 36 ++-
scripts/ci/prek/check_min_python_version.py | 2 +-
scripts/ci/prek/update_airflow_pyproject_toml.py | 35 ++-
scripts/ci/testing/run_unit_tests.sh | 7 +-
.../prek/test_check_excluded_provider_markers.py | 56 ++++
.../ci/prek/test_update_airflow_pyproject_toml.py | 58 ++++
scripts/tests/ci/testing/test_run_unit_tests.py | 15 +
task-sdk/docs/deferred-vs-async-operators.rst | 2 +-
104 files changed, 5534 insertions(+), 370 deletions(-)
create mode 100644
airflow-core/src/airflow/ui/src/components/VersionCompareSelect.test.tsx
rename airflow-core/src/airflow/ui/src/{pages/Dag/Code =>
components}/VersionCompareSelect.tsx (97%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/VersionDiff.i18n.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/VersionDiff.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/VersionDiff.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/Versions.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/Versions.tsx
copy airflow-core/src/airflow/ui/src/{layouts/Details/Gantt =>
pages/Dag/Versions}/index.ts (95%)
create mode 100644 dev/breeze/doc/images/output_verify.svg
create mode 100644 dev/breeze/doc/images/output_verify.txt
create mode 100644 dev/breeze/src/airflow_breeze/commands/verify_commands.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/verification_plan.py
create mode 100644 dev/breeze/tests/test_verification_plan.py
create mode 100644 dev/breeze/tests/test_verify_commands.py
create mode 100644
providers/common/compat/tests/unit/common/compat/connection/test_connection_supervisor.py
create mode 100644 scripts/tests/ci/prek/test_update_airflow_pyproject_toml.py