This is an automated email from the ASF dual-hosted git repository.

jason810496 pushed a change to branch jason/lang-sdk-e2e/05-node-dag-importer
in repository https://gitbox.apache.org/repos/asf/airflow.git


    omit 20bb96f96bf Say tasks list runs a native TypeScript Dag's bundle
    omit 22bee30e295 Document how a NodeCoordinator is picked for parsing 
TypeScript Dags
    omit d48c017631f Run a native TypeScript Dag's own bundle through the 
native task branch
    omit 9349473c47c Let the Node Dag importer find its coordinator
    omit 7353f9afa8d Hand out the Node Dag importer through get_dag_importer
    omit cb06b9e7096 Pin the Code view to the entry module in Node bundle tests
    omit 19bba96a323 Let NodeDagImporter source read errors reach the caller
    omit 161badc0241 Import NodeDagImporter at the top of the Node coordinator
    omit 23d26808e65 Warn against defining a Dag in both TypeScript and Python
    omit 4ea57fb3845 Align the TypeScript build docs with the Code view
    omit 954fb3d7162 Say when the Dag processor needs Node.js for TypeScript 
bundles
    omit 3baaf1e3276 Run a native TypeScript Dag's task from its own bundle
    omit d8ee44ca2d4 Share the bundle section mutation helper between Node tests
    omit 9758b219837 Document parsing native TypeScript Dags
    omit 285b5509387 Parse native TypeScript Dags with the Node coordinator
    omit 57ee09e1ac3 Say tasks list runs a native Java Dag's main class
    omit 6503cbe10bd Fail a native task cleanly when its file or coordinator 
class cannot load
    omit 4b0526d431d Run a native Dag's task from its own Dag file
    omit d4b46a43417 Fail a task cleanly when its runtime cannot be launched
    omit 152ba86f919 Let the Java Dag importer find its coordinator
    omit 605ea5627fa Read Java Dag sources from the bundle's sources.json index
    omit e4262aa62c7 Hand out the Java Dag importer through get_dag_importer
    omit f08c5723ce9 Keep the Java parse_dag test from changing the pytest 
worker
    omit d8ca6aef4e3 Stop promising that Java dependency JARs are not parsed
    omit fe0952a3893 Reject a Java Dag JAR whose SDK cannot answer a parse
    omit 609f01a1871 Run the JAR a native Java Dag was parsed from
    omit 2f6e4cb74a0 Report why a Java Dag JAR cannot be read
    omit 137ae76ef30 Pass the task's Dag file to the coordinator's command 
builder
    omit c1cd8ba8881 Run a task on its run's version when dag_bundle_name names 
its bundle
    omit 1117cb11e51 Document native Java Dag parsing
    omit 16e2d068b6b Name the JAR manifest attributes the Java coordinator reads
    omit 7b9e73bbef4 Test the Java Dag source placeholder for a JAR without a 
manifest
    omit e6d32e362ab Treat an unreadable JAR like one without a manifest
    omit 4953f116c3b Parse native Java Dags with their coordinator
    omit 7364ed93213 Build the JVM command that parses a Dag JAR
    omit 2515c2bbf52 Read JAR manifests per the JAR specification
    omit 1724f567cc6 Default a Dag file processor's parse log to os.devnull
    omit 02da4901465 Let a Dag file processor run without a parse log file
    omit 87f4d3541c9 Ignore the bagged Dag union in the external task sensor 
test
    omit d90c9e30918 List the tasks of a native Lang-SDK Dag
    omit 2e8d1f2a676 Bag native Lang-SDK Dags in core, only when asked
    omit 89396f186ea Let a Dag file processor run without an API client
    omit 05fc6dae5e9 Parse coordinator-claimed Dag files with their runtime in 
a Dag bag
    omit edca3246501 Apply the team rules to the Dag that validation returns
    omit 17ed2288524 Test the import errors of a bundle with several 
coordinators of a class
    omit 84da01d4cd7 Find a claiming Dag importer instead of its coordinator in 
Dag processing
    omit 7aef9c68bca Name the coordinator class a native Dag task must be 
routed to
    omit ac5378598a7 Stub Dag file discovery with DagFileInfo in the Lang-SDK 
