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

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


    omit a80facc76d2 Name the JAR manifest attributes the Java coordinator reads
    omit 178e4681803 Test the Java Dag source placeholder for a JAR without a 
manifest
    omit 6ff2da485c9 Treat an unreadable JAR like one without a manifest
    omit 12fa0f239a5 Document native Java Dag parsing
    omit ca7dc2a707d Parse native Java Dags with their coordinator
    omit 52b381cc1c2 Embed the Dag source in Java bundle JARs
    omit b5b72f5ae4d Build the JVM command that parses a Dag JAR
    omit 8159ac365b0 Read JAR manifests per the JAR specification
    omit 8e8c9820d22 Start a coordinator's runtime from a fresh interpreter on 
macOS
    omit 75761970850 Keep a bundle's importers when the coordinator config is 
broken
    omit ac74a126a27 Store only native Dags that a Dag bag can rebuild
    omit 0359eab0e99 Start a Lang-SDK parse runtime with default signal handling
    omit 2db7f8f64ad Keep the first parse result from a Lang-SDK runtime
    omit f743cc4c9e4 Run the Lang-SDK runtime in its own process group
    omit c7007e70d66 Report an invalid frame from a Lang-SDK runtime as an 
import error
    omit 63af72aaa72 Name the missing task when a native Dag's edge points 
nowhere
    omit cd7689b2fdf Keep a native Dag's timezone when rebuilding it
    omit aeb390767e1 Reject a native Dag whose task graph has a cycle
    omit a0dfcd23390 Signal a Lang-SDK runtime's whole process tree
    omit c39a58eaa2f Kill the Lang-SDK runtime when its parse is interrupted
    omit 2eee8648c55 Parse coordinator-claimed Dag files with their runtime
    omit 1fe5309883a Import native Dags through their coordinator
    omit ecc19efc4b6 Parse a coordinator's Dag file outside the Dag processor
    omit 23903ec049f Parse a Dag file with its coordinator's runtime
    omit 7fb00390d88 Rebuild a Lang-SDK Dag as an airflow.sdk.DAG
    omit ae498dcc9ec Keep a stub task's preset arg bindings when serializing it
    omit 396263ed7f0 Find the coordinators that parse a Dag bundle
    omit 40bf9b36a7c Harden claimed-file discovery errors and archive importers
    omit 9ff9d0a6da5 Tidy the importer routing helpers and their tests
    omit 1b150318965 Keep claimed files queued when their importer cannot list 
them
    omit a7a81df9f58 Claim Dag files by extension and keep .py, .pyc and .zip 
legacy
    omit b051d590807 Read a claimed file's Dag source through its importer
    omit cf95650ca17 Queue and track files that a Task SDK importer claims
    omit 12a840b2d22 Parse files that a Task SDK importer claims
    omit a481344223b Reject empty subprocess coordinator artifact roots
    omit 0aec44e8889 Reject concurrent subprocess coordinator execution 
consistently
    omit ce617c8474b Make task bundle access dependencies explicit
    omit a59132f973f Preserve custom subprocess coordinator compatibility
    omit 14d5448c276 Read the Dag bundle configuration through a single entry 
point
    omit ed24a7cdcdf Resolve coordinator Dag bundles without importing the task 
runner
    omit 5fa4098e409 Make JavaCoordinator main_class optional in co-located mode
    omit da37c21686b Harden subprocess coordinator artifact bundle resolution
    omit b87d2907a24 Document dag_bundle_name option for language-SDK 
