This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a change to branch beta-aware-start-rc-process
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 0bde580ac0a Add start-beta-process command to cut beta pre-releases
add 3fa1eb5a27a Add URL param support to calendar view (#73237) (#73762)
add d7c60857bc0 Expose the resolved LLM model name on a dedicated XCom key
(#74272)
add c8de3793a25 Make provider signing resumable after interruption (#74465)
add 88b83d1f0d4 Fix Spark submit standalone status polling to use correct
REST endpoint (#71949)
add 7c014e1b61a Fix plugin applies_to scoping defects found in review
(#74425)
add fb235e6926a Preserve newlines in XCom tab string values (#74112)
add 42b25f5df74 Add documentation and sample DAG for `ExasolToS3Operator`
(#73940)
add 150be723896 Close Catalan gap (#74361)
add bc96a14f776 UI: Move UI-only e2e checks to unit tests (#74367)
add e82b196c065 Dag run breadcrumb switcher (#74471)
add 23cd2c89304 Fix missing end-of-file newline in XComEntry.test.tsx
(#74476)
add bf2de26c7b7 Fix Quick Start installing Airflow 3.1.1 instead of the
documented version (#74474)
add 42dfb20b812 Assert on structured log events in common.ai tests (#74443)
add 386c0ba69eb Export `DataFusionToolset`, `AgentSkillsToolset` and
`LoggingToolset`… (#74449)
add 00967b20550 Bump the ui-plugin-template-package-updates group across 1
directory with 7 updates (#74331)
add 6eae11fb7dc Bump the registry-security-updates group across 1
directory with 2 updates (#74326)
add 30aad96a041 Bump the uv-dependency-updates group across 1 directory
with 6 updates (#74259)
add 23b3e7b4147 Bump the ts-sdk-package-updates group across 1 directory
with 2 updates (#74253)
add f5c535bbae0 Bump swagger-ui-dist (#74251)
add d3899db5079 Bump oauthlib (#74325)
add 7811cbacf5a Reject unsupported output_type and bound HITL XCom pull
retries (#74450)
add 6e5d9ddc185 Update the TypeScript SDK docs for Dags declared in
TypeScript (#73875)
add 2bda1928703 Java SDK: Pack each native Dag's source file into the
bundle JAR (#74096)
add d4013cc2b5b Java SDK: Pick one of two tasks with a condition (#74438)
add c3043c266c6 Java SDK: Choose one of several tasks with a branch
(#74439)
add c5f504366d5 Java SDK: Trigger another Dag's run from a native Java Dag
(#74440)
add 7f945b45d07 Make `SQLToolset` `check_query` follow `allow_writes` like
`query` (#74448)
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 785d82da5c0 Cover native Go Dags in the go_sdk e2e test (#74411)
add 0ff7b122d55 Add start-beta-process command to cut beta pre-releases
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 (0bde580ac0a)
\
N -- N -- N refs/heads/beta-aware-start-rc-process (0ff7b122d55)
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:
.pre-commit-config.yaml | 13 +-
.../0015-per-dag-source-in-bundle-artifact.md | 2 +
.../administration-and-deployment/dag-bundles.rst | 24 +
.../docs/administration-and-deployment/plugins.rst | 105 ++-
.../language-sdks/index.rst | 81 +-
.../language-sdks/java.rst | 4 +
.../language-sdks/typescript.rst | 933 +++++++++++----------
airflow-core/docs/start.rst | 9 +-
airflow-core/newsfragments/74278.feature.rst | 2 +-
airflow-core/src/airflow/plugins_manager.py | 93 +-
.../airflow/ui/public/i18n/locales/ca/assets.json | 3 +-
.../airflow/ui/public/i18n/locales/ca/browse.json | 30 +
.../airflow/ui/public/i18n/locales/ca/common.json | 38 +-
.../ui/public/i18n/locales/ca/components.json | 17 +-
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 68 ++
.../airflow/ui/public/i18n/locales/ca/dags.json | 29 +
.../ui/public/i18n/locales/ca/dashboard.json | 17 +-
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../airflow/ui/public/i18n/locales/en/dags.json | 1 +
.../ui/public/i18n/locales/zh-TW/common.json | 7 +
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 7 +
.../ui/src/components/Breadcrumb/CrumbSwitcher.tsx | 85 ++
.../airflow/ui/src/components/Breadcrumb/index.ts | 1 +
.../DagActions/RunBackfillForm.dateRange.test.tsx | 118 +++
.../ui/src/components/DataTable/DataTable.test.tsx | 15 +-
.../components/SearchDags/SearchDagsControl.tsx | 37 -
.../airflow/ui/src/components/SearchDags/index.ts | 20 -
.../src/airflow/ui/src/components/SearchSelect.tsx | 117 +++
.../src/airflow/ui/src/constants/localStorage.ts | 2 -
.../src/airflow/ui/src/constants/searchParams.ts | 3 +
.../ui/src/hooks/usePluginAppliesToContext.test.ts | 32 +-
.../ui/src/hooks/usePluginAppliesToContext.ts | 49 +-
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 71 ++
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 44 +-
.../src/layouts/Details/DagRunSwitcherButton.tsx | 89 ++
.../ui/src/layouts/Details/DagSwitcherButton.tsx | 75 +-
.../ui/src/layouts/Details/SearchDagRuns.test.tsx | 215 +++++
.../ui/src/layouts/Details/SearchDagRuns.tsx | 129 +++
.../Details}/SearchDags.test.tsx | 2 +-
.../SearchDags => layouts/Details}/SearchDags.tsx | 67 +-
.../ui/src/layouts/Details/searchOptions.test.ts | 50 ++
.../ui/src/layouts/Details/searchOptions.ts | 66 ++
.../Dag/Calendar/Calendar.failedView.test.tsx | 140 ++++
.../ui/src/pages/Dag/Calendar/Calendar.test.tsx | 153 ++++
.../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx | 53 +-
.../airflow/ui/src/pages/Dag/Code/Code.test.tsx | 72 ++
...ader.test.tsx => RequiredActionsRoute.test.tsx} | 46 +-
.../airflow/ui/src/pages/Dag/Tasks/Tasks.test.tsx | 114 +++
.../ui/src/pages/DagsList/DagsList.test.tsx | 29 +
.../ui/src/pages/TaskInstance/Logs/Logs.test.tsx | 62 +-
.../src/airflow/ui/src/pages/XCom/XCom.test.tsx | 80 ++
.../airflow/ui/src/pages/XCom/XComEntry.test.tsx | 26 +
.../src/airflow/ui/src/pages/XCom/XComEntry.tsx | 19 +-
airflow-core/src/airflow/ui/src/utils/option.ts | 4 +
.../airflow/ui/src/utils/pluginAppliesTo.test.ts | 7 +-
.../src/airflow/ui/tests/e2e/fixtures/pom.ts | 5 -
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 30 -
.../airflow/ui/tests/e2e/pages/DagCalendarTab.ts | 47 +-
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 20 -
.../airflow/ui/tests/e2e/pages/DagDetailPage.ts | 49 --
.../src/airflow/ui/tests/e2e/pages/DagRunPage.ts | 8 +-
.../src/airflow/ui/tests/e2e/pages/DagRunsPage.ts | 32 -
.../airflow/ui/tests/e2e/pages/DagRunsTabPage.ts | 33 -
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 115 ---
.../src/airflow/ui/tests/e2e/pages/XComsPage.ts | 14 -
.../src/airflow/ui/tests/e2e/specs/asset.spec.ts | 17 +-
.../airflow/ui/tests/e2e/specs/backfill.spec.ts | 64 --
.../airflow/ui/tests/e2e/specs/dag-bundles.spec.ts | 37 +-
.../ui/tests/e2e/specs/dag-calendar-tab.spec.ts | 75 +-
.../ui/tests/e2e/specs/dag-code-tab.spec.ts | 8 -
.../airflow/ui/tests/e2e/specs/dag-detail.spec.ts | 43 -
.../src/airflow/ui/tests/e2e/specs/dag-run.spec.ts | 13 +-
.../ui/tests/e2e/specs/dag-runs-tab.spec.ts | 30 +-
.../airflow/ui/tests/e2e/specs/dag-runs.spec.ts | 10 -
.../airflow/ui/tests/e2e/specs/dag-tasks.spec.ts | 102 ---
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 67 +-
.../src/airflow/ui/tests/e2e/specs/plugins.spec.ts | 35 +-
.../airflow/ui/tests/e2e/specs/providers.spec.ts | 19 +-
.../ui/tests/e2e/specs/task-instances.spec.ts | 5 -
.../airflow/ui/tests/e2e/specs/task-logs.spec.ts | 66 +-
.../src/airflow/ui/tests/e2e/specs/xcoms.spec.ts | 20 +-
.../tests/unit/always/test_project_structure.py | 2 -
.../lang_sdk_fixtures/go_native.json | 4 +-
.../tests/unit/plugins/test_plugins_manager.py | 158 +++-
airflow-e2e-tests/docker/go.yml | 7 +
.../tests/airflow_e2e_tests/conftest.py | 43 +-
.../tests/airflow_e2e_tests/constants.py | 3 +
.../airflow_e2e_tests/e2e_test_utils/clients.py | 44 +-
.../go_sdk_tests/test_go_sdk_native_dag.py | 220 +++++
.../ts_sdk_tests/test_ts_sdk_dag.py | 65 +-
.../commands/release_candidate_command.py | 1 -
dev/breeze/uv.lock | 48 +-
.../react_plugin_template/package.json | 14 +-
.../react_plugin_template/pnpm-lock.yaml | 406 ++++-----
dev/sign.sh | 9 +
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/example/native/main.go | 177 ++++
.../factory.go => example/native/report.go} | 20 +-
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 ++++++++++++++
java-sdk/README.md | 10 +-
java-sdk/capabilities.yaml | 18 +-
.../airflow/example/ExampleBundleBuilder.java | 3 +-
.../example/nativedag/AnnotationExample.java | 44 +-
.../example/nativedag/InterfaceExample.java | 57 +-
.../airflow/example/nativedag/TargetExample.java | 49 ++
java-sdk/plugin/build.gradle.kts | 6 +
.../apache/airflow/sdk/plugin/AirflowSdkPlugin.kt | 55 +-
.../org/apache/airflow/sdk/plugin/ClassFiles.kt | 85 ++
.../apache/airflow/sdk/plugin/PackDagSources.kt | 256 ++++++
.../airflow/sdk/plugin/AirflowSdkPluginTest.kt | 365 ++++++++
.../apache/airflow/sdk/plugin/ClassFilesTest.kt | 80 ++
.../airflow/sdk/plugin/PackDagSourcesTest.kt | 89 ++
.../org/apache/airflow/sdk/plugin/TestSupport.kt} | 38 +-
.../org/apache/airflow/sdk/BuilderProcessor.kt | 209 ++++-
.../kotlin/org/apache/airflow/sdk/BuilderTest.kt | 692 ++++++++++++++-
.../ci/prek/check_serialization_conformance.py | 2 +-
java-sdk/sdk/build.gradle.kts | 68 ++
java-sdk/sdk/module.md | 6 +-
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 27 +-
.../kotlin/org/apache/airflow/sdk/Condition.kt | 224 +++++
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 140 ++++
.../main/kotlin/org/apache/airflow/sdk/Decider.kt | 90 ++
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 109 ++-
.../main/kotlin/org/apache/airflow/sdk/Switch.kt | 240 ++++++
.../kotlin/org/apache/airflow/sdk/TaskGroupRef.kt | 81 ++
.../kotlin/org/apache/airflow/sdk/TriggerDagRun.kt | 189 +++++
.../org/apache/airflow/sdk/execution/Client.kt | 88 ++
.../org/apache/airflow/sdk/execution/Logger.kt | 5 +
.../org/apache/airflow/sdk/execution/Serde.kt | 129 ++-
.../org/apache/airflow/sdk/execution/Task.kt | 42 +-
.../apache/airflow/sdk/execution/TriggerRunner.kt | 324 +++++++
.../org/apache/airflow/sdk/internal/DagSource.kt | 66 ++
.../org/apache/airflow/sdk/internal/Fields.kt | 33 +
.../kotlin/org/apache/airflow/sdk/internal/Ids.kt | 10 +
.../apache/airflow/example/DagSourceFixtures.kt} | 49 +-
.../org/apache/airflow/sdk/ArgTestSupport.kt | 19 +
.../kotlin/org/apache/airflow/sdk/ClientTest.kt | 19 +
.../kotlin/org/apache/airflow/sdk/ConditionTest.kt | 208 +++++
.../kotlin/org/apache/airflow/sdk/DagSourceTest.kt | 132 +++
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 6 +-
.../kotlin/org/apache/airflow/sdk/SwitchTest.kt | 224 +++++
.../org/apache/airflow/sdk/TriggerDagRunTest.kt | 275 ++++++
.../airflow/sdk/conformance/SerializeJava.kt | 191 ++++-
.../org/apache/airflow/sdk/execution/CommTest.kt | 171 ++++
.../org/apache/airflow/sdk/execution/TaskTest.kt | 319 +++++++
.../airflow/sdk/execution/TriggerRunnerTest.kt | 473 +++++++++++
.../apache/airflow/sdk/internal/ArgValuesTest.kt | 19 +
.../org/apache/airflow/sdk/internal/RefsTest.kt | 65 ++
.../{redshift_to_s3.rst => exasol_to_s3.rst} | 40 +-
providers/amazon/provider.yaml | 1 +
.../providers/amazon/aws/transfers/exasol_to_s3.py | 5 +-
.../airflow/providers/amazon/get_provider_info.py | 1 +
...xample_ftp_to_s3.py => example_exasol_to_s3.py} | 37 +-
.../providers/apache/spark/hooks/spark_submit.py | 48 +-
.../unit/apache/spark/hooks/test_spark_submit.py | 491 ++++++-----
providers/common/ai/docs/hitl_review.rst | 9 +-
providers/common/ai/docs/observability.rst | 18 +-
providers/common/ai/docs/toolsets/index.rst | 26 +-
providers/common/ai/docs/toolsets/sql.rst | 4 +-
.../providers/common/ai/mixins/hitl_review.py | 21 +-
.../airflow/providers/common/ai/operators/agent.py | 11 +-
.../airflow/providers/common/ai/operators/llm.py | 27 +-
.../providers/common/ai/operators/llm_branch.py | 6 +-
.../common/ai/operators/llm_schema_compare.py | 4 +
.../providers/common/ai/operators/llm_sql.py | 5 +-
.../providers/common/ai/toolsets/__init__.py | 9 +
.../airflow/providers/common/ai/toolsets/sql.py | 41 +-
.../airflow/providers/common/ai/utils/logging.py | 6 +
.../ai/decorators/test_llm_schema_compare.py | 14 +
.../unit/common/ai/decorators/test_llm_sql.py | 12 +
.../unit/common/ai/managed_agents/test_failover.py | 7 +-
.../unit/common/ai/mixins/test_hitl_review.py | 37 +-
.../tests/unit/common/ai/operators/test_agent.py | 43 +-
.../ai/tests/unit/common/ai/operators/test_llm.py | 19 +-
.../unit/common/ai/operators/test_llm_branch.py | 19 +-
.../common/ai/operators/test_llm_schema_compare.py | 6 +
.../tests/unit/common/ai/operators/test_llm_sql.py | 4 +
.../ai/tests/unit/common/ai/policies/test_retry.py | 18 +-
.../ai/tests/unit/common/ai/sandbox/test_base.py | 2 +-
.../ai/tests/unit/common/ai/sandbox/test_modal.py | 12 +-
.../unit/common/ai/toolsets/test_managed_agent.py | 9 +-
.../tests/unit/common/ai/toolsets/test_sandbox.py | 21 +-
.../ai/tests/unit/common/ai/toolsets/test_sql.py | 62 ++
.../unit/common/ai/utils/test_toolset_base.py | 4 +-
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 26 +-
scripts/ci/lang_sdk_serialization/test_dags.yaml | 7 +-
scripts/ci/prek/check_applies_to_roots_in_sync.py | 117 +++
.../ci/prek/test_check_applies_to_roots_in_sync.py | 84 ++
.../airflow/sdk/coordinators/java/_dag_importer.py | 4 +-
.../coordinators/java/test_dag_importer.py | 19 +
.../task_sdk/execution_time/test_task_runner.py | 75 +-
ts-sdk/README.md | 298 ++-----
ts-sdk/api-docs/dag-authoring-api.ts | 11 +-
ts-sdk/api-docs/supporting-types.ts | 8 +-
ts-sdk/capabilities.yaml | 5 +-
ts-sdk/docs/index.md | 68 +-
ts-sdk/example/README.md | 23 +-
ts-sdk/example/dags/typescript_example.py | 10 +
ts-sdk/example/src/main.ts | 36 +-
ts-sdk/pnpm-lock.yaml | 270 +++---
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 +
225 files changed, 13247 insertions(+), 3027 deletions(-)
create mode 100644
airflow-core/src/airflow/ui/src/components/Breadcrumb/CrumbSwitcher.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/RunBackfillForm.dateRange.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/SearchDags/SearchDagsControl.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/SearchDags/index.ts
create mode 100644 airflow-core/src/airflow/ui/src/components/SearchSelect.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/DagRunSwitcherButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchDagRuns.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchDagRuns.tsx
rename airflow-core/src/airflow/ui/src/{components/SearchDags =>
layouts/Details}/SearchDags.test.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/SearchDags =>
layouts/Details}/SearchDags.tsx (60%)
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/searchOptions.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/searchOptions.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Calendar/Calendar.failedView.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Calendar/Calendar.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Dag/Code/Code.test.tsx
copy airflow-core/src/airflow/ui/src/pages/Dag/{DagHeader.test.tsx =>
RequiredActionsRoute.test.tsx} (51%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Tasks/Tasks.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/XCom/XCom.test.tsx
delete mode 100644 airflow-core/src/airflow/ui/tests/e2e/pages/DagDetailPage.ts
delete mode 100644
airflow-core/src/airflow/ui/tests/e2e/specs/dag-detail.spec.ts
create mode 100644
airflow-e2e-tests/tests/airflow_e2e_tests/go_sdk_tests/test_go_sdk_native_dag.py
create mode 100644 go-sdk/example/native/main.go
copy go-sdk/{cmd/airflow-go-pack/testdata/multidag/factory/factory.go =>
example/native/report.go} (69%)
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
create mode 100644
java-sdk/example/src/java/org/apache/airflow/example/nativedag/TargetExample.java
create mode 100644
java-sdk/plugin/src/main/kotlin/org/apache/airflow/sdk/plugin/ClassFiles.kt
create mode 100644
java-sdk/plugin/src/main/kotlin/org/apache/airflow/sdk/plugin/PackDagSources.kt
create mode 100644
java-sdk/plugin/src/test/kotlin/org/apache/airflow/sdk/plugin/AirflowSdkPluginTest.kt
create mode 100644
java-sdk/plugin/src/test/kotlin/org/apache/airflow/sdk/plugin/ClassFilesTest.kt
create mode 100644
java-sdk/plugin/src/test/kotlin/org/apache/airflow/sdk/plugin/PackDagSourcesTest.kt
copy
java-sdk/{example/src/java/org/apache/airflow/example/ExampleBundleBuilder.java
=> plugin/src/test/kotlin/org/apache/airflow/sdk/plugin/TestSupport.kt} (50%)
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Condition.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Decider.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Switch.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/TriggerDagRun.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/execution/TriggerRunner.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/DagSource.kt
copy
java-sdk/sdk/src/{testFixtures/kotlin/org/apache/airflow/sdk/execution/LogCapture.kt
=> test/kotlin/org/apache/airflow/example/DagSourceFixtures.kt} (57%)
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/ConditionTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/DagSourceTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/SwitchTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/TriggerDagRunTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/TriggerRunnerTest.kt
copy providers/amazon/docs/transfer/{redshift_to_s3.rst => exasol_to_s3.rst}
(51%)
copy providers/amazon/tests/system/amazon/aws/{example_ftp_to_s3.py =>
example_exasol_to_s3.py} (71%)
create mode 100755 scripts/ci/prek/check_applies_to_roots_in_sync.py
create mode 100644 scripts/tests/ci/prek/test_check_applies_to_roots_in_sync.py