This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch fork-ci-3-reconciler
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard a706d5eb289 Add the fork CI reconciler and its scheduled monitor
discard 37a932e12f8 Run fork pushes with pull-request selective checks
discard ccf88a3d50b Gate project CI for external pull requests in ci-amd.yml
discard 32e2c1e8f30 Add fork CI eligibility function and configuration
discard 8d4f6ba40b1 Trust fork CI only for pull requests that cannot change it
discard a3a0ebf23af Close gaps in the fork CI design found in review
discard 033da6d356b Let volunteer contributors opt in to a fork CI pilot
discard 52cab9d4e73 Close gated pull requests that tamper with the fork CI gate
discard 03dda347572 Add design and ADR for running CI in contributor forks
(AIP-120)
add 6997dc76fe5 Add async aget_conn and acreate_embeddings to OpenAIHook
(#74149)
add 91a8ab6950a Fix airflowctl pools export/import dropping pool team
ownership (#73132)
add d5ba49cbd6a Close German Translation Gaps 2026-10-15 (#74802)
add 4c4bab01e06 Allow loop gates to add human-readable decisions (#74806)
add 238bb6ee2bd Complete Hebrew UI translations 2026-10-16 (#74467)
add 4c98adf9e20 Skip the scheduler's Dag lookup for Dag runs with no
callback to send (#74835)
add 896f3711bdd Update Magpie floor to 0.9.0.dev202610140816 (#74815)
add 028a4da8672 Add Map Index search to dag breadcrumb (#74763)
add 6b83a911778 Add design and ADR for running CI in contributor forks
(AIP-120)
add 3be2eade032 Close gated pull requests that tamper with the fork CI gate
add 57d0dce0e16 Let volunteer contributors opt in to a fork CI pilot
add 4e848bf021a Close gaps in the fork CI design found in review
add b3d1c09e7d4 Trust fork CI only for pull requests that cannot change it
add ba6ef405505 Add fork CI eligibility function and configuration
add b3813491afd Gate project CI for external pull requests in ci-amd.yml
add d4413f32a98 Run fork pushes with pull-request selective checks
add a3ec692394f Add the fork CI reconciler and its scheduled monitor
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 (a706d5eb289)
\
N -- N -- N refs/heads/fork-ci-3-reconciler (a3ec692394f)
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-translations/locales/he.md | 32 ++-
.apache-magpie.lock | 6 +-
.../docs/authoring-and-scheduling/loops.rst | 30 ++-
airflow-core/pyproject.toml | 2 +-
.../api_fastapi/core_api/datamodels/ui/grid.py | 14 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 5 +
.../core_api/openapi/v2-rest-api-generated.yaml | 11 +
.../api_fastapi/core_api/routes/public/xcom.py | 18 ++
.../core_api/services/public/task_instances.py | 11 +-
.../api_fastapi/core_api/services/ui/grid.py | 18 +-
.../execution_api/datamodels/taskinstance.py | 21 ++
.../execution_api/routes/task_instances.py | 22 +-
.../api_fastapi/execution_api/routes/xcoms.py | 58 +----
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_10_30.py | 12 +
.../src/airflow/example_dags/example_task_loops.py | 6 +-
.../src/airflow/jobs/scheduler_job_runner.py | 9 +-
airflow-core/src/airflow/models/dagrun.py | 44 ++--
airflow-core/src/airflow/models/dynamic_region.py | 3 +-
.../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 | 5 +
.../ui/openapi-gen/requests/services.gen.ts | 2 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 8 +
.../airflow/ui/public/i18n/locales/de/common.json | 7 +
.../src/airflow/ui/public/i18n/locales/de/dag.json | 24 +-
.../airflow/ui/public/i18n/locales/de/dags.json | 4 +-
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 1 +
.../airflow/ui/public/i18n/locales/en/dags.json | 1 +
.../airflow/ui/public/i18n/locales/he/admin.json | 35 ++-
.../airflow/ui/public/i18n/locales/he/assets.json | 19 +-
.../airflow/ui/public/i18n/locales/he/browse.json | 35 +++
.../airflow/ui/public/i18n/locales/he/common.json | 150 +++++++++++-
.../ui/public/i18n/locales/he/components.json | 63 +++++-
.../src/airflow/ui/public/i18n/locales/he/dag.json | 122 ++++++++--
.../airflow/ui/public/i18n/locales/he/dags.json | 51 ++++-
.../ui/public/i18n/locales/he/dashboard.json | 26 ++-
.../airflow/ui/src/components/Breadcrumb/Crumb.tsx | 22 +-
.../ui/src/components/Breadcrumb/CrumbSwitcher.tsx | 18 +-
.../LoopDecisionReason.tsx} | 28 +--
.../src/airflow/ui/src/components/SearchSelect.tsx | 113 +++++-----
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 29 ++-
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 32 ++-
.../src/layouts/Details/MapIndexSwitcherButton.tsx | 98 ++++++++
.../ui/src/layouts/Details/SearchDagRuns.test.tsx | 38 ++--
.../ui/src/layouts/Details/SearchDagRuns.tsx | 49 ++--
.../ui/src/layouts/Details/SearchDags.test.tsx | 135 +++++++----
.../airflow/ui/src/layouts/Details/SearchDags.tsx | 74 ++++--
.../src/layouts/Details/SearchMapIndexes.test.tsx | 192 ++++++++++++++++
.../ui/src/layouts/Details/SearchMapIndexes.tsx | 168 ++++++++++++++
.../ui/src/layouts/Details/searchOptions.test.ts | 41 +++-
.../ui/src/layouts/Details/searchOptions.ts | 59 ++++-
.../GroupTaskInstance/useLoopOutcomeStats.test.tsx | 64 ++++++
.../GroupTaskInstance/useLoopOutcomeStats.tsx | 16 +-
.../ui/src/pages/TaskInstance/Header.test.tsx | 34 ++-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 12 +
.../src/airflow/ui/src/pages/XCom/XCom.test.tsx | 18 ++
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 1 +
airflow-core/src/airflow/ui/src/utils/option.ts | 10 +-
.../core_api/routes/public/test_task_instances.py | 10 +-
.../core_api/routes/public/test_xcom.py | 48 ++++
.../api_fastapi/core_api/routes/ui/test_grid.py | 40 +++-
.../versions/head/test_task_instances.py | 251 +++++++--------------
.../execution_api/versions/head/test_xcoms.py | 53 +----
airflow-core/tests/unit/jobs/test_scheduler_job.py | 36 ++-
airflow-core/tests/unit/models/conftest.py | 8 +-
airflow-core/tests/unit/models/test_dagrun.py | 36 ++-
.../src/airflowctl/ctl/commands/pool_command.py | 2 +
.../airflow_ctl/ctl/commands/test_pool_command.py | 45 ++++
go-sdk/pkg/execution/genmodels/models.gen.go | 22 +-
go-sdk/schema/supervisor-schema.json | 49 ++++
providers/openai/pyproject.toml | 2 +-
.../src/airflow/providers/openai/hooks/openai.py | 79 ++++++-
.../openai/tests/unit/openai/hooks/test_openai.py | 202 ++++++++++++++++-
task-sdk/docs/api.rst | 2 +
task-sdk/docs/index.rst | 1 +
task-sdk/src/airflow/sdk/__init__.py | 3 +
task-sdk/src/airflow/sdk/__init__.pyi | 2 +
task-sdk/src/airflow/sdk/api/client.py | 16 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 14 ++
.../src/airflow/sdk/definitions/_internal/loop.py | 10 +-
.../sdk/definitions/decorators/task_group.py | 6 +-
.../src/airflow/sdk/definitions/loop.py | 20 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 2 +
task-sdk/src/airflow/sdk/execution_time/loop.py | 70 ++++--
.../airflow/sdk/execution_time/schema/schema.json | 49 ++++
.../execution_time/schema/versions/v2026_10_30.py | 12 +-
.../src/airflow/sdk/execution_time/supervisor.py | 2 +
.../src/airflow/sdk/execution_time/task_runner.py | 11 +-
task-sdk/tests/task_sdk/api/test_client.py | 27 +++
.../tests/task_sdk/execution_time/test_loop.py | 214 +++++++++++-------
.../task_sdk/execution_time/test_supervisor.py | 24 +-
ts-sdk/schema/supervisor-schema.json | 49 ++++
ts-sdk/src/generated/supervisor.ts | 14 ++
uv.lock | 2 +-
99 files changed, 2814 insertions(+), 778 deletions(-)
copy airflow-core/src/airflow/ui/src/{layouts/Details/Grid/DurationTick.tsx =>
components/LoopDecisionReason.tsx} (67%)
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/MapIndexSwitcherButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchMapIndexes.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchMapIndexes.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/useLoopOutcomeStats.test.tsx
copy airflow-core/tests/unit/task/conftest.py =>
task-sdk/src/airflow/sdk/definitions/loop.py (66%)