coordinators
    omit 68693340f67 Add dag_bundle_name option to subprocess coordinators
     add 0566d6cd5ef Add OpenSandbox backend for sandbox tools (#71676)
     add 93978958ae1 Fix example_neptune_analytics by pinning an explicit 
region (#73851)
     add d6c4c71979e Bump prettier (#73857)
     add c8ca02e4158 Update changelog to clarify new LLMBranchOperator 
"branches" feature (#73850)
     add ad3e67fccd2 Add Modal provider with `ModalHook` and connection type 
(#73418)
     add ce614baf9b0 Add Strands Agents support for `common.ai` toolsets 
(#73587)
     add dbac03d87dd Fix KubernetesExecutor not queuing tasks on Airflow 3.0.x 
(#73764)
     add b3bcb388742 Recognize grouped PR references in provider changelog 
tooling (#73855)
     add ae1e8385060 Let the sandbox toolset attach to a sandbox another task 
provisioned (#73559)
     add c1b878ad22c Exclude SQLAlchemy 2.1.0 (#73865)
     add 10221c300eb Read the AWS task logs once more after the fetcher is 
stopped (#73211)
     add 86d5297ca4b Add dag_bundle_name option to subprocess coordinators
     add 1a65f90325e Document dag_bundle_name option for language-SDK 
coordinators
     add fec090c4e62 Harden subprocess coordinator artifact bundle resolution
     add aa32014083c Make JavaCoordinator main_class optional in co-located mode
     add 6523b0581c3 Resolve coordinator Dag bundles without importing the task 
runner
     add ac1f620daec Read the Dag bundle configuration through a single entry 
point
     add 13b4a38ac26 Preserve custom subprocess coordinator compatibility
     add 5e210e8f8d6 Make task bundle access dependencies explicit
     add f79d7502c2c Reject concurrent subprocess coordinator execution 
consistently
     add 6dc4ee7384a Reject empty subprocess coordinator artifact roots
     add b238a022c47 Reject blank subprocess coordinator artifact roots
     add 61af924d65c Parse files that a Task SDK importer claims
     add 687df08ff40 Queue and track files that a Task SDK importer claims
     add 453d40ca237 Read a claimed file's Dag source through its importer
     add 334f4c72a54 Claim Dag files by extension and keep .py, .pyc and .zip 
legacy
     add 844bb62d542 Keep claimed files queued when their importer cannot list 
them
     add de6df7075e7 Tidy the importer routing helpers and their tests
     add a73513df7c1 Harden claimed-file discovery errors and archive importers
     add e1228b0c91c Find the coordinators that parse a Dag bundle
     add 942ff07bdc9 Keep a stub task's preset arg bindings when serializing it
     add a72ebd5001a Rebuild a Lang-SDK Dag as an airflow.sdk.DAG
     add ed655b8f92b Parse a Dag file with its coordinator's runtime
     add d5b37f466d5 Parse a coordinator's Dag file outside the Dag processor
     add b1a9bf3370e Import native Dags through their coordinator
     add f6dd1237c6f Parse coordinator-claimed Dag files with their runtime
     add 3492fac6413 Kill the Lang-SDK runtime when its parse is interrupted
     add d654c84fbbf Signal a Lang-SDK runtime's whole process tree
     add d7b07dfcefb Reject a native Dag whose task graph has a cycle
     add 3718d8b9542 Keep a native Dag's timezone when rebuilding it
     add 74c4a3aa974 Name the missing task when a native Dag's edge points 
nowhere
     add d8dc07f24fc Report an invalid frame from a Lang-SDK runtime as an 
import error
     add fb045a27537 Run the Lang-SDK runtime in its own process group
     add 049df3e3ec1 Keep the first parse result from a Lang-SDK runtime
     add e51166bbcdf Start a Lang-SDK parse runtime with default signal handling
     add 8d6ff5d1198 Store only native Dags that a Dag bag can rebuild
     add aaff5b1aaf3 Keep a bundle's importers when the coordinator config is 
broken
     add 0080efb1506 Start a coordinator's runtime from a fresh interpreter on 
macOS
     add d6216311ee1 Read JAR manifests per the JAR specification
     add d24b1ceb489 Build the JVM command that parses a Dag JAR
     add cd821a07b5a Embed the Dag source in Java bundle JARs
     add daa85b9dd16 Parse native Java Dags with their coordinator
     add 9c26a792936 Document native Java Dag parsing
     add e47fd372efd Treat an unreadable JAR like one without a manifest
     add 21ec98dcb45 Test the Java Dag source placeholder for a JAR without a 
manifest
     add d62246f6e49 Name the JAR manifest attributes the Java coordinator reads

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   (a80facc76d2)
            \
             N -- N -- N   refs/heads/jason/lang-sdk-e2e/04-java-dag-importer 
(d62246f6e49)

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/ISSUE_TEMPLATE/1-airflow_bug_report.yml    |   1 +
 .github/boring-cyborg.yml                          |   3 +
 airflow-core/docs/extra-packages-ref.rst           |   2 +
 airflow-core/pyproject.toml                        |   2 +-
 .../src/airflow/dag_processing/importer_routing.py |   7 +-
 airflow-core/src/airflow/models/dagcode.py         |  29 +-
 airflow-core/tests/unit/models/test_dagcode.py     |  23 +-
 dev/breeze/doc/images/output_build-docs.svg        |   4 +-
 dev/breeze/doc/images/output_build-docs.txt        |   2 +-
 ...tput_release-management_add-back-references.svg |   4 +-
 ...tput_release-management_add-back-references.txt |   2 +-
 ...elease-management_classify-provider-changes.svg |   4 +-
 ...elease-management_classify-provider-changes.txt |   2 +-
 ...management_generate-issue-content-providers.svg |   4 +-
 ...management_generate-issue-content-providers.txt |   2 +-
 ...ease-management_generate-providers-metadata.svg |  10 +-
 ...ease-management_generate-providers-metadata.txt |   2 +-
 ...e-management_prepare-provider-distributions.svg |   4 +-
 ...e-management_prepare-provider-distributions.txt |   2 +-
 ...e-management_prepare-provider-documentation.svg |   4 +-
 ...e-management_prepare-provider-documentation.txt |   2 +-
 .../output_release-management_publish-docs.svg     |   4 +-
 .../output_release-management_publish-docs.txt     |   2 +-
 ...output_sbom_generate-providers-requirements.svg |   2 +-
 ...output_sbom_generate-providers-requirements.txt |   2 +-
 .../images/output_workflow-run_publish-docs.svg    |   4 +-
 .../images/output_workflow-run_publish-docs.txt    |   2 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   2 +-
 .../prepare_providers/provider_documentation.py    |  11 +-
 dev/breeze/tests/test_provider_documentation.py    |  48 ++
 devel-common/pyproject.toml                        |   2 +-
 docs/spelling_wordlist.txt                         |   4 +
 providers/amazon/docs/index.rst                    |   2 +-
 providers/amazon/pyproject.toml                    |   2 +-
 .../providers/amazon/aws/utils/task_log_fetcher.py |  38 +-
 .../system/amazon/aws/example_neptune_analytics.py |  20 +-
 .../unit/amazon/aws/utils/test_task_log_fetcher.py |  36 +-
 providers/apache/hive/docs/index.rst               |   2 +-
 providers/apache/hive/pyproject.toml               |   2 +-
 providers/apache/impala/docs/index.rst             |   8 +-
 providers/apache/impala/pyproject.toml             |   2 +-
 .../kubernetes/executors/kubernetes_executor.py    |  12 +-
 .../executors/test_kubernetes_executor.py          |  32 +
 providers/common/ai/README.rst                     |  47 +-
 providers/common/ai/docs/changelog.rst             |   2 +-
 providers/common/ai/docs/frameworks/index.rst      | 119 ++++
 providers/common/ai/docs/frameworks/strands.rst    | 154 +++++
 providers/common/ai/docs/index.rst                 |  48 +-
 providers/common/ai/docs/installation.rst          |   7 +-
 providers/common/ai/docs/sandbox/backends.rst      | 126 +++-
 providers/common/ai/docs/sandbox/configuration.rst | 205 ++++--
 providers/common/ai/docs/sandbox/index.rst         |  86 ++-
 providers/common/ai/docs/tool_approval.rst         |   9 +-
 providers/common/ai/provider.yaml                  |   5 +-
 providers/common/ai/pyproject.toml                 |   4 +-
 .../ai/example_dags/example_sandbox_toolset.py     | 100 ++-
 .../ai/example_dags/example_strands_agent.py       |  89 +++
 .../providers/common/ai/get_provider_info.py       |   7 +-
 .../airflow/providers/common/ai/operators/agent.py |  91 ++-
 .../providers/common/ai/sandbox/__init__.py        |   6 +
 .../airflow/providers/common/ai/sandbox/base.py    | 245 ++++++-
 .../airflow/providers/common/ai/sandbox/modal.py   | 246 +++++--
 .../providers/common/ai/sandbox/opensandbox.py     | 545 +++++++++++++++
 .../src/airflow/providers/common/ai/sandbox/sbx.py |  17 +-
 .../airflow/providers/common/ai/tools/__init__.py  | 135 ++++
 .../providers/common/ai/tools/_from_toolset.py     | 100 +++
 .../airflow/providers/common/ai/tools/strands.py   | 108 +++
 .../airflow/providers/common/ai/toolsets/hook.py   |  17 +
 .../common/ai/toolsets/langchain_bridge.py         |  28 +-
 .../providers/common/ai/toolsets/sandbox.py        | 304 ++++++++-
 .../airflow/providers/common/ai/toolsets/sql.py    |  18 +
 .../providers/common/ai/utils/coroutines.py}       |  30 +-
 .../common/ai/tests/system/common/ai/README.md     |  37 +-
 .../common/ai/example_sandbox_toolset_modal.py     | 138 +++-
 ...x.py => example_sandbox_toolset_opensandbox.py} |  27 +-
 .../common/ai/tests/unit/common/ai/conftest.py     |  34 +
 .../tests/unit/common/ai/operators/test_agent.py   | 170 ++++-
 .../ai/tests/unit/common/ai/sandbox/fake_modal.py  |  17 +
 .../ai/tests/unit/common/ai/sandbox/fake_tags.py   |  63 ++
 .../ai/tests/unit/common/ai/sandbox/test_base.py   | 173 +++++
 .../ai/tests/unit/common/ai/sandbox/test_modal.py  | 207 +++++-
 .../unit/common/ai/sandbox/test_opensandbox.py     | 734 +++++++++++++++++++++
 .../ai/tests/unit/common/ai/sandbox/test_sbx.py    |   6 +
 .../ai/tests/unit/common/ai/tools}/__init__.py     |   0
 .../unit/common/ai/tools/test__from_toolset.py     | 155 +++++
 .../ai/tests/unit/common/ai/tools/test_strands.py  | 107 +++
 .../ai/tests/unit/common/ai/tools/test_tools.py    | 111 ++++
 .../tests/unit/common/ai/toolsets/test_sandbox.py  | 371 ++++++++++-
 .../tests/unit/common/ai/utils/test_coroutines.py  |  25 +-
 providers/common/sql/docs/index.rst                |   2 +-
 providers/common/sql/pyproject.toml                |   2 +-
 providers/exasol/docs/index.rst                    |   8 +-
 providers/exasol/pyproject.toml                    |   2 +-
 .../fab/src/airflow/providers/fab/www/package.json |   2 +-
 .../src/airflow/providers/fab/www/pnpm-lock.yaml   |  10 +-
 providers/jdbc/docs/index.rst                      |   2 +-
 providers/jdbc/pyproject.toml                      |   2 +-
 {airflow-core => providers/modal}/.gitignore       |   0
 {chart => providers/modal}/LICENSE                 |   0
 NOTICE => providers/modal/NOTICE                   |   0
 providers/{opensearch => modal}/README.rst         |  21 +-
 providers/modal/docs/.latest-doc-only-change.txt   |   1 +
 providers/{duckdb => modal}/docs/changelog.rst     |   6 +-
 providers/{keycloak => modal}/docs/commits.rst     |   7 +-
 providers/{mongo => modal}/docs/conf.py            |   2 +-
 providers/modal/docs/connections.rst               |  85 +++
 providers/modal/docs/index.rst                     | 131 ++++
 .../docs/installing-providers-from-sources.rst     |   0
 providers/modal/docs/integration-logos/Modal.png   | Bin 0 -> 10357 bytes
 providers/{anthropic => modal}/docs/security.rst   |   0
 providers/modal/docs/usage.rst                     | 158 +++++
 providers/modal/provider.yaml                      |  74 +++
 providers/{vespa => modal}/pyproject.toml          |  20 +-
 .../modal/src/airflow}/__init__.py                 |   0
 .../modal/src/airflow/providers}/__init__.py       |   0
 .../src/airflow/providers/modal}/__init__.py       |   4 +-
 .../src/airflow/providers/modal/exceptions.py      |  18 +-
 .../airflow/providers/modal/get_provider_info.py   |  61 ++
 .../src/airflow/providers/modal/hooks}/__init__.py |   0
 .../src/airflow/providers/modal/hooks/modal.py     | 279 ++++++++
 providers/{airbyte => modal}/tests/conftest.py     |   0
 .../modal/tests/unit}/__init__.py                  |   0
 .../modal/tests/unit/modal}/__init__.py            |   0
 .../modal/tests/unit/modal/hooks}/__init__.py      |   0
 .../modal/tests/unit/modal/hooks/test_modal.py     | 372 +++++++++++
 .../tests/unit/modal}/test_exceptions.py           |  14 +-
 providers/openlineage/docs/index.rst               |   8 +-
 providers/openlineage/pyproject.toml               |   2 +-
 providers/postgres/docs/index.rst                  |   2 +-
 providers/postgres/pyproject.toml                  |   2 +-
 providers/presto/docs/index.rst                    |   2 +-
 providers/presto/pyproject.toml                    |   2 +-
 providers/teradata/docs/index.rst                  |   2 +-
 providers/teradata/pyproject.toml                  |   2 +-
 providers/vertica/docs/index.rst                   |   8 +-
 providers/vertica/pyproject.toml                   |   2 +-
 providers/ydb/docs/index.rst                       |   8 +-
 providers/ydb/pyproject.toml                       |   2 +-
 pyproject.toml                                     |  10 +
 scripts/ci/docker-compose/remove-sources.yml       |   1 +
 scripts/ci/docker-compose/tests-sources.yml        |   1 +
 scripts/ci/prek/changelog_duplicates.py            |  11 +-
 scripts/tests/ci/prek/test_changelog_duplicates.py |  36 +-
 .../airflow/sdk/coordinators/_bundle_metadata.py   |   8 +-
 .../coordinators/executable/test_coordinator.py    |   8 +-
 .../task_sdk/coordinators/java/test_coordinator.py |   8 +-
 .../task_sdk/coordinators/node/test_coordinator.py |   8 +-
 uv.lock                                            | 112 +++-
 148 files changed, 6623 insertions(+), 532 deletions(-)
 create mode 100644 providers/common/ai/docs/frameworks/index.rst
 create mode 100644 providers/common/ai/docs/frameworks/strands.rst
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_strands_agent.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/sandbox/opensandbox.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/tools/__init__.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/tools/_from_toolset.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/tools/strands.py
 copy providers/{fab/src/airflow/providers/fab/www/airflow_flask_app.py => 
common/ai/src/airflow/providers/common/ai/utils/coroutines.py} (54%)
 copy 
