This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a change to branch v2-7-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git
from c8b25cb3ee Update RELEASE_NOTES.rst
add 11320c4a15 Add __init__ to params subpackage (#34710)
add 5712271ff7 Add missing asterisk for MsSQL on stable Airflow's
footnotes (#34824)
add 0e5511f6d7 Bump azure-mgmt-containerinstance (#34738)
add 5bc33f1edc Airflow 2.7.2 has been released (#34885)
add d620b96154 Limit WTForms to below 3.1.0 (#34943)
add 311f1f7521 Update recording of SVG output to rich-click 1.7.0 (#34941)
add edcde3e137 update moto version (#34938)
add ebdbcec604 Clean local tags in tag_providers for network issues with
Github (#34951)
add d18e34ea1e Add Open Search Provider (#34705)
add 4b7a83556f Fix docs building failing on new but not released yet
provider (#34963)
add 3e69dfdfb8 Fix step overriding github actions (#34888)
add 05ef26b307 Inline restoring target workflow scripts in the
build-images workflow (#34901)
add b8878af4bc Temporarily disable PyPI constrainst generation (#34918)
add 04efa34840 Move constraints generation to separate job in CI workflow
(#34990)
add 9614a3519b Bring back source constraints generation for PROD image
build (#35004)
add bed2b81ed6 Better parallellise Other/Operator tests (#35002)
add a4d24ff5f3 Fix Precommit hook console.print' (#35016)
add 49f17b7a3b Use constraints generated at preview time rather than
regenerate (#35013)
add f3a69cf2d7 Add opensearch to boring-cyborg.yml (#35031)
add f953f7c90c Upgrade `pip` to 23.3 (#35029)
add eeed11173f ADd missing dependency generate-constraints => build prod
image (#35040)
add c31392eb45 Fix update-constraints command example (#35042)
add 7e5c335313 Add comment explaining that commits.rst is generated
(#35065)
add cb36f28bed Use short packages names for non-providers packages (#35067)
add 638c3adc5a Use arguments inestead of --package-filter option for build
docs in CI (#35068)
add 41b63087c0 Handle "all-providers" when building documentation (#35069)
add 4a9641db6c Move installed_providers.txt to airflow/providers. (#35081)
add 67c8fee97c Run constraint branch checkout in non-canary build (#35088)
add 7bd6852de1 Refactor string splitting (#34185)
add c479887588 Fix CI's docs filter generation (#35087)
add e55c835cdd Describe workaround to packaging 23.2 breaking pipx local
detection (#35092)
add d9ff1aaead Use airflow released in PyPI for k8s test environment
(#35099)
add 3421adef5f Fix handling selective docs builds for "special" packages
(#35102)
add 70c481b17b Switch to new labelling scheme allowing for ASF self-hosted
runners (#35109)
add c4a7deb239 Add updating providers metadata during release (#35112)
add a2b6cbb56b Only run generate-constraints step when image is build
(#35116)
add 58901906b5 Add providers metadata for newly released providers (#35111)
add b7ee481fe0 Cleanup dependencies of cache image pushing and ARM image
build (#35117)
add 1ea7b0bac1 Bump min version of presto client to bring better dbapi
compatibility (#35132)
add 5116253e79 Add `--standalone-dag-processor` option to `start-airflow`
command (#35139)
add 875c88eca6 Add `--database-isolation` as option to run breeze with
(#35140)
add d1a994335e Providers requirements for every python version (#35086)
add 0614364838 Allow to install MariaDB client libraries instead of MySQL
on x86_64 (#35070)
add ec4a108e0d Bump docker cli version in Airflow Images (#35153)
add a50685ebd2 Upgrade `pip` to 23.3.1 (#35150)
add 5245a6fadb Improve breeze command image generation and consistency
check (#35169)
add fc337ab549 Limit Airflow and breeze to < 3.12 (#35123)
add 53f765f262 update README_RELEASE_PROVIDER_PACKAGES.md (#35175)
add 53791bb597 Update dev instructions to use breeze command directly with
short package ids to build docs (#35080)
add f91f6317fc Fix local k8s test venv installation to accomodate for
local changes (#35191)
add 2e4f136784 Add missing --no-deps when installing airflow without
providers (#35224)
add 2dc5688a31 Rename the "system" tests where we run Airflow in K8S
(#35238)
add e30fd42e87 Add connexion<3.0 upper bound (#35218)
add 291d4378da Add Duckdb as devel dependency (#35246)
add 6748e17965 Bump azure-mgmt-containerinstance (#34738)
add 65310cba9e Fix bulding and publishing of the documentation (Breeze
merge conflicts)
add a2b0a6aab8 Fix tests to respond to Python 3.12 handling of utcnow in
sentry-sdk (#34946)
add 2a0106e4ed Add read only validation to read only fields (#33413)
add 5847d00812 Use latest LTS clients of Oracle MySQL and MariaDB (#33722)
add 0d1e5dab9b Correct some minor typos in the `breeze.rst` doc
add 8cbe5d9e09 Mark tasks with `all_skipped` trigger rule as `skipped` if
any task is in `upstream_failed` state (#34392)
add 976f467f4a Fix typo re schedule vs schedule_interval (#34743)
add bb8cceff7a Remove warning about max_tis per query > parallelism
(#34742)
add cfb778b81c Fix imports in extra link documentation (#34547)
add 3893b36361 docs: remove extraneous '>' in provider section name
(#34813)
add 8a83d403fc Add missing multiple_outputs=True param in the TaskFlow
example (#34812)
add aff98bf700 Remove unused set from `SchedulerJobRunner` (#34810)
add 9536a303b3 Fix variables substitution in Airflow Documentation (#34462)
add b81f1752cb Fixes python_callable function assignment context kwargs
example in params.rst (#34759)
add a7cf2770b8 Fixing typo in airflow kerberos (#34827)
add 7a06903f5c Fix the broken file link (#34826)
add 371062a4d1 Executors doc update (#34324)
add d9923e1308 Doc: Add info on getting variables and config in custom
secrets backend (#34834)
add 9872d397a1 Add session configuration to deployment manager's
responsibilities. (#34866)
add d449d9ffcd fix(TimeSensorAsync): use DAG timezone (#33406)
add 95c0154f67 REST API: Fix wrong plugin schema (#34858)
add 6eb1048a97 Update dags.rst to put SubDag deprecation note right after
the SubDag section heading (#34925)
add 7559c1cabe Fix triggerer thread crash in daemon mode (#34931)
add 7ebc49456e Return only the TIs of the readable dags when ~ is provided
as a dag_id (#34939)
add 99e6a439ae Fix the dags count filter in webserver home page (#34944)
add 6bfdc7fc60 Fix typo in error message when `render_content` method is
not implemented (#34952)
add 162aba6d6c Enhancement: Added Code from Image as Text (#34868)
add 6a780519dd Update docs errors.rst - Mention sentry "transport"
configuration option (#34912)
add d96436e6b1 Some improvements/fixes for dag_run and task_instance
endpoints (#34942)
add 0b48f3be62 Update documentation to enable test connection (#34905)
add 6739752faf Bump undici from 5.19.1 to 5.26.3 in /airflow/www (#34971)
add 74d9569d4b Bump @babel/traverse from 7.16.0 to 7.23.2 in /airflow/www
(#34988)
add b98f4acee1 Fix `get_plugin_info` for class based listeners. (#35022)
add c4e2f43359 Fix usage of cron-descriptor since BC in v1.3.0 (#34836)
add c000316e36 Remove redundant variables from `example_python_operator`
(#35046)
add 4c499f59a8 doc change (#35075)
add 9dbccb736e Remove `mysql-connector-python` from recommended MySQL
driver (#34287)
add a149692f54 Fix test connection with codemirror and extra (#35122)
add a42206e58f Fix Scheduler crash looping when dagrun creation fails
(#35135)
add 21aeadde4d Update datasets.rst issue with running example code (#35035)
add 7885869ec2 Add TriggerRule missing value in rest API (#35194)
add 719de69d70 Fix test_retry_handling_job (#34326)
add 49ecb5a726 Fix subtle bug in mocking processor_agent in our tests
(#35221)
add c7c0df835e Added example for defaults in conn.extras (#35165)
add e64ffe6a7a Improve importing the module in Airflow utils package
(#33803)
add 334d1234e8 Improve modules import in Airflow core by some of them into
a type-checking block (#33755)
add 550ebe8176 Fix typo s/overriden/overridden/ (#35128)
add d40692eeb9 Update version to 2.7.3
add d092297b65 Fix Literal redefinition in providers_manager.py (#34001)
add b9af4efb69 Limit 1.33.0 broken sentry_sdk released 31st of October
2023 (#35298)
add c933cb8192 Upper bound `pendulum` requirement to <3.0 (#35336)
add 3fbe00ac13 Add pytest db_test markers to our tests (#35264)
add 0abaa441b2 Improve testing harness to separate DB and non-db test
(#35160)
add fb2fcfeda7 Add pip caching for faster build (#35026)
add 836ef42fc9 Use slightly nicer job name for Non-DB tests in CI (#35333)
add e6662d0a59 Fix pre-mature evaluation of tasks in mapped task group
(#34337)
add f124353783 Update RELEASE_NOTES.rst
No new revisions were added by this update.
Summary of changes:
.github/ISSUE_TEMPLATE/airflow_bug_report.yml | 2 +-
.../airflow_providers_bug_report.yml | 1 +
.github/actions/build-ci-images/action.yml | 26 -
.github/actions/build-prod-images/action.yml | 2 +-
.../get-target-branch-build-scripts/action.yml | 43 -
.github/actions/post_tests_success/action.yml | 4 +-
.github/boring-cyborg.yml | 6 +
.github/workflows/build-images.yml | 130 +-
.github/workflows/ci.yml | 393 ++++--
.github/workflows/codeql-analysis.yml | 4 +-
.github/workflows/recheck-old-bug-report.yml | 2 +-
.github/workflows/release_dockerhub_image.yml | 10 +-
.github/workflows/stale.yml | 2 +-
.pre-commit-config.yaml | 4 +-
.rat-excludes | 2 +-
BREEZE.rst | 227 +++-
CI.rst | 56 +-
CI_DIAGRAMS.md | 2 +-
CONTRIBUTING.rst | 8 +-
CONTRIBUTORS_QUICK_START.rst | 17 +-
CONTRIBUTORS_QUICK_START_GITPOD.rst | 15 +
CONTRIBUTORS_QUICK_START_VSCODE.rst | 13 +
Dockerfile | 141 +-
Dockerfile.ci | 404 ++----
IMAGES.rst | 2 +-
INSTALL | 8 +-
README.md | 14 +-
RELEASE_NOTES.rst | 64 +
TESTING.rst | 665 +++++++++-
airflow/__init__.py | 2 +-
airflow/__main__.py | 2 -
.../api_connexion/endpoints/dag_run_endpoint.py | 6 +-
.../endpoints/task_instance_endpoint.py | 6 +-
airflow/api_connexion/openapi/v1.yaml | 31 +-
airflow/api_connexion/schemas/plugin_schema.py | 8 +-
airflow/api_connexion/security.py | 10 +-
airflow/cli/commands/triggerer_command.py | 7 +-
airflow/configuration.py | 43 +-
airflow/example_dags/example_python_operator.py | 3 -
airflow/exceptions.py | 3 +-
airflow/executors/base_executor.py | 8 +-
airflow/executors/local_executor.py | 6 +-
airflow/jobs/scheduler_job_runner.py | 33 +-
.../pre_7_4_0_compatibility/k8s_model.py | 4 +-
.../pre_7_4_0_compatibility/pod_generator.py | 5 +-
airflow/models/dag.py | 2 +-
airflow/plugins_manager.py | 19 +-
airflow/providers/amazon/aws/hooks/s3.py | 8 +-
.../providers}/installed_providers.txt | 0
airflow/providers/microsoft/azure/CHANGELOG.rst | 136 ++
.../microsoft/azure/hooks/container_instance.py | 77 +-
.../azure/operators/container_instances.py | 10 +-
airflow/providers/microsoft/azure/provider.yaml | 8 +-
airflow/providers/opensearch/CHANGELOG.rst | 27 +
.../opensearch}/__init__.py | 0
.../opensearch/hooks}/__init__.py | 0
airflow/providers/opensearch/hooks/opensearch.py | 122 ++
.../opensearch/operators}/__init__.py | 0
.../providers/opensearch/operators/opensearch.py | 194 +++
airflow/providers/opensearch/provider.yaml | 52 +
airflow/providers/presto/provider.yaml | 2 +-
airflow/providers_manager.py | 2 +-
airflow/security/kerberos.py | 4 +-
airflow/sensors/time_sensor.py | 2 +-
airflow/settings.py | 30 +-
airflow/stats.py | 5 +-
airflow/templates.py | 5 +-
airflow/ti_deps/deps/trigger_rule_dep.py | 20 +-
airflow/timetables/_cron.py | 12 +-
airflow/timetables/base.py | 4 +-
airflow/timetables/events.py | 10 +-
airflow/timetables/interval.py | 7 +-
airflow/timetables/simple.py | 3 +-
airflow/timetables/trigger.py | 12 +-
airflow/triggers/external_task.py | 11 +-
airflow/utils/airflow_flask_app.py | 7 +-
airflow/utils/cli.py | 3 +-
airflow/utils/dag_edges.py | 8 +-
airflow/utils/db_cleanup.py | 12 +-
airflow/utils/dot_renderer.py | 12 +-
airflow/utils/helpers.py | 2 +-
airflow/utils/log/colored_log.py | 6 +-
airflow/utils/log/log_reader.py | 10 +-
airflow/utils/log/logging_mixin.py | 7 +-
airflow/utils/log/secrets_masker.py | 3 +-
airflow/utils/log/trigger_handler.py | 4 +-
airflow/utils/mixins.py | 5 +-
airflow/utils/module_loading.py | 6 +-
airflow/utils/session.py | 6 +-
airflow/utils/sqlalchemy.py | 8 +-
airflow/utils/task_group.py | 3 +-
airflow/www/forms.py | 54 +-
airflow/www/static/js/connection_form.js | 20 +-
airflow/www/static/js/types/api-generated.ts | 40 +-
airflow/www/validators.py | 11 +
airflow/www/views.py | 4 +-
airflow/www/yarn.lock | 238 ++--
...UALLY_GENERATING_IMAGE_CACHE_AND_CONSTRAINTS.md | 6 +-
dev/README_RELEASE_AIRFLOW.md | 2 +
dev/README_RELEASE_PROVIDER_PACKAGES.md | 28 +-
dev/breeze/README.md | 16 +-
dev/breeze/SELECTIVE_CHECKS.md | 134 +-
dev/breeze/setup.cfg | 9 +-
.../airflow_breeze/commands/developer_commands.py | 38 +-
.../commands/developer_commands_config.py | 78 +-
.../src/airflow_breeze/commands/main_command.py | 8 +-
.../commands/release_management_commands.py | 236 +++-
.../commands/release_management_commands_config.py | 24 +-
.../src/airflow_breeze/commands/sbom_commands.py | 266 +++-
.../commands/sbom_commands_config.py | 37 +-
.../src/airflow_breeze/commands/setup_commands.py | 75 +-
.../commands/setup_commands_config.py | 1 +
.../airflow_breeze/commands/testing_commands.py | 348 +++--
.../commands/testing_commands_config.py | 149 ++-
dev/breeze/src/airflow_breeze/global_constants.py | 86 +-
.../breeze/src/airflow_breeze/params}/__init__.py | 0
.../src/airflow_breeze/params/doc_build_params.py | 13 +-
.../src/airflow_breeze/params/shell_params.py | 12 +-
.../airflow_breeze/utils/add_back_references.py | 3 +
dev/breeze/src/airflow_breeze/utils/cdxgen.py | 156 ++-
.../src/airflow_breeze/utils/common_options.py | 138 +-
.../airflow_breeze/utils/docker_command_utils.py | 12 +-
.../src/airflow_breeze/utils/general_utils.py | 42 +
.../src/airflow_breeze/utils/kubernetes_utils.py | 47 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 5 +-
.../airflow_breeze/utils/publish_docs_builder.py | 49 +-
.../airflow_breeze/utils/publish_docs_helpers.py | 12 +-
dev/breeze/src/airflow_breeze/utils/recording.py | 36 +-
dev/breeze/src/airflow_breeze/utils/reinstall.py | 3 +
dev/breeze/src/airflow_breeze/utils/run_tests.py | 276 ++++
.../src/airflow_breeze/utils/selective_checks.py | 127 +-
.../airflow_breeze/utils/suspended_providers.py | 6 +-
dev/breeze/tests/conftest.py | 1 -
dev/breeze/tests/test_cache.py | 4 +-
dev/breeze/tests/test_general_utils.py | 46 +
dev/breeze/tests/test_pr_info.py | 16 +-
.../tests/test_pytest_args_for_test_types.py | 315 +++++
dev/breeze/tests/test_selective_checks.py | 525 ++++----
.../PROVIDER_COMMITS_TEMPLATE.rst.jinja2 | 1 +
dev/provider_packages/tag_providers.sh | 14 +-
dev/refresh_images.sh | 2 +-
docker_tests/test_prod_image.py | 2 +-
.../changelog.rst | 19 +
.../commits.rst | 30 +
.../connections/index.rst | 29 +
.../connections/opensearch.rst | 37 +
docs/apache-airflow-providers-opensearch/index.rst | 102 ++
.../installing-providers-from-sources.rst | 0
.../operators/index.rst | 29 +
.../operators/opensearch.rst | 72 +
.../security.rst | 0
.../advanced-logging-configuration.rst | 2 +-
.../logging-monitoring/errors.rst | 9 +-
.../authoring-and-scheduling/datasets.rst | 4 +-
docs/apache-airflow/core-concepts/dags.rst | 11 +-
.../core-concepts/executor/debug.rst | 84 +-
.../core-concepts/executor/index.rst | 140 +-
docs/apache-airflow/core-concepts/params.rst | 3 +-
docs/apache-airflow/core-concepts/taskflow.rst | 2 +-
docs/apache-airflow/extra-packages-ref.rst | 2 +
docs/apache-airflow/howto/connection.rst | 20 +-
docs/apache-airflow/howto/define-extra-link.rst | 9 +-
docs/apache-airflow/howto/set-config.rst | 2 +-
docs/apache-airflow/howto/set-up-database.rst | 15 +-
.../installation/supported-versions.rst | 2 +-
docs/apache-airflow/public-airflow-interface.rst | 6 +-
.../security/secrets/secrets-backend/index.rst | 2 +-
docs/apache-airflow/security/security_model.rst | 1 +
docs/apache-airflow/templates-ref.rst | 1 +
docs/conf.py | 34 +-
docs/docker-stack/README.md | 10 +-
docs/docker-stack/build-arg-ref.rst | 10 +-
docs/docker-stack/build.rst | 14 +-
docs/docker-stack/changelog.rst | 12 +
.../extending/add-airflow-configuration/Dockerfile | 2 +-
.../extending/add-apt-packages/Dockerfile | 2 +-
.../add-build-essential-extend/Dockerfile | 2 +-
.../extending/add-providers/Dockerfile | 2 +-
.../extending/add-pypi-packages/Dockerfile | 2 +-
.../extending/add-requirement-packages/Dockerfile | 2 +-
.../extending/custom-providers/Dockerfile | 2 +-
.../extending/embedding-dags/Dockerfile | 2 +-
.../extending/writable-directory/Dockerfile | 2 +-
docs/docker-stack/entrypoint.rst | 14 +-
docs/exts/extra_files_with_substitutions.py | 21 +-
docs/exts/operators_and_hooks_ref.py | 2 +-
docs/integration-logos/opensearch/opensearch.png | Bin 0 -> 1955 bytes
docs/spelling_wordlist.txt | 2 +
generated/PYPI_README.md | 12 +-
generated/provider_dependencies.json | 17 +-
generated/provider_metadata.json | 1388 +++++++++++++++++---
helm_tests/airflow_aux/test_cleanup_pods.py | 2 +-
helm_tests/airflow_aux/test_create_user_job.py | 2 +-
.../airflow_aux/test_migrate_database_job.py | 2 +-
helm_tests/airflow_core/test_dag_processor.py | 2 +-
helm_tests/airflow_core/test_scheduler.py | 2 +-
helm_tests/airflow_core/test_triggerer.py | 2 +-
helm_tests/airflow_core/test_worker.py | 2 +-
helm_tests/other/test_flower.py | 2 +-
helm_tests/other/test_pgbouncer.py | 2 +-
helm_tests/other/test_redis.py | 2 +-
helm_tests/other/test_statsd.py | 2 +-
helm_tests/webserver/test_webserver.py | 2 +-
images/breeze/output-commands-hash.txt | 83 +-
images/breeze/output-commands.svg | 164 ++-
images/breeze/output_build-docs.svg | 196 +--
images/breeze/output_ci-image.svg | 36 +-
images/breeze/output_ci-image_build.svg | 178 +--
images/breeze/output_ci-image_pull.svg | 74 +-
images/breeze/output_ci-image_verify.svg | 48 +-
images/breeze/output_ci.svg | 44 +-
.../output_ci_find-backtracking-candidates.svg | 22 +-
images/breeze/output_ci_fix-ownership.svg | 32 +-
images/breeze/output_ci_free-space.svg | 28 +-
images/breeze/output_ci_get-workflow-info.svg | 30 +-
images/breeze/output_ci_resource-check.svg | 26 +-
images/breeze/output_ci_selective-check.svg | 58 +-
images/breeze/output_cleanup.svg | 34 +-
images/breeze/output_compile-www-assets.svg | 34 +-
images/breeze/output_down.svg | 34 +-
images/breeze/output_exec.svg | 26 +-
images/breeze/output_k8s.svg | 73 +-
images/breeze/output_k8s_build-k8s-image.svg | 60 +-
images/breeze/output_k8s_configure-cluster.svg | 70 +-
images/breeze/output_k8s_create-cluster.svg | 72 +-
images/breeze/output_k8s_delete-cluster.svg | 42 +-
images/breeze/output_k8s_deploy-airflow.svg | 82 +-
images/breeze/output_k8s_k9s.svg | 40 +-
images/breeze/output_k8s_logs.svg | 49 +-
images/breeze/output_k8s_run-complete-tests.svg | 104 +-
images/breeze/output_k8s_setup-env.svg | 32 +-
images/breeze/output_k8s_shell.svg | 48 +-
images/breeze/output_k8s_status.svg | 44 +-
images/breeze/output_k8s_tests.svg | 76 +-
images/breeze/output_k8s_upload-k8s-image.svg | 66 +-
images/breeze/output_prod-image.svg | 32 +-
images/breeze/output_prod-image_build.svg | 200 +--
images/breeze/output_prod-image_pull.svg | 74 +-
images/breeze/output_prod-image_verify.svg | 50 +-
images/breeze/output_release-management.svg | 68 +-
...tput_release-management_add-back-references.svg | 82 +-
...tput_release-management_create-minor-branch.svg | 30 +-
...put_release-management_generate-constraints.svg | 76 +-
...management_generate-issue-content-providers.svg | 108 +-
...ease-management_generate-providers-metadata.svg | 32 +-
...elease-management_install-provider-packages.svg | 88 +-
..._release-management_prepare-airflow-package.svg | 38 +-
...e-management_prepare-provider-documentation.svg | 112 +-
...elease-management_prepare-provider-packages.svg | 94 +-
.../output_release-management_publish-docs.svg | 167 +--
...tput_release-management_release-prod-images.svg | 56 +-
.../output_release-management_start-rc-process.svg | 34 +-
.../output_release-management_start-release.svg | 32 +-
...utput_release-management_update-constraints.svg | 88 +-
...release-management_verify-provider-packages.svg | 70 +-
images/breeze/output_sbom.svg | 40 +-
.../output_sbom_build-all-airflow-images.svg | 156 +++
.../output_sbom_generate-provider-requirements.svg | 64 +-
...output_sbom_generate-providers-requirements.svg | 220 ++++
.../breeze/output_sbom_update-sbom-information.svg | 68 +-
images/breeze/output_setup.svg | 52 +-
images/breeze/output_setup_autocomplete.svg | 34 +-
.../output_setup_check-all-params-in-groups.svg | 78 +-
images/breeze/output_setup_config.svg | 70 +-
.../output_setup_regenerate-command-images.svg | 76 +-
images/breeze/output_setup_self-upgrade.svg | 28 +-
images/breeze/output_setup_version.svg | 26 +-
images/breeze/output_shell.svg | 204 +--
images/breeze/output_start-airflow.svg | 182 ++-
images/breeze/output_static-checks.svg | 158 +--
images/breeze/output_testing.svg | 76 +-
images/breeze/output_testing_db-tests.svg | 336 +++++
.../breeze/output_testing_docker-compose-tests.svg | 54 +-
images/breeze/output_testing_helm-tests.svg | 88 +-
images/breeze/output_testing_integration-tests.svg | 106 +-
images/breeze/output_testing_non-db-tests.svg | 304 +++++
images/breeze/output_testing_tests.svg | 236 +++-
licenses/LICENSE-pytest-capture-warnings.txt | 22 +
scripts/ci/constraints/ci_commit_constraints.sh | 1 -
.../ci/constraints/ci_diff_constraints.sh | 20 +-
scripts/ci/docker-compose/_docker.env | 10 +-
.../docker-compose/backend-none.yml} | 25 +-
scripts/ci/docker-compose/base.yml | 8 +-
scripts/ci/docker-compose/devcontainer.env | 2 -
scripts/ci/kubernetes/k8s_requirements.txt | 2 +-
.../ci/pre_commit/pre_commit_breeze_cmd_line.py | 41 +-
.../pre_commit_sort_installed_providers.py | 2 +-
.../ci/pre_commit/pre_commit_supported_versions.py | 2 +-
scripts/docker/common.sh | 6 +-
scripts/docker/entrypoint_ci.sh | 276 +---
scripts/docker/entrypoint_prod.sh | 2 +-
scripts/docker/install_mysql.sh | 106 +-
scripts/docker/install_os_dependencies.sh | 2 +-
scripts/in_container/_in_container_utils.sh | 11 +-
scripts/in_container/bin/run_tmux | 11 +-
scripts/in_container/check_environment.sh | 3 +
scripts/in_container/run_ci_tests.sh | 7 +-
scripts/in_container/run_generate_constraints.sh | 1 +
.../in_container/run_provider_yaml_files_check.py | 381 ++++--
scripts/in_container/verify_providers.py | 6 +-
setup.cfg | 21 +-
setup.py | 20 +-
tests/always/test_connection.py | 2 +
tests/always/test_example_dags.py | 2 +
tests/always/test_secrets.py | 3 +
tests/always/test_secrets_backends.py | 2 +
.../endpoints/test_config_endpoint.py | 3 +
.../endpoints/test_connection_endpoint.py | 2 +
tests/api_connexion/endpoints/test_dag_endpoint.py | 2 +
.../endpoints/test_dag_run_endpoint.py | 8 +-
.../endpoints/test_dag_source_endpoint.py | 3 +
.../endpoints/test_dag_warning_endpoint.py | 2 +
.../endpoints/test_dataset_endpoint.py | 2 +
.../endpoints/test_event_log_endpoint.py | 2 +
.../endpoints/test_extra_link_endpoint.py | 2 +
.../endpoints/test_health_endpoint.py | 2 +
.../endpoints/test_import_error_endpoint.py | 2 +
tests/api_connexion/endpoints/test_log_endpoint.py | 2 +
.../test_mapped_task_instance_endpoint.py | 2 +
.../endpoints/test_plugin_endpoint.py | 66 +-
.../api_connexion/endpoints/test_pool_endpoint.py | 2 +
.../endpoints/test_provider_endpoint.py | 2 +
.../endpoints/test_role_and_permission_endpoint.py | 2 +
.../api_connexion/endpoints/test_task_endpoint.py | 2 +
.../endpoints/test_task_instance_endpoint.py | 49 +
.../api_connexion/endpoints/test_user_endpoint.py | 2 +
.../endpoints/test_variable_endpoint.py | 2 +
.../endpoints/test_version_endpoint.py | 2 +
.../api_connexion/endpoints/test_xcom_endpoint.py | 2 +
.../schemas/test_connection_schema.py | 2 +
tests/api_connexion/schemas/test_dag_run_schema.py | 2 +
tests/api_connexion/schemas/test_dag_schema.py | 3 +
tests/api_connexion/schemas/test_dataset_schema.py | 3 +
tests/api_connexion/schemas/test_error_schema.py | 4 +
.../api_connexion/schemas/test_event_log_schema.py | 2 +
tests/api_connexion/schemas/test_plugin_schema.py | 90 +-
tests/api_connexion/schemas/test_pool_schemas.py | 4 +
.../schemas/test_role_and_permission_schema.py | 2 +
.../schemas/test_task_instance_schema.py | 1 +
tests/api_connexion/schemas/test_user_schema.py | 2 +
tests/api_connexion/schemas/test_xcom_schema.py | 2 +
tests/api_connexion/test_auth.py | 2 +
tests/api_connexion/test_cors.py | 2 +
tests/api_connexion/test_error_handling.py | 4 +
tests/api_connexion/test_security.py | 2 +
.../auth/backend/test_basic_auth.py | 2 +
tests/api_experimental/client/test_local_client.py | 2 +
.../common/experimental/test_pool.py | 2 +
tests/api_experimental/common/test_delete_dag.py | 2 +
tests/api_experimental/common/test_mark_tasks.py | 2 +
tests/api_experimental/common/test_trigger_dag.py | 2 +
.../endpoints/test_rpc_api_endpoint.py | 3 +
tests/callbacks/test_callback_requests.py | 28 +-
tests/cli/commands/test_celery_command.py | 49 +-
tests/cli/commands/test_connection_command.py | 2 +
tests/cli/commands/test_dag_command.py | 2 +
tests/cli/commands/test_dag_processor_command.py | 2 +
tests/cli/commands/test_db_command.py | 2 +
tests/cli/commands/test_info_command.py | 2 +
tests/cli/commands/test_internal_api_command.py | 1 +
tests/cli/commands/test_jobs_command.py | 1 +
tests/cli/commands/test_kerberos_command.py | 4 +
tests/cli/commands/test_kubernetes_command.py | 50 +-
tests/cli/commands/test_plugins_command.py | 5 +-
tests/cli/commands/test_pool_command.py | 2 +
tests/cli/commands/test_role_command.py | 3 +
.../cli/commands/test_rotate_fernet_key_command.py | 3 +
tests/cli/commands/test_scheduler_command.py | 2 +
tests/cli/commands/test_sync_perm_command.py | 4 +
tests/cli/commands/test_task_command.py | 3 +
tests/cli/commands/test_triggerer_command.py | 4 +
tests/cli/commands/test_user_command.py | 2 +
tests/cli/commands/test_variable_command.py | 2 +
tests/cli/commands/test_webserver_command.py | 1 +
tests/conftest.py | 393 +++++-
tests/core/test_configuration.py | 17 -
tests/core/test_core.py | 2 +
tests/core/test_impersonation_tests.py | 2 +
tests/core/test_sentry.py | 4 +-
tests/core/test_sqlalchemy_config.py | 2 +
tests/dag_processing/test_job_runner.py | 3 +
tests/dag_processing/test_processor.py | 2 +
tests/dags/test_clear_subdag.py | 4 +-
tests/datasets/test_manager.py | 2 +
tests/decorators/test_branch_python.py | 2 +
tests/decorators/test_external_python.py | 3 +
tests/decorators/test_python.py | 3 +
tests/decorators/test_python_virtualenv.py | 2 +
tests/decorators/test_sensor.py | 2 +
tests/decorators/test_setup_teardown.py | 8 +-
tests/decorators/test_short_circuit.py | 4 +
tests/decorators/test_task_group.py | 4 +-
tests/executors/test_base_executor.py | 7 +-
tests/executors/test_executor_loader.py | 2 +
tests/executors/test_local_executor.py | 4 +
tests/jobs/test_backfill_job.py | 2 +
tests/jobs/test_base_job.py | 2 +
tests/jobs/test_local_task_job.py | 2 +
tests/jobs/test_scheduler_job.py | 36 +-
tests/jobs/test_triggerer_job.py | 5 +
tests/lineage/test_lineage.py | 4 +
tests/listeners/test_listeners.py | 3 +
tests/models/test_base.py | 2 +
tests/models/test_baseoperator.py | 13 +
tests/models/test_cleartasks.py | 2 +
tests/models/test_dag.py | 2 +
tests/models/test_dagbag.py | 2 +
tests/models/test_dagcode.py | 2 +
tests/models/test_dagrun.py | 3 +
tests/models/test_dagwarning.py | 3 +
tests/models/test_mappedoperator.py | 6 +-
tests/models/test_param.py | 4 +
tests/models/test_pool.py | 2 +
tests/models/test_renderedtifields.py | 3 +
tests/models/test_serialized_dag.py | 2 +
tests/models/test_skipmixin.py | 3 +
tests/models/test_taskinstance.py | 2 +
tests/models/test_taskmixin.py | 2 +
tests/models/test_timestamp.py | 2 +
tests/models/test_trigger.py | 2 +
tests/models/test_variable.py | 2 +
tests/models/test_xcom.py | 2 +
tests/models/test_xcom_arg.py | 3 +
tests/models/test_xcom_arg_map.py | 2 +
tests/notifications/test_basenotifier.py | 2 +
tests/operators/test_bash.py | 2 +
tests/operators/test_branch_operator.py | 4 +
tests/operators/test_datetime.py | 2 +
tests/operators/test_email.py | 4 +
tests/operators/test_generic_transfer.py | 2 +
tests/operators/test_latest_only_operator.py | 4 +
tests/operators/test_python.py | 23 +-
tests/operators/test_subdag_operator.py | 2 +
tests/operators/test_trigger_dagrun.py | 2 +
tests/operators/test_weekday.py | 2 +
tests/plugins/test_plugin.py | 3 +-
tests/plugins/test_plugins_manager.py | 14 +-
tests/providers/airbyte/hooks/test_airbyte.py | 2 +
.../alibaba/cloud/log/test_oss_task_handler.py | 2 +
tests/providers/amazon/aws/hooks/test_base_aws.py | 60 +-
.../amazon/aws/hooks/test_batch_waiters.py | 2 +-
tests/providers/amazon/aws/hooks/test_chime.py | 2 +
tests/providers/amazon/aws/hooks/test_s3.py | 39 +-
tests/providers/amazon/aws/links/test_links.py | 1 +
.../amazon/aws/log/test_cloudwatch_task_handler.py | 1 +
.../amazon/aws/log/test_s3_task_handler.py | 1 +
.../amazon/aws/notifications/test_chime.py | 4 +
.../providers/amazon/aws/operators/test_appflow.py | 7 +
.../providers/amazon/aws/operators/test_athena.py | 1 +
.../amazon/aws/operators/test_datasync.py | 5 +
.../aws/operators/test_dms_describe_tasks.py | 3 +
.../amazon/aws/operators/test_emr_add_steps.py | 4 +-
.../amazon/aws/operators/test_emr_containers.py | 5 -
.../aws/operators/test_emr_create_job_flow.py | 4 +-
tests/providers/amazon/aws/operators/test_glue.py | 6 +-
.../amazon/aws/operators/test_sagemaker_base.py | 1 +
tests/providers/amazon/aws/sensors/test_ecs.py | 3 +
tests/providers/amazon/aws/sensors/test_eks.py | 37 +-
tests/providers/amazon/aws/sensors/test_glue.py | 4 -
tests/providers/amazon/aws/sensors/test_s3_key.py | 2 +
.../amazon/aws/sensors/test_s3_keys_unchanged.py | 1 +
tests/providers/amazon/aws/transfers/test_base.py | 1 +
.../amazon/aws/transfers/test_dynamodb_to_s3.py | 1 +
.../amazon/aws/transfers/test_google_api_to_s3.py | 5 +-
.../amazon/aws/transfers/test_mongo_to_s3.py | 3 +
.../amazon/aws/transfers/test_s3_to_sftp.py | 4 +
.../amazon/aws/transfers/test_s3_to_sql.py | 6 +-
.../amazon/aws/transfers/test_salesforce_to_s3.py | 5 +
.../amazon/aws/transfers/test_sftp_to_s3.py | 2 +
tests/providers/amazon/aws/triggers/test_athena.py | 35 -
.../amazon/aws/utils/test_connection_wrapper.py | 8 +-
tests/providers/apache/druid/hooks/test_druid.py | 12 +-
.../providers/apache/druid/operators/test_druid.py | 4 +
.../flink/operators/test_flink_kubernetes.py | 5 +
.../apache/flink/sensors/test_flink_kubernetes.py | 3 +
tests/providers/apache/hdfs/hooks/test_webhdfs.py | 249 ++--
tests/providers/apache/hive/hooks/test_hive.py | 21 +-
.../hive/sensors/test_named_hive_partition.py | 2 +
.../apache/hive/transfers/test_vertica_to_hive.py | 4 +
.../apache/kafka/hooks/test_admin_client.py | 2 +
.../providers/apache/kafka/hooks/test_consumer.py | 2 +
.../providers/apache/kafka/hooks/test_producer.py | 3 +
.../apache/kafka/operators/test_consume.py | 5 +
.../apache/kafka/operators/test_produce.py | 5 +
tests/providers/apache/kafka/sensors/test_kafka.py | 3 +
.../apache/kafka/triggers/test_await_message.py | 2 +
tests/providers/apache/kylin/hooks/test_kylin.py | 2 +
.../apache/kylin/operators/test_kylin_cube.py | 1 +
tests/providers/apache/livy/hooks/test_livy.py | 5 +-
tests/providers/apache/livy/operators/test_livy.py | 3 +
tests/providers/apache/livy/sensors/test_livy.py | 3 +
tests/providers/apache/livy/triggers/test_livy.py | 2 +
tests/providers/apache/pig/hooks/test_pig.py | 1 +
tests/providers/apache/pig/operators/test_pig.py | 5 +
tests/providers/apache/pinot/hooks/test_pinot.py | 1 +
.../apache/spark/hooks/test_spark_jdbc.py | 2 +
.../providers/apache/spark/hooks/test_spark_sql.py | 2 +
.../apache/spark/hooks/test_spark_submit.py | 2 +
.../apache/spark/operators/test_spark_submit.py | 3 +
tests/providers/apache/sqoop/hooks/test_sqoop.py | 2 +
.../apprise/notifications/test_apprise.py | 3 +
tests/providers/arangodb/hooks/test_arangodb.py | 5 +
tests/providers/arangodb/sensors/test_arangodb.py | 5 +
.../providers/asana/operators/test_asana_tasks.py | 5 +
tests/providers/atlassian/jira/hooks/test_jira.py | 5 +
.../atlassian/jira/operators/test_jira.py | 5 +
.../providers/atlassian/jira/sensors/test_jira.py | 4 +
.../celery/executors/test_celery_executor.py | 3 +
tests/providers/cloudant/hooks/test_cloudant.py | 2 +
.../cncf/kubernetes/decorators/test_kubernetes.py | 3 +
.../executors/test_kubernetes_executor.py | 22 +
.../cncf/kubernetes/hooks/test_kubernetes.py | 3 +
.../cncf/kubernetes/operators/test_pod.py | 3 +
.../kubernetes/sensors/test_spark_kubernetes.py | 3 +
.../cncf/kubernetes/test_template_rendering.py | 3 +
tests/providers/common/sql/hooks/test_sql.py | 2 +
tests/providers/common/sql/operators/test_sql.py | 101 +-
tests/providers/common/sql/sensors/test_sql.py | 2 +
tests/providers/daskexecutor/test_dask_executor.py | 2 +
.../providers/databricks/hooks/test_databricks.py | 13 +
.../databricks/hooks/test_databricks_sql.py | 2 +
.../databricks/operators/test_databricks.py | 4 +
.../sensors/test_databricks_partition.py | 1 +
.../databricks/sensors/test_databricks_sql.py | 1 +
.../databricks/triggers/test_databricks.py | 3 +
tests/providers/datadog/sensors/test_datadog.py | 4 +
tests/providers/dbt/cloud/hooks/test_dbt_cloud.py | 2 +
.../dbt/cloud/operators/test_dbt_cloud.py | 2 +
.../providers/dbt/cloud/sensors/test_dbt_cloud.py | 3 +
tests/providers/dingding/hooks/test_dingding.py | 2 +
.../discord/hooks/test_discord_webhook.py | 2 +
.../discord/notifications/test_discord.py | 2 +
tests/providers/docker/decorators/test_docker.py | 3 +
.../elasticsearch/log/test_es_task_handler.py | 2 +
tests/providers/exasol/hooks/test_sql.py | 3 +
tests/providers/ftp/hooks/test_ftp.py | 3 +
tests/providers/github/hooks/test_github.py | 4 +
tests/providers/github/operators/test_github.py | 5 +
tests/providers/github/sensors/test_github.py | 5 +
.../providers/google/cloud/hooks/test_bigquery.py | 12 +
.../google/cloud/hooks/test_bigquery_dts.py | 1 +
.../google/cloud/hooks/test_cloud_build.py | 1 +
.../google/cloud/hooks/test_compute_ssh.py | 3 +
.../providers/google/cloud/hooks/test_dataflow.py | 2 +
.../providers/google/cloud/hooks/test_dataform.py | 5 +-
.../providers/google/cloud/hooks/test_dataproc.py | 1 +
tests/providers/google/cloud/hooks/test_gcs.py | 1 +
.../google/cloud/hooks/test_kubernetes_engine.py | 1 +
.../providers/google/cloud/hooks/test_mlengine.py | 1 +
.../google/cloud/hooks/test_stackdriver.py | 1 +
.../google/cloud/log/test_gcs_task_handler.py | 1 +
.../cloud/log/test_stackdriver_task_handler.py | 1 +
.../google/cloud/operators/test_bigquery.py | 16 +
.../test_cloud_storage_transfer_service.py | 10 +
.../google/cloud/operators/test_compute.py | 4 +
.../google/cloud/operators/test_dataflow.py | 2 +
.../google/cloud/operators/test_dataprep.py | 3 +
.../google/cloud/operators/test_dataproc.py | 7 +
.../google/cloud/operators/test_functions.py | 1 +
.../cloud/operators/test_kubernetes_engine.py | 1 +
.../google/cloud/secrets/test_secret_manager.py | 2 +
.../google/cloud/sensors/test_cloud_composer.py | 1 +
.../cloud/transfers/test_cassandra_to_gcs.py | 3 +
.../google/cloud/transfers/test_gcs_to_bigquery.py | 1 +
.../google/cloud/transfers/test_local_to_gcs.py | 3 +
.../google/cloud/transfers/test_s3_to_gcs.py | 1 +
.../cloud/transfers/test_salesforce_to_gcs.py | 3 +
.../google/cloud/transfers/test_sql_to_gcs.py | 1 +
.../google/cloud/triggers/test_bigquery.py | 3 +
.../google/cloud/triggers/test_dataproc.py | 2 +
.../cloud/triggers/test_kubernetes_engine.py | 1 +
.../providers/google/cloud/utils/base_gcp_mock.py | 9 +-
.../cloud/utils/test_credentials_provider.py | 1 +
.../cloud/utils/test_mlengine_operator_utils.py | 1 +
.../common/auth_backend/test_google_openid.py | 1 +
.../google/common/hooks/test_base_google.py | 2 +
.../google/common/hooks/test_discovery_api.py | 7 +-
.../operators/test_campaign_manager.py | 1 +
.../operators/test_display_video.py | 1 +
.../operators/test_search_ads.py | 1 +
.../marketing_platform/sensors/test_search_ads.py | 4 +
tests/providers/google/suite/hooks/test_drive.py | 3 +
tests/providers/http/hooks/test_http.py | 4 +
tests/providers/http/sensors/test_http.py | 3 +
tests/providers/imap/hooks/test_imap.py | 3 +
tests/providers/jdbc/hooks/test_jdbc.py | 5 +
tests/providers/microsoft/azure/hooks/test_adx.py | 2 +
.../azure/hooks/test_azure_container_instance.py | 74 +-
.../microsoft/azure/hooks/test_base_azure.py | 4 +
tests/providers/microsoft/azure/hooks/test_wasb.py | 3 +
.../microsoft/azure/log/test_wasb_task_handler.py | 3 +
.../microsoft/azure/operators/test_adx.py | 2 +
.../azure/operators/test_azure_data_factory.py | 5 +-
.../providers/microsoft/mssql/hooks/test_mssql.py | 1 +
.../providers/microsoft/winrm/hooks/test_winrm.py | 2 +
tests/providers/mongo/hooks/test_mongo.py | 3 +
.../providers/mysql/transfers/test_s3_to_mysql.py | 6 +-
.../openlineage/extractors/test_bash_extractor.py | 2 +
.../extractors/test_default_extractor.py | 4 +
.../extractors/test_python_extractor.py | 2 +
.../providers/openlineage/plugins/test_listener.py | 3 +
.../plugins/test_openlineage_adapter.py | 2 +
tests/providers/openlineage/plugins/test_utils.py | 2 +
.../providers/opensearch}/__init__.py | 0
tests/providers/opensearch/conftest.py | 60 +
.../providers/opensearch/hooks}/__init__.py | 0
.../opensearch/hooks/test_opensearch.py} | 36 +-
.../providers/opensearch/operators}/__init__.py | 0
.../opensearch/operators/test_opensearch.py | 128 ++
tests/providers/opsgenie/hooks/test_opsgenie.py | 2 +
tests/providers/oracle/operators/test_oracle.py | 1 +
tests/providers/pagerduty/hooks/test_pagerduty.py | 3 +
.../pagerduty/hooks/test_pagerduty_events.py | 2 +
.../pagerduty/notifications/test_pagerduty.py | 5 +
.../papermill/operators/test_papermill.py | 1 +
tests/providers/redis/hooks/test_redis.py | 4 +
.../providers/redis/log/test_redis_task_handler.py | 2 +
.../providers/salesforce/hooks/test_salesforce.py | 5 +
.../providers/sftp/decorators/sensors/test_sftp.py | 3 +
tests/providers/sftp/hooks/test_sftp.py | 2 +
tests/providers/sftp/operators/test_sftp.py | 3 +
tests/providers/slack/notifications/test_slack.py | 4 +
.../providers/slack/transfers/test_sql_to_slack.py | 1 +
tests/providers/smtp/hooks/test_smtp.py | 3 +
tests/providers/smtp/notifications/test_smtp.py | 4 +
.../snowflake/operators/test_snowflake.py | 1 +
tests/providers/sqlite/hooks/test_sqlite.py | 3 +
tests/providers/ssh/hooks/test_ssh.py | 3 +
tests/providers/ssh/operators/test_ssh.py | 3 +
tests/providers/tableau/hooks/test_tableau.py | 2 +
tests/providers/tabular/hooks/test_tabular.py | 3 +
tests/providers/telegram/hooks/test_telegram.py | 3 +
.../providers/telegram/operators/test_telegram.py | 2 +
tests/providers/zendesk/hooks/test_zendesk.py | 2 +
tests/security/test_kerberos.py | 4 +-
tests/sensors/test_base.py | 2 +
tests/sensors/test_external_task_sensor.py | 3 +
tests/sensors/test_filesystem.py | 3 +
tests/sensors/test_python.py | 2 +
tests/sensors/test_time_delta.py | 5 +
tests/sensors/test_time_sensor.py | 13 +
tests/sensors/test_timeout_sensor.py | 3 +
tests/sensors/test_weekday_sensor.py | 3 +
tests/serialization/test_dag_serialization.py | 13 +
tests/serialization/test_pydantic_models.py | 4 +
tests/serialization/test_serialized_objects.py | 1 +
.../system/providers/amazon/aws/utils/__init__.py | 2 +
.../system/providers/opensearch}/__init__.py | 0
.../providers/opensearch/example_opensearch.py | 129 ++
tests/task/task_runner/test_base_task_runner.py | 2 +
.../task/task_runner/test_standard_task_runner.py | 4 +
tests/task/task_runner/test_task_runner.py | 3 +
tests/test_utils/get_all_tests.py | 2 +-
.../deps/test_dag_ti_slots_available_dep.py | 4 +
tests/ti_deps/deps/test_dag_unpaused_dep.py | 4 +
tests/ti_deps/deps/test_dagrun_exists_dep.py | 4 +
tests/ti_deps/deps/test_dagrun_id_dep.py | 4 +
tests/ti_deps/deps/test_not_in_retry_period_dep.py | 3 +
.../deps/test_not_previously_skipped_dep.py | 2 +
.../ti_deps/deps/test_pool_slots_available_dep.py | 4 +
tests/ti_deps/deps/test_prev_dagrun_dep.py | 2 +
tests/ti_deps/deps/test_ready_to_reschedule_dep.py | 4 +
tests/ti_deps/deps/test_runnable_exec_date_dep.py | 2 +
tests/ti_deps/deps/test_task_concurrency.py | 2 +
tests/ti_deps/deps/test_task_not_running_dep.py | 4 +
tests/ti_deps/deps/test_trigger_rule_dep.py | 74 +-
tests/ti_deps/deps/test_valid_state_dep.py | 2 +
tests/triggers/test_external_task.py | 2 +
tests/utils/log/test_colored_log.py | 4 +
tests/utils/log/test_log_reader.py | 2 +
tests/utils/test_cli_util.py | 2 +
tests/utils/test_db.py | 2 +
tests/utils/test_db_cleanup.py | 2 +
tests/utils/test_dot_renderer.py | 4 +
tests/utils/test_helpers.py | 2 +
tests/utils/test_log_handlers.py | 2 +
tests/utils/test_process_utils.py | 2 +
tests/utils/test_retries.py | 1 +
tests/utils/test_session.py | 2 +
tests/utils/test_sqlalchemy.py | 3 +
tests/utils/test_state.py | 4 +
.../test_task_handler_with_custom_formatter.py | 3 +
tests/utils/test_types.py | 4 +
.../www/api/experimental/test_dag_runs_endpoint.py | 2 +
tests/www/api/experimental/test_endpoints.py | 2 +
tests/www/test_app.py | 2 +
tests/www/test_init_views.py | 2 +
tests/www/test_security.py | 2 +
tests/www/test_utils.py | 6 +
tests/www/test_validators.py | 11 +
tests/www/views/test_session.py | 2 +
tests/www/views/test_views.py | 2 +
tests/www/views/test_views_acl.py | 2 +
tests/www/views/test_views_base.py | 2 +
tests/www/views/test_views_blocked.py | 2 +
tests/www/views/test_views_cluster_activity.py | 2 +
tests/www/views/test_views_configuration.py | 4 +
tests/www/views/test_views_connection.py | 2 +
tests/www/views/test_views_custom_user_views.py | 2 +
tests/www/views/test_views_dagrun.py | 2 +
tests/www/views/test_views_dataset.py | 2 +
tests/www/views/test_views_decorators.py | 2 +
tests/www/views/test_views_extra_links.py | 2 +
tests/www/views/test_views_grid.py | 3 +
tests/www/views/test_views_home.py | 21 +
tests/www/views/test_views_log.py | 2 +
tests/www/views/test_views_mount.py | 2 +
tests/www/views/test_views_pool.py | 2 +
tests/www/views/test_views_rate_limit.py | 2 +
tests/www/views/test_views_rendered.py | 11 +
tests/www/views/test_views_robots.py | 4 +
tests/www/views/test_views_task_norun.py | 2 +
tests/www/views/test_views_tasks.py | 2 +
tests/www/views/test_views_trigger_dag.py | 2 +
tests/www/views/test_views_variable.py | 1 +
715 files changed, 13973 insertions(+), 5553 deletions(-)
delete mode 100644 .github/actions/get-target-branch-build-scripts/action.yml
rename {scripts/ci => airflow/providers}/installed_providers.txt (100%)
create mode 100644 airflow/providers/opensearch/CHANGELOG.rst
copy airflow/{api_connexion => providers/opensearch}/__init__.py (100%)
copy airflow/{api_connexion => providers/opensearch/hooks}/__init__.py (100%)
create mode 100644 airflow/providers/opensearch/hooks/opensearch.py
copy airflow/{api_connexion => providers/opensearch/operators}/__init__.py
(100%)
create mode 100644 airflow/providers/opensearch/operators/opensearch.py
create mode 100644 airflow/providers/opensearch/provider.yaml
copy {airflow/api_connexion =>
dev/breeze/src/airflow_breeze/params}/__init__.py (100%)
create mode 100644 dev/breeze/src/airflow_breeze/utils/general_utils.py
create mode 100644 dev/breeze/tests/test_general_utils.py
create mode 100644 dev/breeze/tests/test_pytest_args_for_test_types.py
create mode 100644 docs/apache-airflow-providers-opensearch/changelog.rst
create mode 100644 docs/apache-airflow-providers-opensearch/commits.rst
create mode 100644
docs/apache-airflow-providers-opensearch/connections/index.rst
create mode 100644
docs/apache-airflow-providers-opensearch/connections/opensearch.rst
create mode 100644 docs/apache-airflow-providers-opensearch/index.rst
copy docs/{apache-airflow-providers-airbyte =>
apache-airflow-providers-opensearch}/installing-providers-from-sources.rst
(100%)
create mode 100644 docs/apache-airflow-providers-opensearch/operators/index.rst
create mode 100644
docs/apache-airflow-providers-opensearch/operators/opensearch.rst
copy docs/{apache-airflow-providers-airbyte =>
apache-airflow-providers-opensearch}/security.rst (100%)
create mode 100644 docs/integration-logos/opensearch/opensearch.png
create mode 100644 images/breeze/output_sbom_build-all-airflow-images.svg
create mode 100644
images/breeze/output_sbom_generate-providers-requirements.svg
create mode 100644 images/breeze/output_testing_db-tests.svg
create mode 100644 images/breeze/output_testing_non-db-tests.svg
create mode 100644 licenses/LICENSE-pytest-capture-warnings.txt
rename dev/provider_packages/build_provider_documentation.sh =>
scripts/ci/constraints/ci_diff_constraints.sh (70%)
rename scripts/{in_container/filter_out_warnings.py =>
ci/docker-compose/backend-none.yml} (68%)
delete mode 100644 tests/providers/amazon/aws/triggers/test_athena.py
copy {airflow/api_connexion => tests/providers/opensearch}/__init__.py (100%)
create mode 100644 tests/providers/opensearch/conftest.py
copy {airflow/api_connexion => tests/providers/opensearch/hooks}/__init__.py
(100%)
copy tests/{www/test_init_views.py =>
providers/opensearch/hooks/test_opensearch.py} (51%)
copy {airflow/api_connexion =>
tests/providers/opensearch/operators}/__init__.py (100%)
create mode 100644 tests/providers/opensearch/operators/test_opensearch.py
copy {airflow/api_connexion => tests/system/providers/opensearch}/__init__.py
(100%)
create mode 100644 tests/system/providers/opensearch/example_opensearch.py