This is an automated email from the ASF dual-hosted git repository.
ashb pushed a change to branch task-loops-stack-13
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit f0c69597d6f fixup! Show loop iterations and outcomes throughout the UI
omit 8c0486ab618 Show loop iterations and outcomes throughout the UI
omit 9abbfd78cf8 fixup! Show current task executions in the UI
omit edc1ffdedac Show current task executions in the UI
omit e42341ae557 fixup! Let the HITL review plugin address one loop pass or
mapped slot
omit 63e7074410d Let the HITL review plugin address one loop pass or mapped
slot
omit 83bd2e6405c fixup! Read current task executions by exact region and try
omit 7be9bdb7d6d Read current task executions by exact region and try
omit db052e49a59 fixup! Clear selected loop work and regenerate only what
was replaced
omit 20fc40c86c8 Clear selected loop work and regenerate only what was
replaced
omit 240027dae72 fixup! Run loop gates and advance iterations atomically
omit 20a03228dd7 fixup! Run loop gates and advance iterations atomically
omit b14e19e40a2 Run loop gates and advance iterations atomically
omit aedf1846026 fixup! Attribute log, asset-event and asset-state writes
to the task attempt
omit a1c767057a9 fixup! Attribute log, asset-event and asset-state writes
to the task attempt
omit f851d581dcc Attribute log, asset-event and asset-state writes to the
task attempt
omit 93f88c1a804 fixup! Give every mapped expansion a region and store its
index as region_index
omit dea17629246 fixup! Give every mapped expansion a region and store its
index as region_index
omit faac1e97be6 Give every mapped expansion a region and store its index
as region_index
omit 4741eefd7ce fixup! Pin loop definitions and carry region coordinates
through task execution
omit aed05fb6f89 fixup! Pin loop definitions and carry region coordinates
through task execution
omit 2b19719a444 Pin loop definitions and carry region coordinates through
task execution
omit a67defefa75 fixup! Resolve live producers by region and read their
XCom by attempt
omit e1731ac40ab Resolve live producers by region and read their XCom by
attempt
omit 6cab9a2cf29 fixup! Introduce the (internal/db level) concept of
"dynamic regions" for TIs
omit fd5a17d300a Introduce the (internal/db level) concept of "dynamic
regions" for TIs
omit 1562ee6026b fixup! Add user-facing docs for the new Task Loops feature.
omit 942d14a2fa8 fixup! Add user-facing docs for the new Task Loops feature.
omit bb9b1775f15 Add user-facing docs for the new Task Loops feature.
add 30a3a6d7434 Go SDK: run TriggerDagRun tasks in the Go runtime (#74417)
add e060e6c0b46 Document how bundles can discover the dag_id/task_id being
requested (#69697)
add 8533cc40b0a TS SDK: add the task state store to the task client
(#73618)
add 86ebf1c8a2d Add missing Taiwanese Mandarin translations for task
states and Dag list settings (#74486)
add 2f47fd5be63 Add user-facing docs for the new Task Loops feature.
add 1e4eaf25fac fixup! Add user-facing docs for the new Task Loops feature.
add 1f7ad703b17 fixup! Add user-facing docs for the new Task Loops feature.
add 338b4dba8d2 fixup! Add user-facing docs for the new Task Loops feature.
add 28eacc4e201 Introduce the (internal/db level) concept of "dynamic
regions" for TIs
add a6f0f2c6f7c fixup! Introduce the (internal/db level) concept of
"dynamic regions" for TIs
add c96fc80c47e Resolve live producers by region and read their XCom by
attempt
add e650913f739 fixup! Resolve live producers by region and read their
XCom by attempt
add 289fe5b3979 Pin loop definitions and carry region coordinates through
task execution
add 8e97fc87016 fixup! Pin loop definitions and carry region coordinates
through task execution
add ac8660cc2c8 fixup! Pin loop definitions and carry region coordinates
through task execution
add 2f7bed1b9f1 fixup! Pin loop definitions and carry region coordinates
through task execution
add 12e796ef66c Give every mapped expansion a region and store its index
as region_index
add 09ba0d08b88 fixup! Give every mapped expansion a region and store its
index as region_index
add 31f60f70c3e fixup! Give every mapped expansion a region and store its
index as region_index
add 17f78308155 Attribute log, asset-event and asset-state writes to the
task attempt
add a0fccda4d0e fixup! Attribute log, asset-event and asset-state writes
to the task attempt
add 1df025b0c9c fixup! Attribute log, asset-event and asset-state writes
to the task attempt
add 70a0e6f55de fixup! Attribute log, asset-event and asset-state writes
to the task attempt
add f633f8881f1 Run loop gates and advance iterations atomically
add 77be2be6f78 fixup! Run loop gates and advance iterations atomically
add 81ecf07286b fixup! Run loop gates and advance iterations atomically
add cde2024a71e fixup! Run loop gates and advance iterations atomically
add 52a5e88a35c Clear selected loop work and regenerate only what was
replaced
add b131857e836 fixup! Clear selected loop work and regenerate only what
was replaced
add 86d77ca4c04 fixup! Clear selected loop work and regenerate only what
was replaced
add 3f9fa1256d9 Read current task executions by exact region and try
add e831b509185 fixup! Read current task executions by exact region and try
add d5f852b969f fixup! Read current task executions by exact region and try
add 03e23ea139e Let the HITL review plugin address one loop pass or mapped
slot
add 7dbd1f3ccf7 fixup! Let the HITL review plugin address one loop pass or
mapped slot
add 6912027203f Show current task executions in the UI
add 6ddc251ab22 fixup! Show current task executions in the UI
add 9e354d0c70f fixup! Show current task executions in the UI
add e00c980016a Show loop iterations and outcomes throughout the UI
add 84740e1238c fixup! Show loop iterations and outcomes throughout the UI
add 1ec2c13f1c9 fixup! Show loop iterations and outcomes throughout the UI
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 (f0c69597d6f)
\
N -- N -- N refs/heads/task-loops-stack-13 (1ec2c13f1c9)
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:
.../administration-and-deployment/dag-bundles.rst | 24 +
.../language-sdks/typescript.rst | 53 +-
.../docs/authoring-and-scheduling/loops.rst | 50 +-
.../src/airflow/api_fastapi/common/region.py | 54 ++
.../core_api/datamodels/asset_state_store.py | 7 +-
.../core_api/datamodels/task_instance_history.py | 7 +-
.../core_api/datamodels/task_instances.py | 8 +-
.../core_api/datamodels/ui/execution.py | 7 +-
.../api_fastapi/core_api/datamodels/ui/gantt.py | 7 +-
.../api_fastapi/core_api/datamodels/xcom.py | 7 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 10 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 38 +-
.../core_api/routes/public/task_instances.py | 8 +-
.../core_api/services/public/task_coordinates.py | 2 +
.../core_api/services/public/task_instances.py | 1 +
.../execution_api/datamodels/taskinstance.py | 13 +-
.../api_fastapi/execution_api/routes/xcoms.py | 105 +++-
.../execution_api/versions/v2026_10_30.py | 2 +-
airflow-core/src/airflow/models/dagrun.py | 2 +-
airflow-core/src/airflow/models/dynamic_region.py | 99 ++++
.../src/airflow/models/task_coordinates.py | 79 ++-
.../ui/openapi-gen/queries/ensureQueryData.ts | 8 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 8 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 8 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 8 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 38 +-
.../ui/openapi-gen/requests/services.gen.ts | 8 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 33 +-
.../ui/public/i18n/locales/zh-TW/common.json | 7 +
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 7 +
.../Clear/TaskInstance/ClearExecutionDialog.tsx | 8 +-
.../TaskInstance/ClearTaskInstanceDialog.test.tsx | 3 +-
.../airflow/ui/src/components/DurationChart.tsx | 21 +-
.../TaskInstance/MarkTaskInstanceAsDialog.test.tsx | 3 +-
.../ui/src/components/TaskInstanceTooltip.test.tsx | 3 +-
.../layouts/Details/Gantt/GanttTimeline.test.tsx | 13 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 29 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 10 +-
.../Asset/AssetStateStore/AssetStateStore.test.tsx | 11 +-
.../src/airflow/ui/src/pages/Events/Events.tsx | 5 +-
.../src/airflow/ui/src/pages/Run/Execution.tsx | 14 +-
.../ui/src/pages/TaskInstance/AssetEvents.tsx | 3 +-
.../src/pages/TaskInstance/TaskInstance.test.tsx | 72 ++-
.../BulkDeleteTaskInstancesButton.tsx | 2 +-
.../BulkMarkTaskInstancesAsButton.tsx | 2 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 4 +-
.../pages/TaskStateStore/TaskStateStore.test.tsx | 1 +
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 9 +-
.../airflow/ui/src/queries/useBulkMarkAsDryRun.ts | 4 +-
.../src/airflow/ui/src/queries/useLogs.test.ts | 4 +-
.../src/airflow/ui/src/queries/useLogs.tsx | 2 +-
.../src/airflow/ui/src/utils/links.test.ts | 3 -
airflow-core/src/airflow/ui/src/utils/links.ts | 2 +-
.../src/airflow/ui/src/utils/loopTaskInstance.ts | 5 +-
.../routes/public/test_asset_state_store.py | 30 +-
.../core_api/routes/public/test_dag_run.py | 9 +-
.../core_api/routes/public/test_execution.py | 6 +-
.../core_api/routes/public/test_hitl.py | 3 +-
.../core_api/routes/public/test_task_instances.py | 116 ++--
.../routes/public/test_task_state_store.py | 38 +-
.../core_api/routes/public/test_xcom.py | 22 -
.../core_api/routes/ui/test_execution.py | 14 +
.../api_fastapi/core_api/routes/ui/test_gantt.py | 6 -
.../versions/head/test_task_instances.py | 4 +-
.../execution_api/versions/head/test_xcoms.py | 252 ++++++++
.../lang_sdk_fixtures/go_native.json | 4 +-
.../tests/unit/executors/test_workloads.py | 3 +-
.../tests/unit/models/test_dynamic_region.py | 154 +++++
.../tests/unit/models/test_task_coordinates.py | 111 +++-
.../unit/serialization/test_dag_serialization.py | 24 +
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 36 ++
.../src/airflowctl/api/datamodels/generated.py | 21 +-
.../tests/airflow_ctl/api/test_operations.py | 10 +-
.../airflow_ctl/ctl/commands/test_task_command.py | 9 +-
.../airflow_e2e_tests/e2e_test_utils/clients.py | 14 +-
.../ts_sdk_tests/test_ts_sdk_dag.py | 65 ++-
go-sdk/README.md | 4 +-
go-sdk/airflow/bundle.go | 13 +-
go-sdk/airflow/bundle_test.go | 59 +-
go-sdk/airflow/conformance_test.go | 7 +
go-sdk/airflow/serialize.go | 36 +-
go-sdk/airflow/serialize_test.go | 56 +-
go-sdk/airflow/spec.gen.go | 3 +-
go-sdk/airflow/trigger_dag_run.go | 82 ++-
go-sdk/airflow/trigger_dag_run_test.go | 26 +-
go-sdk/capabilities.yaml | 15 +-
go-sdk/internal/bundle/trigger.go | 64 ++
go-sdk/internal/genspec/authoring.go | 2 +-
go-sdk/pkg/execution/client.go | 46 ++
go-sdk/pkg/execution/client_test.go | 136 +++++
go-sdk/pkg/execution/task_runner.go | 38 +-
go-sdk/pkg/execution/trigger_runner.go | 418 +++++++++++++
go-sdk/pkg/execution/trigger_runner_test.go | 648 +++++++++++++++++++++
.../edge3/worker_api/v2-edge-generated.yaml | 10 +-
scripts/ci/lang_sdk_serialization/test_dags.yaml | 2 +-
.../src/airflow/sdk/definitions/_internal/loop.py | 50 ++
.../src/airflow/sdk/definitions/_internal/node.py | 15 +-
task-sdk/src/airflow/sdk/definitions/xcom_arg.py | 3 +-
.../src/airflow/sdk/execution_time/task_runner.py | 40 +-
.../task_sdk/definitions/_internal/test_loop.py | 164 +++++-
.../tests/task_sdk/definitions/test_xcom_arg.py | 51 +-
.../task_sdk/execution_time/test_task_runner.py | 139 ++++-
ts-sdk/README.md | 15 +-
ts-sdk/api-docs/dag-authoring-api.ts | 11 +-
ts-sdk/api-docs/supporting-types.ts | 8 +-
ts-sdk/capabilities.yaml | 5 +-
ts-sdk/example/dags/typescript_example.py | 10 +
ts-sdk/example/src/main.ts | 36 +-
ts-sdk/src/coordinator/client.ts | 198 ++++++-
ts-sdk/src/coordinator/protocol.ts | 5 +
ts-sdk/src/coordinator/runtime.ts | 4 +-
ts-sdk/src/index.ts | 11 +-
ts-sdk/src/sdk/client-types.ts | 23 +
ts-sdk/src/sdk/client.ts | 74 ++-
ts-sdk/tests/coordinator/client.test.ts | 238 +++++++-
ts-sdk/tests/coordinator/integration.test.ts | 23 +
ts-sdk/tests/public-api.test.ts | 22 +
117 files changed, 4106 insertions(+), 596 deletions(-)
create mode 100644 airflow-core/src/airflow/api_fastapi/common/region.py
create mode 100644 go-sdk/internal/bundle/trigger.go
create mode 100644 go-sdk/pkg/execution/trigger_runner.go
create mode 100644 go-sdk/pkg/execution/trigger_runner_test.go