providers/common/ai/tests/system/common/ai/{example_sandbox_toolset_sbx.py => 
example_sandbox_toolset_opensandbox.py} (80%)
 create mode 100644 
providers/common/ai/tests/unit/common/ai/sandbox/fake_tags.py
 create mode 100644 
providers/common/ai/tests/unit/common/ai/sandbox/test_opensandbox.py
 copy {airflow-core/src/airflow/_shared => 
providers/common/ai/tests/unit/common/ai/tools}/__init__.py (100%)
 create mode 100644 
providers/common/ai/tests/unit/common/ai/tools/test__from_toolset.py
 create mode 100644 
providers/common/ai/tests/unit/common/ai/tools/test_strands.py
 create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test_tools.py
 copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/providers.py => 
providers/common/ai/tests/unit/common/ai/utils/test_coroutines.py (57%)
 copy {airflow-core => providers/modal}/.gitignore (100%)
 copy {chart => providers/modal}/LICENSE (100%)
 copy NOTICE => providers/modal/NOTICE (100%)
 copy providers/{opensearch => modal}/README.rst (77%)
 create mode 100644 providers/modal/docs/.latest-doc-only-change.txt
 copy providers/{duckdb => modal}/docs/changelog.rst (88%)
 copy providers/{keycloak => modal}/docs/commits.rst (93%)
 copy providers/{mongo => modal}/docs/conf.py (99%)
 create mode 100644 providers/modal/docs/connections.rst
 create mode 100644 providers/modal/docs/index.rst
 copy providers/{airbyte => modal}/docs/installing-providers-from-sources.rst 
