This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a change to branch backport-b43705c-v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 4f6d87f079c [v3-4-test] Decide min_one_success trigger rules per index
in mapped task groups (#75417)
add 80e64ec6a79 [v3-4-test] Allow jason810496 to publish docs to S3
(#75548) (#75549)
add 6c46571772a [v3-4-test] Run the Kerberos renewer without metadata
database checks (#75000) (#75467)
add 3cf210dcd24 [v3-4-test] Make Dags sidebar button a link and move Dag
Runs and Task Instances to Browse (#75422) (#75517)
add 79a3a5637a5 [v3-4-test] Show the filtered task count in the Dag Tasks
tab heading (#75448) (#75490)
add 1541e66929f [v3-4-test] Keep .airflowignore rules when the Dags folder
symlink is switched (#74853) (#75466)
add 32da57961da [v3-4-test] Remove info tooltip from Dag version
comparison (#75526) (#75535)
add 79e1aea617c [v3-4-test] Reject non-positive max_active_runs when
creating a backfill (#75071) (#75320)
add f14de21c591 [v3-4-test] Show states of task groups as stacked cards in
Grid view (#75442) (#75486)
add 2e056cccc45 [v3-4-test] Fix breeze ci_group crash when the title is
skipped in GitHub Actions (#75401) (#75410)
add 2104e114168 [v3-4-test] Go SDK: stop log attributes from displacing
standard log fields (#73820) (#75564)
add 0500ec80138 [v3-4-test] Keep Breeze unit tests independent of the CI
repository (#75587) (#75591)
add 864f1077ef2 [v3-4-test] Commit pre-release constraints onto the shared
constraints-X-Y branch (#75329) (#75592)
add 9375102ada9 [v3-4-test] UI: Fix visual and console-error bugs in Dag
list and details (#75418) (#75593)
add b1d111e303d [v3-4-test] Fix Go SDK install command breaking the first
bundle build (#75574) (#75594)
add 5fbbb908236 [v3-4-test] Cover YAML-generated TypeScript Dags in the
ts_sdk e2e test (#75054) (#75595)
add 214bee48f29 [v3-4-test] Fix "Dynamic require" error for CommonJS
packages in airflow-ts-pack (#75067) (#75603)
add f5b20a98fe3 [v3-4-test] Stop the cdxgen server containers when SBOM
generation ends (#75613) (#75614)
add eff1d81ddd1 [v3-4-test] Backport today's CI changes (#75589, #74566,
#74889, #75612, #75615) (#75617)
add 8eb4cee4028 [v3-4-test] Bring CI tooling level with main (#73785,
#73998, #73823, #74819, #74820, #74822, #74823, #74825, #75578, #75588, #75611)
(#75618)
add d09396754c9 [v3-4-test] Run only the component's tests on chart and
airflow-ctl release branches (#75621) (#75624)
add 82849bc6694 [v3-4-test] Run the component branch selection tests
against main on every branch (#75633) (#75637)
add 19447faac66 [v3-4-test] Add missing German Dag trigger translations
(#75519) (#75568)
add 553e0fae272 [v3-4-test] Decide min_one_success trigger rules per index
in mapped task groups (#75417)
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 (4f6d87f079c)
\
N -- N -- N refs/heads/backport-b43705c-v3-4-test (553e0fae272)
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:
.asf.yaml | 7 +-
.github/actions/breeze/action.yml | 2 +
.../actions/prepare_breeze_and_image/action.yml | 5 +-
.github/actions/prepare_single_ci_image/action.yml | 5 +-
.../runs-on-cost-summary/action.yml} | 29 +-
.github/actions/stash-restore/action.yml | 137 ++
.github/actions/stash-save/action.yml | 129 ++
.github/fork-ci-gate.toml | 42 +
.github/workflows/additional-ci-image-checks.yml | 2 +-
.github/workflows/additional-prod-image-tests.yml | 80 +-
.github/workflows/basic-tests.yml | 65 +-
.github/workflows/check-newsfragment-pr-number.yml | 60 -
.github/workflows/ci-amd.yml | 302 +++-
.github/workflows/ci-arm.yml | 186 ++-
.github/workflows/ci-image-build.yml | 36 +-
.github/workflows/ci-image-checks.yml | 14 +-
.github/workflows/finalize-tests.yml | 6 +-
.github/workflows/fork-ci-monitor.yml | 235 +++
.github/workflows/generate-constraints.yml | 4 +-
.github/workflows/helm-tests.yml | 4 +-
.github/workflows/integration-system-tests.yml | 6 +-
.github/workflows/k8s-tests.yml | 4 +-
.github/workflows/kustomize-overlays-tests.yml | 8 +-
.github/workflows/prod-image-build.yml | 6 +-
.github/workflows/publish-docs-to-s3.yml | 1 +
.github/workflows/push-image-cache.yml | 4 +-
.github/workflows/release-constraints.yml | 46 +-
.../scheduled-legacy-prod-image-canary.yml | 1 +
.github/workflows/special-tests.yml | 22 +-
.github/workflows/spot-interruption-notice.yml | 57 +
.github/workflows/test-providers.yml | 4 +-
.github/workflows/ui-e2e-tests.yml | 2 +-
.pre-commit-config.yaml | 332 +++-
README.md | 2 +
airflow-core/.pre-commit-config.yaml | 62 +
.../authoring-and-scheduling/language-sdks/go.rst | 2 +-
.../api_fastapi/core_api/datamodels/backfills.py | 2 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 1 +
.../src/airflow/cli/commands/kerberos_command.py | 2 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 1 +
.../airflow/ui/public/i18n/locales/ar/common.json | 1 -
.../ui/public/i18n/locales/ar/components.json | 7 +
.../airflow/ui/public/i18n/locales/ca/common.json | 1 -
.../ui/public/i18n/locales/ca/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 2 -
.../airflow/ui/public/i18n/locales/de/common.json | 1 -
.../ui/public/i18n/locales/de/components.json | 13 +
.../src/airflow/ui/public/i18n/locales/de/dag.json | 2 -
.../airflow/ui/public/i18n/locales/el/common.json | 1 -
.../ui/public/i18n/locales/el/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/el/dag.json | 2 -
.../airflow/ui/public/i18n/locales/en/common.json | 1 -
.../ui/public/i18n/locales/en/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 2 -
.../airflow/ui/public/i18n/locales/es/common.json | 1 -
.../ui/public/i18n/locales/es/components.json | 7 +
.../airflow/ui/public/i18n/locales/fr/common.json | 1 -
.../ui/public/i18n/locales/fr/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 2 -
.../airflow/ui/public/i18n/locales/he/common.json | 1 -
.../ui/public/i18n/locales/he/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/he/dag.json | 2 -
.../airflow/ui/public/i18n/locales/hi/common.json | 1 -
.../ui/public/i18n/locales/hi/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/hi/dag.json | 2 -
.../airflow/ui/public/i18n/locales/hu/common.json | 1 -
.../ui/public/i18n/locales/hu/components.json | 7 +
.../airflow/ui/public/i18n/locales/it/common.json | 1 -
.../ui/public/i18n/locales/it/components.json | 7 +
.../airflow/ui/public/i18n/locales/ja/common.json | 1 -
.../ui/public/i18n/locales/ja/components.json | 7 +
.../airflow/ui/public/i18n/locales/ko/common.json | 1 -
.../ui/public/i18n/locales/ko/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 2 -
.../airflow/ui/public/i18n/locales/nl/common.json | 1 -
.../ui/public/i18n/locales/nl/components.json | 7 +
.../airflow/ui/public/i18n/locales/pl/common.json | 1 -
.../ui/public/i18n/locales/pl/components.json | 7 +
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 2 -
.../airflow/ui/public/i18n/locales/pt/common.json | 1 -
.../ui/public/i18n/locales/pt/components.json | 7 +
.../airflow/ui/public/i18n/locales/ru/common.json | 1 -
.../ui/public/i18n/locales/ru/components.json | 7 +
.../airflow/ui/public/i18n/locales/th/common.json | 1 -
.../ui/public/i18n/locales/th/components.json | 7 +
.../airflow/ui/public/i18n/locales/tr/common.json | 1 -
.../ui/public/i18n/locales/tr/components.json | 7 +
.../ui/public/i18n/locales/zh-CN/common.json | 1 -
.../ui/public/i18n/locales/zh-CN/components.json | 7 +
.../ui/public/i18n/locales/zh-TW/common.json | 1 -
.../ui/public/i18n/locales/zh-TW/components.json | 7 +
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 2 -
.../ui/src/components/DAGWarningsModal.test.tsx | 33 -
.../airflow/ui/src/components/DAGWarningsModal.tsx | 62 +-
.../ui/src/components/DagDeactivatedChip.test.tsx | 154 --
.../ui/src/components/DagDeactivatedChip.tsx | 70 -
...ortErrorModal.tsx => DagImportErrorDetails.tsx} | 20 +-
.../ui/src/components/DagImportErrorModal.tsx | 52 +-
.../ui/src/components/DagStatusChip.test.tsx | 161 ++
.../airflow/ui/src/components/DagStatusChip.tsx | 90 +
.../ui/src/components/DataTable/DataTable.tsx | 1 +
.../src/airflow/ui/src/components/ErrorAlert.tsx | 15 +-
.../ui/src/components/FilterBar/FilterBar.test.tsx | 15 +
.../ui/src/components/FilterBar/FilterPill.tsx | 29 +-
.../airflow/ui/src/components/StatusMessage.tsx | 52 +
.../src/airflow/ui/src/components/WarningAlert.tsx | 28 +-
.../ui/src/hooks/useRequiredActionTabs.test.tsx | 66 +
.../airflow/ui/src/hooks/useRequiredActionTabs.ts | 31 +-
.../ui/src/layouts/Details/DetailsLayout.tsx | 46 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 18 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 13 +-
.../ui/src/layouts/Details/Grid/GridTI.test.tsx | 25 +
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 9 +-
.../ui/src/layouts/Nav/BrowseButton.test.tsx | 83 +
.../airflow/ui/src/layouts/Nav/BrowseButton.tsx | 32 +-
.../airflow/ui/src/layouts/Nav/DagsButton.test.tsx | 54 +-
.../src/airflow/ui/src/layouts/Nav/DagsButton.tsx | 41 +-
.../ui/src/pages/AssetsList/AssetsList.test.tsx | 14 +-
.../airflow/ui/src/pages/Dag/Tasks/Tasks.test.tsx | 3 +
.../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx | 2 +-
.../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 8 -
.../ui/src/pages/Dag/Versions/VersionDiff.tsx | 22 +-
.../src/airflow/ui/src/pages/DagsList/DagCard.tsx | 8 +-
.../DagsList/DagsFilters/DagsFilters.test.tsx | 6 +-
.../ui/src/pages/DagsList/RecentRuns.test.tsx | 58 +
.../airflow/ui/src/pages/DagsList/RecentRuns.tsx | 10 +-
.../src/airflow/ui/src/utils/dagStatus.test.ts | 84 +
airflow-core/src/airflow/ui/src/utils/dagStatus.ts | 75 +
.../src/airflow/ui/src/utils/errorHandling.ts | 23 +
airflow-core/src/airflow/ui/src/utils/index.ts | 3 +-
airflow-core/src/airflow/ui/testsSetup.ts | 29 +
.../core_api/routes/public/test_backfills.py | 28 +
.../unit/cli/commands/test_kerberos_command.py | 36 +
airflow-ctl-tests/.pre-commit-config.yaml | 4 +
airflow-ctl/.pre-commit-config.yaml | 8 +
.../src/airflowctl/api/datamodels/generated.py | 2 +-
airflow-e2e-tests/.pre-commit-config.yaml | 2 +
airflow-e2e-tests/docker/ts.yml | 6 +
.../test_ts_sdk_dynamic_dag.py} | 44 +-
chart/.pre-commit-config.yaml | 28 +
contributing-docs/03_contributors_quick_start.rst | 13 +
.../03a_contributors_quick_start_beginners.rst | 5 +
contributing-docs/05_pull_requests.rst | 10 +-
contributing-docs/10_working_with_git.rst | 3 +
contributing-docs/18_contribution_workflow.rst | 72 +-
contributing-docs/25_maintainer_pr_triage.md | 34 +
contributing-docs/testing/k8s_tests.rst | 9 +-
dev/.pre-commit-config.yaml | 2 +
dev/README_AIRFLOW3_DEV.md | 22 +-
dev/README_RELEASE_AIRFLOW.md | 19 +-
dev/breeze/doc/05_test_commands.rst | 2 +-
dev/breeze/doc/08_ci_tasks.rst | 38 +
...0-run-ci-for-external-contributions-in-forks.md | 173 ++
dev/breeze/doc/ci/04_selective_checks.md | 146 +-
dev/breeze/doc/ci/05_workflows.md | 68 +
dev/breeze/doc/ci/06_debugging.md | 6 +-
.../doc/ci/08_fork_ci_for_external_contributors.md | 966 +++++++++++
dev/breeze/doc/ci/README.md | 1 +
dev/breeze/doc/images/output_ci.svg | 16 +-
dev/breeze/doc/images/output_ci.txt | 2 +-
dev/breeze/doc/images/output_ci_audit.svg | 116 ++
dev/breeze/doc/images/output_ci_audit.txt | 1 +
.../doc/images/output_ci_fork-ci-reconcile.svg | 148 ++
.../doc/images/output_ci_fork-ci-reconcile.txt | 1 +
.../output_setup_check-all-params-in-groups.svg | 28 +-
.../output_setup_check-all-params-in-groups.txt | 2 +-
.../output_setup_regenerate-command-images.svg | 8 +-
.../output_setup_regenerate-command-images.txt | 2 +-
.../src/airflow_breeze/commands/ci_commands.py | 189 ++-
.../airflow_breeze/commands/ci_commands_config.py | 23 +
dev/breeze/src/airflow_breeze/global_constants.py | 8 +
dev/breeze/src/airflow_breeze/utils/cdxgen.py | 74 +-
dev/breeze/src/airflow_breeze/utils/ci_audit.py | 403 +++++
dev/breeze/src/airflow_breeze/utils/ci_group.py | 22 +-
.../src/airflow_breeze/utils/fork_ci_gate.py | 327 ++++
.../src/airflow_breeze/utils/fork_ci_github.py | 189 +++
.../src/airflow_breeze/utils/fork_ci_messages.py | 234 +++
.../src/airflow_breeze/utils/fork_ci_reconcile.py | 1421 ++++++++++++++++
.../src/airflow_breeze/utils/fork_compare.py | 151 ++
dev/breeze/src/airflow_breeze/utils/git_remotes.py | 79 +
.../src/airflow_breeze/utils/kubernetes_utils.py | 34 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 6 +
.../src/airflow_breeze/utils/selective_checks.py | 326 +++-
.../src/airflow_breeze/utils/verification_plan.py | 2 +
dev/breeze/tests/conftest.py | 15 +
dev/breeze/tests/test_cdxgen.py | 73 +
dev/breeze/tests/test_ci_audit.py | 440 +++++
dev/breeze/tests/test_ci_commands.py | 52 +
.../breeze/tests/test_ci_group.py | 19 +-
dev/breeze/tests/test_fork_ci_gate.py | 429 +++++
dev/breeze/tests/test_fork_ci_github.py | 172 ++
dev/breeze/tests/test_fork_ci_messages.py | 125 ++
dev/breeze/tests/test_fork_ci_reconcile.py | 1719 ++++++++++++++++++++
dev/breeze/tests/test_fork_compare.py | 134 ++
dev/breeze/tests/test_git_remotes.py | 103 ++
dev/breeze/tests/test_kubernetes_utils.py | 86 +
dev/breeze/tests/test_path_utils.py | 51 +
dev/breeze/tests/test_selective_checks.py | 675 ++++++++
dev/mypy/.pre-commit-config.yaml | 4 +
docker-tests/.pre-commit-config.yaml | 2 +
go-sdk/.pre-commit-config.yaml | 14 +
go-sdk/README.md | 2 +-
go-sdk/pkg/execution/logger.go | 36 +-
go-sdk/pkg/execution/logger_test.go | 38 +
kubernetes-tests/.pre-commit-config.yaml | 2 +
providers/.pre-commit-config.yaml | 60 +
providers/amazon/.pre-commit-config.yaml | 2 +
providers/common/ai/.pre-commit-config.yaml | 6 +
providers/common/compat/.pre-commit-config.yaml | 2 +
providers/edge3/.pre-commit-config.yaml | 12 +
providers/fab/.pre-commit-config.yaml | 12 +
providers/keycloak/.pre-commit-config.yaml | 4 +
scripts/.pre-commit-config.yaml | 2 +
scripts/ci/analyze_e2e_flaky_tests.py | 19 +-
scripts/ci/kubernetes/kind-cluster-conf.yaml | 5 +-
scripts/ci/make_mnt_writeable.sh | 21 +-
scripts/ci/move_docker_to_mnt.sh | 7 +-
scripts/ci/prek/AGENTS.md | 4 +
scripts/ci/prek/check_ci_workflows_in_sync.py | 168 +-
scripts/ci/prek/check_fork_ci_gate_config.py | 149 ++
scripts/ci/prek/check_prek_hooks_pycache_prefix.py | 76 +
scripts/ci/prek/check_shared_mypy_hooks.py | 2 +
scripts/ci/prek/local_yml_mounts.py | 2 +
scripts/ci/prek/newsfragments.py | 69 +
scripts/ci/spot_interruptions.py | 390 +++++
.../ci/prek/test_check_fork_ci_gate_config.py | 115 ++
.../prek/test_check_prek_hooks_pycache_prefix.py | 40 +-
scripts/tests/ci/prek/test_local_yml_mounts.py | 79 +
scripts/tests/ci/prek/test_newsfragments.py | 128 +-
scripts/tests/ci/test_analyze_e2e_flaky_tests.py | 16 +
scripts/tests/ci/test_spot_interruptions.py | 404 +++++
shared/configuration/.pre-commit-config.yaml | 2 +
shared/dagnode/.pre-commit-config.yaml | 2 +
shared/listeners/.pre-commit-config.yaml | 2 +
shared/logging/.pre-commit-config.yaml | 2 +
shared/module_loading/.pre-commit-config.yaml | 2 +
.../module_loading/file_discovery.py | 11 +-
.../tests/module_loading/test_file_discovery.py | 18 +
shared/observability/.pre-commit-config.yaml | 2 +
shared/plugins_manager/.pre-commit-config.yaml | 2 +
shared/providers_discovery/.pre-commit-config.yaml | 2 +
shared/secrets_backend/.pre-commit-config.yaml | 2 +
shared/secrets_masker/.pre-commit-config.yaml | 2 +
shared/serialization/.pre-commit-config.yaml | 2 +
shared/state/.pre-commit-config.yaml | 2 +
shared/template_rendering/.pre-commit-config.yaml | 2 +
shared/timezones/.pre-commit-config.yaml | 2 +
task-sdk-integration-tests/.pre-commit-config.yaml | 2 +
task-sdk/.pre-commit-config.yaml | 6 +
ts-sdk/.pre-commit-config.yaml | 14 +
ts-sdk/example/package.json | 1 +
ts-sdk/example/src/dynamic.ts | 51 +
ts-sdk/example/src/main.ts | 8 +-
ts-sdk/pnpm-lock.yaml | 3 +
ts-sdk/src/cli/pack.ts | 6 +
ts-sdk/tests/cli/pack.test.ts | 31 +
256 files changed, 14177 insertions(+), 1200 deletions(-)
copy .github/{workflows/scheduled-upgrade-check-v3-4-test.yml =>
actions/runs-on-cost-summary/action.yml} (59%)
create mode 100644 .github/actions/stash-restore/action.yml
create mode 100644 .github/actions/stash-save/action.yml
create mode 100644 .github/fork-ci-gate.toml
delete mode 100644 .github/workflows/check-newsfragment-pr-number.yml
create mode 100644 .github/workflows/fork-ci-monitor.yml
create mode 100644 .github/workflows/spot-interruption-notice.yml
delete mode 100644
airflow-core/src/airflow/ui/src/components/DAGWarningsModal.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/DagDeactivatedChip.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/DagDeactivatedChip.tsx
copy airflow-core/src/airflow/ui/src/components/{DagImportErrorModal.tsx =>
DagImportErrorDetails.tsx} (85%)
create mode 100644
airflow-core/src/airflow/ui/src/components/DagStatusChip.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/components/DagStatusChip.tsx
create mode 100644 airflow-core/src/airflow/ui/src/components/StatusMessage.tsx
create mode 100644
airflow-core/src/airflow/ui/src/hooks/useRequiredActionTabs.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Nav/BrowseButton.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/RecentRuns.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/dagStatus.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/dagStatus.ts
copy
airflow-e2e-tests/tests/airflow_e2e_tests/{java_sdk_tests/test_java_sdk_dynamic_dag.py
=> ts_sdk_tests/test_ts_sdk_dynamic_dag.py} (60%)
create mode 100644
dev/breeze/doc/adr/0020-run-ci-for-external-contributions-in-forks.md
create mode 100644 dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md
create mode 100644 dev/breeze/doc/images/output_ci_audit.svg
create mode 100644 dev/breeze/doc/images/output_ci_audit.txt
create mode 100644 dev/breeze/doc/images/output_ci_fork-ci-reconcile.svg
create mode 100644 dev/breeze/doc/images/output_ci_fork-ci-reconcile.txt
create mode 100644 dev/breeze/src/airflow_breeze/utils/ci_audit.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/fork_ci_gate.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/fork_ci_github.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/fork_ci_messages.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/fork_ci_reconcile.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/fork_compare.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/git_remotes.py
create mode 100644 dev/breeze/tests/test_cdxgen.py
create mode 100644 dev/breeze/tests/test_ci_audit.py
copy providers/slack/tests/unit/slack/transfers/conftest.py =>
dev/breeze/tests/test_ci_group.py (58%)
create mode 100644 dev/breeze/tests/test_fork_ci_gate.py
create mode 100644 dev/breeze/tests/test_fork_ci_github.py
create mode 100644 dev/breeze/tests/test_fork_ci_messages.py
create mode 100644 dev/breeze/tests/test_fork_ci_reconcile.py
create mode 100644 dev/breeze/tests/test_fork_compare.py
create mode 100644 dev/breeze/tests/test_git_remotes.py
create mode 100644 dev/breeze/tests/test_kubernetes_utils.py
create mode 100644 dev/breeze/tests/test_path_utils.py
create mode 100755 scripts/ci/prek/check_fork_ci_gate_config.py
create mode 100755 scripts/ci/prek/check_prek_hooks_pycache_prefix.py
create mode 100755 scripts/ci/spot_interruptions.py
create mode 100644 scripts/tests/ci/prek/test_check_fork_ci_gate_config.py
copy
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2026_10_30_xcom_params.py
=> scripts/tests/ci/prek/test_check_prek_hooks_pycache_prefix.py (51%)
create mode 100644 scripts/tests/ci/prek/test_local_yml_mounts.py
create mode 100644 scripts/tests/ci/test_spot_interruptions.py
create mode 100644 ts-sdk/example/src/dynamic.ts