manager tests
    omit 0e176450f11 Pass a parse log handle to the Lang-SDK processor in tests
    omit 49e05dd9988 Find a native Dag's coordinator key through its importer
    omit aee15031875 Wait for the killed leftover in the Lang-SDK processor test
    omit 359f8449cb4 Move the client-less Lang-SDK parse out of this change
    omit 303d6255397 Note in ADR-0010 that the manager routes claimed files for 
now
    omit ae441ffba17 Clear import errors after the native-file Dag bag sync test
    omit 6cb611d6be3 Apply the multi-team task checks to Lang-SDK Dags
    omit eabe577bd7d Spec the mocks of a hand-built Lang-SDK processor in tests
    omit f442ee85584 Name the setting in a Lang-SDK parse timeout error
    omit 8b7641f14c2 Kill what a Lang-SDK runtime leaves in its process group
    omit 2da7ac9fe97 Match the schema error's JSON path in a Lang-SDK parse test
    omit c879d3f1a69 Fail a native Dag's task on a Python worker without retries
    omit 0e1b2cadf6f Find the claiming coordinator in the Task SDK and wrap it 
in core
    omit 87ad555f970 Start each Dag file processor with explicit arguments
    omit eb3982e6a70 Drop callbacks for Lang-SDK Dag files before queuing the 
file
    omit faa3e2857c2 Report a native Dag's task that reaches a Python worker
    omit a359ae7da5d Report a Lang-SDK parse past its import timeout as an 
import error
    omit fe6a6853722 Parse coordinator-claimed Dag files with their runtime in 
the Dag processor
    omit 1e177e60233 Break the new dag_bundle_name docs only at sentence ends
    omit 122154d8737 Say which failures fall back to a Python file in ADR-0010
    omit eafec25b77c Add a newsfragment for the removed coordinator artifact 
roots
    omit 8364bb2737d Describe how a Dag importer finds its coordinator in 
ADR-0010
    omit fb6c4bfa6a8 Say dag_bundle_name only names the stub task artifact 
bundle
    omit 58aade928ed Find a Dag importer's coordinator from its class
    omit 0022eedf09d Explain dag_bundle_name by the coordinator that parses a 
Dag file
    omit 95a9ed9f3d1 Hand out a coordinator's Dag importer through 
get_dag_importer alone
    omit ce8aac3144b Say dag_bundle_name is only needed for two coordinators of 
one class
    omit d38901621ad Drop serves_bundle so get_parsed_bundles is the only answer
    omit 68a619133ec Check Dag file claims per bundle on the parse path
    omit 90e3aad2a39 Import the coordinator manager at the top of the importer 
base
    omit 82fa8626f8d Let a coordinator parse the Dag files of the bundles it 
serves
    omit a7efc7c851c Report a schema error's path the same way under every 
jsonschema version
    omit 2bcf0508832 Check a serialized Dag as the SDK Dag is checked and 
return it
    omit e2b4e2972c7 Sync the Go SDK copy of the Dag schema
    omit e840e922684 Sync the Java SDK copy of the Dag schema
    omit ac2244adbfb Serialize the SDK Dag in tests that write a dag_maker Dag
    omit 973cf03f119 Note in the parsing ADR that runtimes may omit 
config-backed fields
    omit 6158ada8ab3 Check SDK Dags with the Dag processor's validation in 
conformance
    omit 8636b093e38 Reject malformed task entries in a serialized Dag
    omit 9ef13d3ca8c Fill a serialized Dag's unset settings from the Airflow 