(100%)
 create mode 100644 providers/modal/docs/integration-logos/Modal.png
 copy providers/{anthropic => modal}/docs/security.rst (100%)
 create mode 100644 providers/modal/docs/usage.rst
 create mode 100644 providers/modal/provider.yaml
 copy providers/{vespa => modal}/pyproject.toml (91%)
 copy {airflow-core/tests/integration => 
providers/modal/src/airflow}/__init__.py (100%)
 copy {airflow-core/tests/integration => 
providers/modal/src/airflow/providers}/__init__.py (100%)
 copy providers/{edge3/src/airflow/providers/edge3 => 
modal/src/airflow/providers/modal}/__init__.py (94%)
 copy airflow-core/tests/unit/task/conftest.py => 
providers/modal/src/airflow/providers/modal/exceptions.py (63%)
 create mode 100644 
providers/modal/src/airflow/providers/modal/get_provider_info.py
 copy {airflow-core/src/airflow/_shared => 
providers/modal/src/airflow/providers/modal/hooks}/__init__.py (100%)
 create mode 100644 providers/modal/src/airflow/providers/modal/hooks/modal.py
 copy providers/{airbyte => modal}/tests/conftest.py (100%)
 copy {airflow-core/tests/integration => 
providers/modal/tests/unit}/__init__.py (100%)
 copy {airflow-core/src/airflow/_shared => 
providers/modal/tests/unit/modal}/__init__.py (100%)
 copy {airflow-core/src/airflow/_shared => 
providers/modal/tests/unit/modal/hooks}/__init__.py (100%)
 create mode 100644 providers/modal/tests/unit/modal/hooks/test_modal.py
 copy providers/{alibaba/tests/unit/alibaba/cloud => 
modal/tests/unit/modal}/test_exceptions.py (62%)

Reply via email to