config
    omit b5e58c96bb4 Check that a serialized Dag can be stored and loaded
     add 803cc82370d Update supported Kubernetes versions (#73798)
     add 4a73cb7d5fa Keep builtin annotations from resolving to project 
attributes in Sphinx 9 (#74168)
     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 523567e47d0 Add tests for Google Go module subprocess utility (#73268)
     add 4a766db2b03 Bump the typescript group across 1 directory with 4 
updates (#72994)
     add 7fad35d9c99 Add deadline alert coverage to Dag endpoint tests (#72296)
     add 6f5d5d06b17 Align standard provider tests with source paths (#73267)
     add c2f600f6ec6 Add airflowctl tasks state command (#71206)
     add 86b8a521837 Bind the AWS auth manager SAML response to the browser 
that started the login (#73698)
     add cefc0c3239d Bump the java-sdk-dependency-updates group across 1 
directory with 3 updates (#74108)
     add 2a274ab3c93 Refuse nested secret ids looked up with no team in 
multi-team mode (#73789)
     add 8055f6a8717 Skip creating an empty hook lineage collector for 
OpenLineage events (#74190)
     add 38fefc1ca95 Fix invalid cron expression in OpenLineage system test Dag 
(#74187)
     add 27f827fcdce Honor the polling interval for deferred Kubernetes jobs 
(#74143)
     add 3bd4df6b2da Fix Snowflake SQL API wait_for_query timing out on 
finished queries (#73761)
     add f74a685978c Use configured default queue for Celery executor callbacks 
(#73552)
     add ad3bb1f676c Replace coordinator artifact roots with 
task_handler_bundle_name (#73970)
     add 1c3f78e1d57 Validate a serialized Dag and fill its unset settings from 
the Airflow config (#74041)
     add e004a3b2173 Let a Dag importer find the coordinator that parses its 
files
     add aef23367721 Describe how a Dag importer finds its coordinator in 
ADR-0010
     add 5a6e21b7028 Parse coordinator-claimed Dag files with their runtime in 
the Dag processor
     add 5bd17e7f5bf Report a Lang-SDK parse past its import timeout as an 
import error
     add 4fce878ad09 Report a native Dag's task that reaches a Python worker
     add f27abd6d039 Drop callbacks for Lang-SDK Dag files before queuing the 
file
     add 1178207f30b Start each Dag file processor with explicit arguments
     add 3e770671eef Find the claiming coordinator in the Task SDK and wrap it 
in core
     add caf13de7d4e Fail a native Dag's task on a Python worker without retries
     add 02514169e3d Match the schema error's JSON path in a Lang-SDK parse test
     add 4c55b0eb242 Kill what a Lang-SDK runtime leaves in its process group
     add e2bf0eae0b9 Name the setting in a Lang-SDK parse timeout error
     add 1b85bc0960e Spec the mocks of a hand-built Lang-SDK processor in tests
     add 8fb2981a4a2 Apply the multi-team task checks to Lang-SDK Dags
     add a7834487346 Clear import errors after the native-file Dag bag sync test
     add 032c5ab5f99 Note in ADR-0010 that the manager routes claimed files for 
now
     add bdcc2fd2ad4 Move the client-less Lang-SDK parse out of this change
     add eefea5e14ac Wait for the killed leftover in the Lang-SDK processor test
     add dc169f9d9cf Find a native Dag's coordinator key through its importer
     add d71778333f3 Pass a parse log handle to the Lang-SDK processor in tests
     add b8ed37b1f2b Stub Dag file discovery with DagFileInfo in the Lang-SDK 
manager tests
     add 24b328eb48a Name the coordinator class a native Dag task must be 
routed to
     add b8f8b5b16c0 Find a claiming Dag importer instead of its coordinator in 
Dag processing
     add 1c8d7863183 Test the import errors of a bundle with several 
coordinators of a class
     add e5e417fbd53 Apply the team rules to the Dag that validation returns
     add bcaea2f28ed Parse coordinator-claimed Dag files with their runtime in 
a Dag bag
     add 6bf3a055282 Let a Dag file processor run without an API client
     add 4b86f5cc1a2 Bag native Lang-SDK Dags in core, only when asked
     add 0b8b60419fb List the tasks of a native Lang-SDK Dag
     add 34fa7c0da38 Ignore the bagged Dag union in the external task sensor 
test
     add ec0b47f90df Let a Dag file processor run without a parse log file
     add abfadb45b6f Default a Dag file processor's parse log to os.devnull
     add 3825dc5cc41 Read JAR manifests per the JAR specification
     add d0c206bb2c1 Build the JVM command that parses a Dag JAR
     add 80a56a7b5f5 Parse native Java Dags with their coordinator
     add 6250b9b8f94 Treat an unreadable JAR like one without a manifest
     add 04894b2a832 Test the Java Dag source placeholder for a JAR without a 
manifest
     add e8d945f0ec3 Name the JAR manifest attributes the Java coordinator reads
     add 85e112423a6 Document native Java Dag parsing
     add 6de0fa4f193 Run a task on its run's version when dag_bundle_name names 
its bundle
     add 50df78c2c74 Pass the task's Dag file to the coordinator's command 
builder
     add adefab3b67c Report why a Java Dag JAR cannot be read
     add 681bd073dc9 Run the JAR a native Java Dag was parsed from
     add adbb8bad3e4 Reject a Java Dag JAR whose SDK cannot answer a parse
     add 0bf92aaf9f1 Stop promising that Java dependency JARs are not parsed
     add eb73ea59e55 Keep the Java parse_dag test from changing the pytest 
worker
     add baf894a9e3a Hand out the Java Dag importer through get_dag_importer
     add 61a9c95e5dc Read Java Dag sources from the bundle's sources.json index
     add 5ed36220862 Let the Java Dag importer find its coordinator
     add 5910f41ae21 Fail a task cleanly when its runtime cannot be launched
     add 0cfc33b704c Run a native Dag's task from its own Dag file
     add 78310ebca0a Fail a native task cleanly when its file or coordinator 
class cannot load
     add 332ef5f66a1 Say tasks list runs a native Java Dag's main class
     add 1673f86962b Say a JRE parses native Java Dags, and keep main's bundle 
test mocks
     add 3e21b81ebc6 Parse native TypeScript Dags with the Node coordinator
     add e4cc4012019 Document parsing native TypeScript Dags
     add d0c157838bb Share the bundle section mutation helper between Node tests
     add 297f19fbf6c Run a native TypeScript Dag's task from its own bundle
     add 99f154c7a81 Say when the Dag processor needs Node.js for TypeScript 
bundles
     add ce6dd97e974 Align the TypeScript build docs with the Code view
     add dcc382a1314 Warn against defining a Dag in both TypeScript and Python
     add 386b57a8b9b Import NodeDagImporter at the top of the Node coordinator
     add 6d5b6af3c3a Let NodeDagImporter source read errors reach the caller
     add 056bed2b140 Pin the Code view to the entry module in Node bundle tests
     add af94abca7aa Hand out the Node Dag importer through get_dag_importer
     add ed613049bec Let the Node Dag importer find its coordinator
     add 570c7d563e7 Run a native TypeScript Dag's own bundle through the 
native task branch
     add 7dbf51b8470 Document how a NodeCoordinator is picked for parsing 
TypeScript Dags
     add 133a9c3c24e Say tasks list runs a native TypeScript Dag's bundle

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   (20bb96f96bf)
            \
             N -- N -- N   refs/heads/jason/lang-sdk-e2e/05-node-dag-importer 
(133a9c3c24e)

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-java-sdk/SKILL.md           |  10 +-
 .agents/skills/airflow-publish-changes/SKILL.md    |   2 +-
 AGENTS.md                                          |   1 +
 README.md                                          |  16 +-
 .../adr/lang-sdk/0010-native-dag-processing.md     |  11 +-
 .../0013-persisted-task-handler-bindings.md        |   2 +-
 .../authoring-and-scheduling/language-sdks/go.rst  |  93 ++--
 .../language-sdks/index.rst                        |   6 +-
 .../language-sdks/java.rst                         | 131 +++--
 .../language-sdks/typescript.rst                   |  94 ++--
 airflow-core/docs/installation/prerequisites.rst   |   2 +-
 airflow-core/docs/security/api_permissions_ref.rst |   4 +
 airflow-core/docs/security/security_model.rst      |   9 +
 airflow-core/newsfragments/73970.significant.rst   |   5 +
 airflow-core/newsfragments/74042.significant.rst   |   8 -
 .../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 +-
 .../src/airflow/config_templates/config.yml        |  19 +-
 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           |  16 +-
 airflow-core/src/airflow/ui/pnpm-lock.yaml         | 591 +++++++++------------
 .../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 +
 .../tests/unit/always/test_project_structure.py    |   3 -
 .../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_dags.py            | 175 +++++-
 .../core_api/routes/public/test_hitl.py            |   3 +-
 .../airflowctl_tests/test_airflowctl_commands.py   |   2 +
 airflow-ctl/docs/images/command_hashes.txt         |   2 +-
 airflow-ctl/docs/images/output_tasks.svg           |  78 +--
 .../src/airflowctl/api/datamodels/generated.py     | 157 ++++++
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |  17 +
 .../src/airflowctl/ctl/commands/task_command.py    |  53 +-
 .../airflow_ctl/ctl/commands/test_task_command.py  | 275 +++++++++-
 airflow-e2e-tests/docker/go.yml                    |   9 +-
 airflow-e2e-tests/docker/java.yml                  |  13 +-
 airflow-e2e-tests/docker/ts.yml                    |   9 +-
 .../tests/airflow_e2e_tests/conftest.py            |  84 ++-
 chart/README.md                                    |   2 +-
 contributing-docs/08_static_code_checks.rst        |   1 +
 contributing-docs/30_new_language_sdk.rst          |   7 +-
 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 +--
 .../doc/images/output_k8s_configure-cluster.svg    |   8 +-
 .../doc/images/output_k8s_configure-cluster.txt    |   2 +-
 .../doc/images/output_k8s_create-cluster.svg       |   8 +-
 .../doc/images/output_k8s_create-cluster.txt       |   2 +-
 .../doc/images/output_k8s_delete-cluster.svg       |   4 +-
 .../doc/images/output_k8s_delete-cluster.txt       |   2 +-
 .../doc/images/output_k8s_deploy-airflow.svg       |   8 +-
 .../doc/images/output_k8s_deploy-airflow.txt       |   2 +-
 .../doc/images/output_k8s_deploy-cluster.svg       |   4 +-
 .../doc/images/output_k8s_deploy-cluster.txt       |   2 +-
 dev/breeze/doc/images/output_k8s_dev.svg           |   4 +-
 dev/breeze/doc/images/output_k8s_dev.txt           |   2 +-
 dev/breeze/doc/images/output_k8s_k9s.svg           |   4 +-
 dev/breeze/doc/images/output_k8s_k9s.txt           |   2 +-
 dev/breeze/doc/images/output_k8s_logs.svg          |   4 +-
 dev/breeze/doc/images/output_k8s_logs.txt          |   2 +-
 .../doc/images/output_k8s_run-complete-tests.svg   |   8 +-
 .../doc/images/output_k8s_run-complete-tests.txt   |   2 +-
 .../doc/images/output_k8s_setup-lang-sdk-test.svg  |   4 +-
 .../doc/images/output_k8s_setup-lang-sdk-test.txt  |   2 +-
 dev/breeze/doc/images/output_k8s_shell.svg         |   4 +-
 dev/breeze/doc/images/output_k8s_shell.txt         |   2 +-
 .../doc/images/output_k8s_smoke-test-overlay.svg   |   4 +-
 .../doc/images/output_k8s_smoke-test-overlay.txt   |   2 +-
 dev/breeze/doc/images/output_k8s_status.svg        |   4 +-
 dev/breeze/doc/images/output_k8s_status.txt        |   2 +-
 dev/breeze/doc/images/output_k8s_tests.svg         |   8 +-
 dev/breeze/doc/images/output_k8s_tests.txt         |   2 +-
 .../doc/images/output_k8s_upload-k8s-image.svg     |   8 +-
 .../doc/images/output_k8s_upload-k8s-image.txt     |   2 +-
 .../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 +-
 .../doc/images/output_testing_helm-tests.svg       |   4 +-
 .../doc/images/output_testing_helm-tests.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  |  16 +-
 .../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 +-
 devel-common/src/docs/utils/conf_constants.py      |   1 +
 .../src/sphinx_exts/python_builtin_xrefs.py        |  66 +++
 .../unit/sphinx_exts/test_python_builtin_xrefs.py  |  92 ++++
 docs/spelling_wordlist.txt                         |   3 +
 generated/PYPI_README.md                           |  16 +-
 generated/known_airflow_exceptions.txt             |   4 +-
 go-sdk/README.md                                   |  37 +-
 go-sdk/example/bundle/Justfile                     |   3 +-
 java-sdk/README.md                                 |  31 +-
 java-sdk/buildSrc/build.gradle.kts                 |   2 +-
 java-sdk/gradle/verification-metadata.xml          | 410 +++++++-------
 .../apache/airflow/sdk/plugin/AirflowSdkPlugin.kt  |   4 +-
 java-sdk/scala_spark_example/README.md             |  17 +-
 java-sdk/sdk/build.gradle.kts                      |   4 +-
 kubernetes-tests/lang_sdk/README.md                |  14 +-
 kubernetes-tests/lang_sdk/config/values.yaml       |  12 +-
 .../lang_sdk/pod_templates/lang_sdk_golang.yaml    |   3 +-
 .../lang_sdk/pod_templates/lang_sdk_java.yaml      |   5 +-
 kubernetes-tests/lang_sdk/stage_artifacts.py       |   8 +-
 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/akeyless/docs/changelog.rst              |   7 +
 .../airflow/providers/akeyless/secrets/akeyless.py |  28 +-
 .../tests/unit/akeyless/secrets/test_akeyless.py   |  27 +-
 .../docs/auth-manager/setup/identity-center.rst    |  36 ++
 providers/amazon/provider.yaml                     |  15 +
 .../providers/amazon/aws/auth_manager/constants.py |   1 +
 .../amazon/aws/auth_manager/routes/login.py        | 200 ++++++-
 .../providers/amazon/aws/executors/batch/utils.py  |   6 +-
 .../airflow/providers/amazon/get_provider_info.py  |   7 +
 .../amazon/aws/auth_manager/routes/test_login.py   | 359 +++++++++++--
 .../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 ++++
 .../providers/celery/executors/celery_executor.py  |   4 +-
 .../unit/celery/executors/test_celery_executor.py  |  29 +-
 .../providers/cncf/kubernetes/triggers/job.py      |   4 +-
 .../unit/cncf/kubernetes/triggers/test_job.py      |  13 +-
 .../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 ++-
 .../tests/unit/google/test_go_module_utils.py      |  73 +++
 providers/hashicorp/docs/changelog.rst             |   7 +
 .../airflow/providers/hashicorp/secrets/vault.py   |  31 +-
 .../tests/unit/hashicorp/secrets/test_vault.py     |  55 ++
 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 ++
 ...schedule_multiple_cron_trigger_timetable_dag.py |   2 +-
 ...hedule_multiple_cron_trigger_timetable_dag.json |  12 +-
 .../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 +++-
 .../providers/snowflake/hooks/snowflake_sql_api.py |  12 +-
 .../unit/snowflake/hooks/test_snowflake_sql_api.py |  35 +-
 .../tests/unit/standard/operators/test_empty.py    |  56 ++
 ...ternal_task_sensor.py => test_external_task.py} |  32 ++
 .../prek/check_contextmanager_class_decorators.py  |   1 +
 scripts/ci/prek/check_excluded_provider_markers.py |  36 +-
 scripts/ci/prek/update_airflow_pyproject_toml.py   |  35 +-
 scripts/ci/testing/run_unit_tests.sh               |   7 +-
 .../test_check_contextmanager_class_decorators.py  |  80 +++
 .../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 +-
 task-sdk/docs/executable-bundle-spec.rst           |  31 +-
 task-sdk/docs/ts-bundle-spec.rst                   |  25 +-
 .../src/airflow/sdk/coordinators/_subprocess.py    |  65 +--
 .../sdk/coordinators/executable/coordinator.py     |  12 +-
 .../airflow/sdk/coordinators/java/coordinator.py   |  19 +-
 .../airflow/sdk/coordinators/node/coordinator.py   |  15 +-
 .../src/airflow/sdk/execution_time/coordinator.py  |  21 +-
 .../coordinators/executable/test_coordinator.py    |  49 +-
 .../task_sdk/coordinators/java/test_coordinator.py |  76 +--
 .../coordinators/java/test_dag_importer.py         |   2 +-
 .../task_sdk/coordinators/node/test_coordinator.py |  14 +-
 .../coordinators/node/test_dag_importer.py         |   2 +-
 .../tests/task_sdk/coordinators/test_subprocess.py | 173 +++---
 .../task_sdk/execution_time/test_coordinator.py    |  85 ++-
 ts-sdk/README.md                                   |  24 +-
 ts-sdk/example/README.md                           |  17 +-
 217 files changed, 8293 insertions(+), 1573 deletions(-)
 create mode 100644 airflow-core/newsfragments/73970.significant.rst
 delete mode 100644 airflow-core/newsfragments/74042.significant.rst
 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 devel-common/src/sphinx_exts/python_builtin_xrefs.py
 create mode 100644 
devel-common/tests/unit/sphinx_exts/test_python_builtin_xrefs.py
 create mode 100644 
providers/common/compat/tests/unit/common/compat/connection/test_connection_supervisor.py
 create mode 100644 providers/google/tests/unit/google/test_go_module_utils.py
 create mode 100644 
providers/standard/tests/unit/standard/operators/test_empty.py
 rename 
providers/standard/tests/unit/standard/sensors/{test_external_task_sensor.py => 
test_external_task.py} (98%)
 create mode 100644 
scripts/tests/ci/prek/test_check_contextmanager_class_decorators.py
 create mode 100644 scripts/tests/ci/prek/test_update_airflow_pyproject_toml.py

Reply via email to