You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2022/07/02 20:01:38 UTC

[airflow] branch v2-3-stable updated (0bf5f495d4 -> b5202fa4ef)

This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a change to branch v2-3-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git


    from 0bf5f495d4 Update version to 2.3.2 and add release notes
     add 641ce14261 fix 2.3.2 release date. (#24370)
     add 2a7c1f8424 Update flask-appbuilder authlib/oauth dependency (#24516)
     add 50657119da Get rid of TimedJSONWebSignatureSerializer (#24519)
     add df49aa06a6 Update 'rich' to latest version across the board. (#24186)
     add 1641b49614 Refresh list of committers (#24398)
     add 0c8cda1dd4 Switch Markdown engine to markdown-it-py (#19702)
     add 86c4540ded Remove warnings when starting breeze (#24183)
     add d7989b60f6 Fix choosing backend versions in breeze's command line (#24228)
     add 797fce76e3 Add command to regenerate breeze command output images (#24216)
     add b5cbad4d3c Better diagnostics for ARM for MySQL and MSSQL (#24185)
     add 0d0f57f3bd Fix links to sources for examples (#24386)
     add a66af3b17d Add CI-friendly progress output for tests (#24236)
     add 6a05f04300 First attempt to have CI-controlled process of releasing PROD image (#24433)
     add 0c106a47d0 Improve production image release workflow (#24481)
     add 799074d7f9 Restore capability of reproducing CI failures using new Breeze (#24402)
     add e4c41ade22 Move LOAD_DEFAULT_CONNECTIONS env var to database config section in CI (#24536)
     add c7fafc6516 Add verification steps when releasing the images. (#24520)
     add 01eae0e0f0 Added instructions on what to do if your command images are regenerated (#24581)
     add 9c57cf3baf Switch to building images in parallell (#24580)
     add 7e08c3a3df Upgrade FAB to 4.1.1 (#24399)
     add 839d67da27 Fix recording console for new rich-click 1.5 (#24611)
     add 5c7b7993b8 Fix errors revealed on autoupgrade of breeze (#24612)
     add 4e43f976a3 Fix usage of `click.get_terminal_size()` (#24616)
     add d72b745712 Upgrade FAB to 4.1.2 (#24619)
     add 4e29345bf2 We now need at least Flask-WTF 0.15 (#24621)
     add 761b2d0f7f Limit azure-servicebus to not be used on ARM (#24635)
     add de17f27d30 Allows to specify different Python base image when building images (#24634)
     add d52eeaf022 Convert selective checks to Breeze Python (#24610)
     add 4fbea89f0d Switch to new selective-checks in label-when-reviewed workflow (#24651)
     add 44e181796c Cleanup references to selective checks (#24649)
     add fbca47eba4 Remove misleading message from CI (#24650)
     add 1bea5b0d14 Remove selective checks from the "release workflow" (#24655)
     add 0c55c721f2 Use target commit SHA for build image workflow (#24659)
     add 4baf1d569a Handle "workflow_run" event properly in selective-check (#24656)
     add 174ee470d5 Fix behaviour of build/pull after recent Breeze changes (#24657)
     add 0d659c96a9 Remove "Label when approved" workflow (#24704)
     add 8913c99fce Add ARM image building for regular PRs (#24664)
     add 44994a79b7 Fix unnecessary check for ARM images (#24718)
     add 2905ede084 Script to filter candidates for PR of the month based on heuristics (#24654)
     add 8e4bb85098 Merge-friendly output of command hashes for breeze (#24711)
     add 6ceb7e245e Fix selective checks to work for non-main-branch
     add b8b6f31676 Parse error for task added to multiple groups (#23071)
     add 90d338fb18 Check bag DAG schedule_interval match tiemtable (#23113)
     add bab5e1cc6f Fix closing connection dbapi.get_pandas_df (#23452)
     add d7b58db158 Fix permission issue for dag that has dot in name (#23510)
     add 5e174a12b7 Refactor `DagRun.verify_integrity` (#24114)
     add 8892587cce Fix mapped task immutability after clear (#23667)
     add e74803d406 Fix xfail test in test_scheduler.py (#23731)
     add 5b7dbaa805 Add TaskInstance State 'REMOVED' to finished states and success states (#23797)
     add 5a125b6f16 Grid fix details button truncated and small UI tweaks (#23934)
     add aa34428246 Replace `use_task_execution_date` with `use_task_logical_date` (#23983)
     add 412c1524ad Removing magic numbers from exceptions (#23997)
     add 324be5081c Cleanup `BranchDayOfWeekOperator` example dag (#24007)
     add 93d929daad Removing magic status code numbers from api_connecxion (#24050)
     add 8e73a77f39 Rename Permissions to Permission Pairs. (#24065)
     add 0aae6bbb29 Reduce grid view API calls (#24083)
     add 96a2e79a3d Do not fail requeued TIs (#23846)
     add 1c71aa94d4 Fix useTasks crash on error (#24152)
     add 595063cb80 Check that edge nodes actually exist (#24166)
     add 72a36efdc8 Use `get_hostname` instead of `socket.getfqdn` (#24260)
     add 24da78500a Optimize calendar view for cron scheduled DAGs (#24262)
     add 85143b80b6 Mention context variables and logging (#24304)
     add 45e8d916f8 Check for run_id for grid group summaries (#24327)
     add 328b81aae8 Add typescript (#24337)
     add 86f891ab69 Revert "Remove custom signal handling in Triggerer (#23274)" (#24390)
     add fa50004b7d Fix flaky order of returned dag runs (#24405)
     add 717ccb2640 Update errors.rst (#24412)
     add 48a156e260 Improve grid rendering performance with a custom tooltip (#24417)
     add b7026e5527 Upgrade to react 18 and chakra 2 (#24430)
     add baebdcc2f9 Remove framer-motion from custom tooltip (#24449)
     add 45216e51f2 Update description of installing providers separately from core (#24454)
     add 45b308750f Docs: Fix default 2.2.5 log_id_template (#24455)
     add 4ab96bac19 Return empty dict if Pod JSON encoding fails (#24478)
     add 8b39de73f0 Small cleanup of ``get_current_context()`` chapter (#24482)
     add 64baa0d94a Add indexes for CASCADE deletes for task_instance (#24488)
     add c4358cfca9 Remove internet explorer support (#24495)
     add 894f15c26f Fix toast messages (#24505)
     add 540f48cd4a Fix deprecated log_id_template value (#24506)
     add 023270c4ec Seed log_template table (#24511)
     add 63ca887021 Add note about image regeneration in June 2022 (#24524)
     add 2320145803 Add imports to deferring code samples (#24544)
     add bada25d2c3 Clarify that users should not use Maria DB (#24556)
     add 628815e54c Patch sql_alchemy_conn if old Postgres schemes used (#24569)
     add 79fe04558e Fix migration 0080_2_0_2 - Replace null values before setting column not null (#24585)
     add 19a3931035 `TI.log_url` fix for `map_index` (#24335)
     add b1be02473b Don't crash scheduler if exec config has old k8s objects (#24117)
     add bea9e656bb Apply per-run log templates to log handlers (#24153)
     add d54af711c4 Add tests for the grid_data endpoint (#24375)
     add 627488f67f Speed up grid_data endpoint by 10x (#24284)
     add 4e65403776 Maintain grid view selection on filtering upstream (#23779)
     add c5774e65e3 Do not calculate grid root instances (#24528)
     add 0cc91d618e Upgrade to webpack 5 (#24485)
     add ca8c8cb64b Restore tooltip animation (#24503)
     add 05737bccda Migrate jsx files that affect run/task selection to tsx (#24509)
     add 06c4e8426b don't try to render child rows for closed groups (#24637)
     add 1306f9950e Fix Grid vertical scrolling (#24684)
     add b73c38cc35 Debounce status highlighting in Grid view (#24710)
     add 5e4d93df6a Address all yarn test warnings (#24722)
     add b6aa6806e4 Fix grid date ticks (#24738)
     add 4a11f46ca2 Add verification step to image release process (#24177)
     add f5dd1f3f6b Add scripts that provide good links to example dags (#24348)
     add bdb1945c8f Update Dockerfile (#24397)
     add f032ffe89c The timeouts for Helm tests are far too small for "full tests" (#24408)
     add bdddfb2e98 Allow for LOGGING_LEVEL=DEBUG (#23360)
     add dcbc1433cb Alphabetizes two tables (#23923)
     add 96a2bcacd8 Fix inverted section levels in best-practices.rst (#23968)
     add 7b74793272 Update production-deployment.rst (#24121)
     add ba19e032dd Update ui.rst (#24514)
     add c711b76fe9 docs: sqlalchemy link update (#24627)
     add 53dcf8faf4 Fix selective checks to work for non-main-branch (#24769)
     add 50b9d7a3fa Choose the right builder when pushing to ghcr.io registry for cache (#24780)
     add de235fde88 Update version to 2.3.3
     add 6ec47b9ad7 Document built in Timetables (#23099)
     add 3fa6d25362 Update templates doc to mention `extras` and format Airflow Vars / Conns (#24735)
     add 668e0e35c9 docs: sqlalchemy link update (#24756)
     add cecfa51b42 Align Black and blacken-docs configs (#24785)
     add ad78c85af7 Add release note for 2.3.3
     add b5202fa4ef Unified "dash-name" convention for outputs in ci workflows.

No new revisions were added by this update.

Summary of changes:
 .gitattributes                                     |    2 -
 .github/actions/checks-action                      |    1 -
 .github/actions/label-when-approved-action         |    1 -
 .github/workflows/build-images.yml                 |  354 +-
 .github/workflows/ci.yml                           |  882 +--
 .github/workflows/codeql-analysis.yml              |   20 +-
 .../workflows/label_when_reviewed_workflow_run.yml |  177 -
 .github/workflows/release_dockerhub_image.yml      |  153 +
 .gitignore                                         |    4 +
 .gitmodules                                        |    6 -
 .pre-commit-config.yaml                            |   66 +-
 BREEZE.rst                                         |   47 +-
 CI.rst                                             |   15 +-
 CONTRIBUTING.rst                                   |   27 -
 Dockerfile                                         |    4 +-
 Dockerfile.ci                                      |   38 +-
 IMAGES.rst                                         |    5 +-
 NOTICE                                             |    7 +
 PULL_REQUEST_WORKFLOW.rst                          |  158 -
 README.md                                          |   14 +-
 RELEASE_NOTES.rst                                  |  128 +-
 SELECTIVE_CHECKS.md                                |  144 -
 STATIC_CODE_CHECKS.rst                             |    4 +-
 TESTING.rst                                        |   17 +-
 airflow/api/auth/backend/basic_auth.py             |    5 +-
 airflow/api_connexion/endpoints/config_endpoint.py |    4 +-
 .../api_connexion/endpoints/connection_endpoint.py |    3 +-
 airflow/api_connexion/endpoints/dag_endpoint.py    |   12 +-
 .../api_connexion/endpoints/dag_run_endpoint.py    |   23 +-
 .../api_connexion/endpoints/dag_source_endpoint.py |    4 +-
 .../api_connexion/endpoints/extra_link_endpoint.py |    4 +-
 airflow/api_connexion/endpoints/log_endpoint.py    |   11 +-
 airflow/api_connexion/endpoints/pool_endpoint.py   |   18 +-
 .../endpoints/request_dict.py}                     |    8 +
 .../endpoints/role_and_permission_endpoint.py      |   18 +-
 airflow/api_connexion/endpoints/task_endpoint.py   |    7 +-
 .../endpoints/task_instance_endpoint.py            |   17 +-
 airflow/api_connexion/endpoints/user_endpoint.py   |   16 +-
 .../api_connexion/endpoints/variable_endpoint.py   |   10 +-
 airflow/api_connexion/endpoints/xcom_endpoint.py   |    5 +-
 airflow/api_connexion/exceptions.py                |   13 +-
 airflow/api_connexion/schemas/dag_schema.py        |    2 +-
 .../api_connexion/schemas/task_instance_schema.py  |    2 +-
 airflow/api_connexion/security.py                  |    7 +-
 airflow/cli/commands/triggerer_command.py          |   18 +-
 airflow/config_templates/airflow_local_settings.py |    1 -
 airflow/config_templates/config.yml                |    4 +-
 airflow/config_templates/default_airflow.cfg       |    4 +-
 airflow/config_templates/default_test.cfg          |    1 -
 airflow/configuration.py                           |   17 +-
 .../example_branch_datetime_operator.py            |   20 +-
 .../example_branch_day_of_week_operator.py         |    4 +-
 .../example_external_task_marker_dag.py            |   26 +-
 airflow/exceptions.py                              |   32 +-
 airflow/executors/kubernetes_executor.py           |   12 +-
 airflow/hooks/dbapi.py                             |   18 +
 airflow/jobs/scheduler_job.py                      |   16 +-
 airflow/kubernetes/pod_generator.py                |    7 +-
 .../0080_2_0_2_change_default_pool_slots_to_1.py   |    1 +
 .../0111_2_3_3_add_indexes_for_cascade_deletes.py  |   94 +
 airflow/models/abstractoperator.py                 |    1 -
 airflow/models/dag.py                              |   43 +-
 airflow/models/dagbag.py                           |   21 +-
 airflow/models/dagrun.py                           |  217 +-
 airflow/models/taskfail.py                         |    3 +-
 airflow/models/taskinstance.py                     |   24 +-
 airflow/models/taskreschedule.py                   |    1 +
 airflow/models/xcom.py                             |    1 +
 airflow/operators/datetime.py                      |   15 +-
 airflow/operators/trigger_dagrun.py                |    5 +-
 airflow/operators/weekday.py                       |   16 +-
 .../alibaba/cloud/log/oss_task_handler.py          |    2 +-
 .../example_google_api_youtube_to_s3.py            |    3 +-
 .../amazon/aws/example_dags/example_s3.py          |    5 +-
 .../providers/amazon/aws/hooks/batch_waiters.py    |    8 +-
 .../amazon/aws/log/cloudwatch_task_handler.py      |    3 +-
 .../providers/amazon/aws/log/s3_task_handler.py    |    3 +-
 .../arangodb/example_dags/example_arangodb.py      |    4 +-
 .../example_dags/example_elasticsearch_query.py    |   50 -
 .../providers/elasticsearch/log/es_task_handler.py |   33 +-
 airflow/providers/google/CHANGELOG.rst             |    3 +-
 .../cloud/example_dags/example_automl_tables.py    |    4 +-
 .../example_cloud_storage_transfer_service_aws.py  |   10 +-
 .../google/cloud/example_dags/example_pubsub.py    |    8 +-
 .../google/cloud/example_dags/example_vertex_ai.py |    5 +-
 .../providers/google/cloud/log/gcs_task_handler.py |    2 +-
 .../google/common/auth_backend/google_openid.py    |    2 +-
 .../microsoft/azure/log/wasb_task_handler.py       |    3 +-
 airflow/providers/mongo/hooks/mongo.py             |    2 +-
 airflow/providers/oracle/hooks/oracle.py           |    7 +-
 airflow/security/kerberos.py                       |    6 +-
 airflow/security/permissions.py                    |   19 +-
 airflow/sensors/external_task.py                   |    6 +-
 airflow/sensors/weekday.py                         |   22 +-
 .../utils/airflow_flask_app.py                     |   26 +-
 airflow/utils/db.py                                |   18 +-
 airflow/utils/json.py                              |   26 +-
 airflow/utils/jwt_signer.py                        |   80 +
 airflow/utils/log/file_task_handler.py             |   44 +-
 airflow/utils/log/log_reader.py                    |    2 +-
 airflow/utils/serve_logs.py                        |   84 +-
 airflow/utils/state.py                             |    1 +
 airflow/utils/task_group.py                        |   18 +-
 airflow/www/.babelrc                               |    2 +-
 airflow/www/.eslintrc                              |   61 +-
 airflow/www/api/experimental/endpoints.py          |    3 +-
 airflow/www/auth.py                                |    9 +-
 airflow/www/extensions/init_jinja_globals.py       |    4 +-
 airflow/www/extensions/init_wsgi_middlewares.py    |    2 +-
 airflow/www/fab_security/manager.py                |   39 +-
 airflow/www/jest-setup.js                          |   15 +
 airflow/www/jest.config.js                         |    2 +-
 airflow/www/package.json                           |   89 +-
 airflow/www/security.py                            |   29 +-
 airflow/www/static/css/main.css                    |    4 +
 airflow/www/static/js/dag.js                       |    6 +-
 airflow/www/static/js/dag_dependencies.js          |    8 +-
 airflow/www/static/js/dags.js                      |    6 +-
 airflow/www/static/js/grid/AutoRefresh.jsx         |    8 +-
 airflow/www/static/js/grid/{Grid.jsx => Grid.tsx}  |  113 +-
 .../{LegendRow.test.jsx => LegendRow.test.tsx}     |   21 +-
 .../js/grid/{LegendRow.jsx => LegendRow.tsx}       |   29 +-
 airflow/www/static/js/grid/{Main.jsx => Main.tsx}  |   55 +-
 airflow/www/static/js/grid/ResetRoot.jsx           |    2 +-
 airflow/www/static/js/grid/ToggleGroups.jsx        |    8 +-
 .../www/static/js/grid/api/{index.js => index.ts}  |    4 +-
 .../gridData.test.js => api/useGridData.test.js}   |    2 +-
 .../www/static/js/grid/api/useGridData.test.jsx    |   78 -
 .../js/grid/api/{useGridData.js => useGridData.ts} |   67 +-
 .../www/static/js/grid/api/useMappedInstances.js   |    3 +
 airflow/www/static/js/grid/api/useTasks.test.jsx   |   86 +
 .../js/grid/api/{useTasks.js => useTasks.ts}       |   23 +-
 .../www/static/js/grid/components/Clipboard.jsx    |    1 -
 ...ceTooltip.test.jsx => InstanceTooltip.test.tsx} |   24 +-
 .../{InstanceTooltip.jsx => InstanceTooltip.tsx}   |   34 +-
 .../components/{StatusBox.jsx => StatusBox.tsx}    |   49 +-
 airflow/www/static/js/grid/components/Table.jsx    |    1 +
 airflow/www/static/js/grid/components/TaskName.jsx |    2 +-
 .../static/js/grid/components/TaskName.test.jsx    |   12 +-
 .../components/{Time.test.jsx => Time.test.tsx}    |   14 +-
 .../js/grid/components/{Time.jsx => Time.tsx}      |   13 +-
 airflow/www/static/js/grid/components/Tooltip.tsx  |  199 +
 airflow/www/static/js/grid/context/autorefresh.jsx |   77 +-
 .../context/{containerRef.jsx => containerRef.tsx} |   16 +-
 airflow/www/static/js/grid/context/selection.jsx   |   56 -
 airflow/www/static/js/grid/context/timezone.jsx    |   12 +-
 .../static/js/grid/dagRuns/{Bar.jsx => Bar.tsx}    |   36 +-
 airflow/www/static/js/grid/dagRuns/index.test.jsx  |  129 -
 airflow/www/static/js/grid/dagRuns/index.test.tsx  |  142 +
 .../js/grid/dagRuns/{index.jsx => index.tsx}       |   92 +-
 .../useTasks.js => details/BreadcrumbText.tsx}     |   30 +-
 .../js/grid/details/{Header.jsx => Header.tsx}     |   25 +-
 airflow/www/static/js/grid/details/content/Dag.jsx |    9 +-
 .../grid/details/content/taskInstance/Details.jsx  |   14 +-
 .../js/grid/details/content/taskInstance/Nav.jsx   |    4 +-
 .../content/taskInstance/{index.jsx => index.tsx}  |   31 +-
 .../js/grid/details/{index.jsx => index.tsx}       |   14 +-
 airflow/www/static/js/{ie.js => grid/index.d.ts}   |   14 +-
 airflow/www/static/js/grid/index.jsx               |   55 +-
 ...erTaskRows.test.jsx => renderTaskRows.test.tsx} |   21 +-
 .../{renderTaskRows.jsx => renderTaskRows.tsx}     |  111 +-
 .../static/js/grid/{api/useTasks.js => theme.ts}   |   31 +-
 airflow/www/static/js/grid/types/index.ts          |   75 +
 airflow/www/static/js/grid/utils/gridData.js       |   34 -
 .../www/static/js/{ie.js => grid/utils/index.ts}   |   12 +-
 airflow/www/static/js/grid/utils/useErrorToast.js  |    2 +-
 airflow/www/static/js/grid/utils/useFilters.js     |    6 +-
 .../www/static/js/grid/utils/useFilters.test.jsx   |    2 +-
 ...useSelection.test.jsx => useSelection.test.tsx} |   10 +-
 .../utils/{useSelection.js => useSelection.ts}     |    7 +-
 airflow/www/static/js/main.js                      |    8 +-
 airflow/www/static/js/ti_log.js                    |    6 +-
 airflow/www/templates/airflow/grid.html            |    1 -
 airflow/www/templates/airflow/main.html            |    3 -
 airflow/www/{jest.config.js => tsconfig.json}      |   31 +-
 airflow/www/utils.py                               |   50 +-
 airflow/www/views.py                               |  371 +-
 airflow/www/webpack.config.js                      |   41 +-
 airflow/www/yarn.lock                              | 6554 +++++++-------------
 breeze-complete                                    |    3 -
 breeze-legacy                                      |   24 -
 dev/MANUALLY_BUILDING_IMAGES.md                    |   96 +
 dev/README_RELEASE_AIRFLOW.md                      |  118 +-
 dev/REFRESHING_CI_CACHE.md                         |    2 +-
 dev/airflow-github                                 |    2 -
 dev/breeze/README.md                               |    2 +-
 dev/breeze/SELECTIVE_CHECKS.md                     |   98 +
 dev/breeze/setup.cfg                               |    5 +-
 dev/breeze/src/airflow_breeze/branch_defaults.py   |    1 +
 dev/breeze/src/airflow_breeze/breeze.py            |    6 +-
 .../src/airflow_breeze/commands/ci_commands.py     |  250 +
 .../airflow_breeze/commands/ci_image_commands.py   |  169 +-
 .../configuration_and_maintenance_commands.py      |  110 +-
 .../airflow_breeze/commands/developer_commands.py  |   35 +-
 .../src/airflow_breeze/commands/main_command.py    |    2 -
 .../commands/production_image_commands.py          |  134 +-
 .../commands/release_management_commands.py        |   71 +-
 .../airflow_breeze/commands/testing_commands.py    |  191 +-
 .../src/airflow_breeze/configure_rich_click.py     |    5 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |  111 +-
 .../src/airflow_breeze/params/build_ci_params.py   |    1 +
 .../src/airflow_breeze/params/build_prod_params.py |    3 +-
 .../airflow_breeze/params/common_build_params.py   |    8 +-
 .../src/airflow_breeze/params/doc_build_params.py  |    4 +
 .../src/airflow_breeze/params/shell_params.py      |   39 +-
 dev/breeze/src/airflow_breeze/pre_commit_ids.py    |    4 +-
 dev/breeze/src/airflow_breeze/utils/ci_group.py    |    8 +-
 .../src/airflow_breeze/utils/common_options.py     |   64 +-
 dev/breeze/src/airflow_breeze/utils/console.py     |   14 +
 .../airflow_breeze/utils/docker_command_utils.py   |   36 +-
 dev/breeze/src/airflow_breeze/utils/image.py       |    5 +-
 .../src/airflow_breeze/utils/md5_build_check.py    |    2 +-
 dev/breeze/src/airflow_breeze/utils/path_utils.py  |   33 +
 dev/breeze/src/airflow_breeze/utils/recording.py   |    8 +-
 dev/breeze/src/airflow_breeze/utils/run_tests.py   |    4 +-
 dev/breeze/src/airflow_breeze/utils/run_utils.py   |    1 +
 .../src/airflow_breeze/utils/selective_checks.py   |  519 ++
 dev/breeze/tests/test_commands.py                  |   12 +-
 dev/breeze/tests/test_selective_checks.py          |  569 ++
 .../example_dags/README.md                         |    7 +-
 dev/example_dags/update_example_dags_paths.py      |  119 +
 dev/images/release_prod_image.png                  |  Bin 0 -> 76309 bytes
 dev/images/release_prod_image_rc.png               |  Bin 0 -> 65816 bytes
 dev/refresh_images.sh                              |    8 +-
 dev/requirements.txt                               |    2 +
 dev/send_email.py                                  |    4 +-
 dev/stats/get_important_pr_candidates.py           |  180 +
 docker_tests/test_prod_image.py                    |   10 +-
 .../example_dags => docs}/__init__.py              |    0
 docs/apache-airflow-providers-alibaba/index.rst    |    6 +
 .../connections/aws.rst                            |    8 +-
 docs/apache-airflow-providers-amazon/index.rst     |    6 +
 .../apache-airflow-providers-apache-beam/index.rst |   11 +
 .../index.rst                                      |    6 +
 .../index.rst                                      |    6 +
 .../index.rst                                      |   12 +
 .../apache-airflow-providers-apache-hive/index.rst |    6 +
 .../index.rst                                      |    6 +
 .../apache-airflow-providers-apache-livy/index.rst |    6 +
 docs/apache-airflow-providers-apache-pig/index.rst |    6 +
 .../index.rst                                      |    6 +
 .../index.rst                                      |    6 +
 docs/apache-airflow-providers-databricks/index.rst |    6 +
 docs/apache-airflow-providers-dbt-cloud/index.rst  |    6 +
 docs/apache-airflow-providers-dingding/index.rst   |    6 +
 docs/apache-airflow-providers-docker/index.rst     |    6 +
 .../logging/index.rst                              |    2 +-
 docs/apache-airflow-providers-google/index.rst     |    6 +
 .../operators/cloud/bigquery.rst                   |   50 +-
 .../operators/cloud/datastore.rst                  |   26 +-
 .../operators/cloud/kubernetes_engine.rst          |   10 +-
 docs/apache-airflow-providers-http/index.rst       |    6 +
 docs/apache-airflow-providers-jdbc/index.rst       |    6 +
 docs/apache-airflow-providers-jenkins/index.rst    |    6 +
 .../index.rst                                      |    6 +
 .../index.rst                                      |    6 +
 .../index.rst                                      |    6 +
 docs/apache-airflow-providers-mysql/index.rst      |    6 +
 docs/apache-airflow-providers-opsgenie/index.rst   |    6 +
 docs/apache-airflow-providers-papermill/index.rst  |    6 +
 docs/apache-airflow-providers-presto/index.rst     |    6 +
 docs/apache-airflow-providers-qubole/index.rst     |    6 +
 docs/apache-airflow-providers-salesforce/index.rst |    6 +
 .../apache-airflow-providers-singularity/index.rst |    6 +
 docs/apache-airflow-providers-snowflake/index.rst  |    6 +
 docs/apache-airflow-providers-tableau/index.rst    |    6 +
 docs/apache-airflow-providers-telegram/index.rst   |    6 +
 docs/apache-airflow-providers-trino/index.rst      |    6 +
 docs/apache-airflow-providers-yandex/index.rst     |    6 +
 docs/apache-airflow/best-practices.rst             |   20 +-
 docs/apache-airflow/concepts/dags.rst              |    4 +-
 docs/apache-airflow/concepts/deferring.rst         |   12 +
 .../concepts/dynamic-task-mapping.rst              |   12 +-
 docs/apache-airflow/concepts/taskflow.rst          |   17 +
 docs/apache-airflow/concepts/timetable.rst         |   61 +
 docs/apache-airflow/executor/kubernetes.rst        |    8 +-
 docs/apache-airflow/extra-packages-ref.rst         |   12 +-
 docs/apache-airflow/howto/connection.rst           |   16 +-
 docs/apache-airflow/howto/custom-operator.rst      |    4 +-
 docs/apache-airflow/howto/customize-ui.rst         |    4 +-
 docs/apache-airflow/howto/define_extra_link.rst    |   10 +-
 docs/apache-airflow/howto/set-up-database.rst      |   11 +-
 .../installation/installing-from-pypi.rst          |   36 +-
 docs/apache-airflow/installation/prerequisites.rst |   45 +-
 .../installation/supported-versions.rst            |    2 +-
 docs/apache-airflow/lineage.rst                    |    8 +-
 docs/apache-airflow/logging-monitoring/errors.rst  |    4 +-
 docs/apache-airflow/migrations-ref.rst             |    4 +-
 docs/apache-airflow/plugins.rst                    |    4 +-
 docs/apache-airflow/production-deployment.rst      |    2 +-
 docs/apache-airflow/python-api-ref.rst             |    9 +
 docs/apache-airflow/security/webserver.rst         |    8 +-
 docs/apache-airflow/start/docker-compose.yaml      |    2 +-
 docs/apache-airflow/templates-ref.rst              |   18 +-
 docs/apache-airflow/tutorial_taskflow_api.rst      |    6 +-
 docs/apache-airflow/ui.rst                         |    4 +-
 docs/apache-airflow/upgrading-from-1-10/index.rst  |   28 +-
 docs/build_docs.py                                 |   23 +-
 docs/conf.py                                       |   39 +-
 docs/docker-stack/README.md                        |   10 +-
 docs/docker-stack/changelog.rst                    |   35 +-
 .../customizing/pypi-extras-and-deps.sh            |    2 +-
 .../customizing/pypi-selected-version.sh           |    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/custom-providers/Dockerfile          |    2 +-
 .../extending/embedding-dags/Dockerfile            |    2 +-
 .../extending/writable-directory/Dockerfile        |    2 +-
 docs/docker-stack/entrypoint.rst                   |   18 +-
 docs/exts/docs_build/docs_builder.py               |    8 +-
 docs/exts/docs_build/lint_checks.py                |    8 +-
 docs/exts/provider_yaml_utils.py                   |   32 +-
 docs/publish_docs.py                               |    2 +
 docs/spelling_wordlist.txt                         |   12 +
 images/breeze/output-build-docs.svg                |  318 +-
 images/breeze/output-build-image.svg               |  357 +-
 images/breeze/output-build-prod-image.svg          |  442 +-
 images/breeze/output-cleanup.svg                   |  118 +-
 images/breeze/output-command-hash-export.svg       |   86 +-
 images/breeze/output-commands-hash.txt             |   37 +
 images/breeze/output-commands.svg                  |  478 +-
 images/breeze/output-config.svg                    |  148 +-
 images/breeze/output-docker-compose-tests.svg      |  128 +-
 images/breeze/output-exec.svg                      |   91 +-
 images/breeze/output-find-newer-dependencies.svg   |  133 +-
 images/breeze/output-fix-ownership.svg             |   98 +-
 images/breeze/output-free-space.svg                |   98 +-
 images/breeze/output-generate-constraints.svg      |  192 +-
 images/breeze/output-prepare-airflow-package.svg   |  123 +-
 .../output-prepare-provider-documentation.svg      |  173 +-
 images/breeze/output-prepare-provider-packages.svg |  183 +-
 images/breeze/output-pull-image.svg                |  185 +-
 images/breeze/output-pull-prod-image.svg           |  185 +-
 images/breeze/output-regenerate-command-images.svg |   99 +
 images/breeze/output-release-prod-images.svg       |  168 +-
 images/breeze/output-resource-check.svg            |   91 +-
 images/breeze/output-selective-check.svg           |  148 +
 images/breeze/output-self-upgrade.svg              |  101 +-
 images/breeze/output-setup-autocomplete.svg        |  113 +-
 images/breeze/output-shell.svg                     |  280 +-
 images/breeze/output-start-airflow.svg             |  290 +-
 images/breeze/output-static-checks.svg             |  285 +-
 images/breeze/output-stop.svg                      |  106 +-
 images/breeze/output-tests.svg                     |  189 +-
 images/breeze/output-verify-image.svg              |  132 +-
 images/breeze/output-verify-prod-image.svg         |  136 +-
 images/breeze/output-verify-provider-packages.svg  |  182 +-
 images/breeze/output-version.svg                   |   86 +-
 images/pr/pr-full-tests-needed.png                 |  Bin 88512 -> 0 bytes
 images/pr/pr-likely-ok-to-merge.png                |  Bin 98362 -> 0 bytes
 images/pr/pr-no-tests-needed-comment.png           |  Bin 80852 -> 0 bytes
 scripts/ci/docker-compose/_docker.env              |    1 +
 scripts/ci/docker-compose/base.yml                 |    1 +
 scripts/ci/docker-compose/devcontainer.env         |    1 +
 scripts/ci/docker-compose/local.yml                |    7 +-
 .../ci/docker-compose/mypy.yml                     |   21 +-
 .../ci/pre_commit/pre_commit_breeze_cmd_line.py    |   29 +-
 .../pre_commit_check_2_1_compatibility.py          |   44 +-
 .../pre_commit/pre_commit_check_init_in_tests.py   |   50 +
 .../pre_commit_check_setup_extra_packages_ref.py   |    4 +-
 ...re_commit_check_system_tests_hidden_in_index.py |   72 +
 scripts/ci/pre_commit/pre_commit_flake8.py         |    3 +-
 .../pre_commit/pre_commit_migration_reference.py   |    3 +-
 scripts/ci/pre_commit/pre_commit_mypy.py           |    3 +-
 .../ci/pre_commit/pre_commit_supported_versions.py |    2 +-
 scripts/ci/pre_commit/pre_commit_ui_lint.py        |    3 +-
 scripts/ci/pre_commit/pre_commit_www_lint.py       |    3 +-
 scripts/ci/selective_ci_checks.sh                  |  766 ---
 .../ci_run_single_airflow_test_in_docker.sh        |   12 +-
 scripts/docker/entrypoint_ci.sh                    |   38 +-
 scripts/in_container/_in_container_utils.sh        |   29 +-
 scripts/in_container/airflow_ci.cfg                |    4 +-
 scripts/in_container/check_environment.sh          |    2 +-
 scripts/in_container/run_docs_build.sh             |    3 +-
 setup.cfg                                          |   54 +-
 setup.py                                           |   34 +-
 tests/always/test_project_structure.py             |  138 -
 tests/api_connexion/endpoints/test_dag_endpoint.py |   97 +-
 .../endpoints/test_dag_source_endpoint.py          |   27 +-
 tests/api_connexion/endpoints/test_log_endpoint.py |    8 +-
 .../api_connexion/endpoints/test_xcom_endpoint.py  |    6 +-
 tests/api_connexion/schemas/test_dag_schema.py     |  321 +-
 .../config_templates}/__init__.py                  |    0
 tests/conftest.py                                  |   63 +
 {airflow/api_connexion => tests/core}/__init__.py  |    0
 {airflow/api_connexion => tests/dags}/__init__.py  |    0
 .../dags/subdir1}/__init__.py                      |    0
 .../dags/subdir2}/__init__.py                      |    0
 .../dags/subdir2/subdir3}/__init__.py              |    0
 tests/dags_corrupted/README.md                     |    4 +-
 .../dags_corrupted}/__init__.py                    |    0
 .../dags_with_system_exit}/__init__.py             |    0
 .../__init__.py                                    |    0
 tests/executors/test_kubernetes_executor.py        |   39 +
 tests/jobs/test_scheduler_job.py                   |  109 +-
 tests/kubernetes/test_pod_generator.py             |   30 +-
 tests/models/test_dag.py                           |   26 +
 tests/models/test_dagrun.py                        |  184 +-
 tests/models/test_taskinstance.py                  |   39 +-
 tests/operators/test_datetime.py                   |   21 +-
 tests/operators/test_weekday.py                    |   19 +-
 .../alibaba/cloud/log/test_oss_task_handler.py     |    5 +-
 .../amazon/aws/log/test_cloudwatch_task_handler.py |   37 +-
 .../amazon/aws/log/test_s3_task_handler.py         |   43 +-
 .../elasticsearch/log/test_es_task_handler.py      |   68 +-
 .../google/cloud/log/test_gcs_task_handler.py      |    8 +-
 .../google}/test_project_structure.py              |  146 +-
 .../microsoft/azure/log/test_wasb_task_handler.py  |   41 +-
 .../api_connexion => tests/secrets}/__init__.py    |    0
 tests/security/test_kerberos.py                    |    2 +-
 tests/sensors/test_weekday_sensor.py               |   25 +-
 tests/system/README.md                             |    2 +-
 .../system/providers/amazon}/__init__.py           |    0
 .../system/providers/amazon/aws}/__init__.py       |    0
 .../system/providers/apache/kylin}/__init__.py     |    0
 .../system/providers/cncf}/__init__.py             |    0
 .../elasticsearch/example_elasticsearch_query.py   |   66 -
 .../system/providers/github}/__init__.py           |    0
 tests/system/providers/google/README.md            |    2 +-
 .../system/providers/google/cloud}/__init__.py     |    0
 .../providers/google/cloud/azure}/__init__.py      |    0
 .../providers/google/cloud/bigquery}/__init__.py   |    0
 .../bigquery/example_bigquery_dataset.py           |    0
 .../bigquery/example_bigquery_operations.py        |    0
 .../example_bigquery_operations_location.py        |    0
 .../bigquery/example_bigquery_queries.py           |    0
 .../bigquery/example_bigquery_sensors.py           |    0
 .../bigquery/example_bigquery_tables.py            |    0
 .../bigquery/example_bigquery_to_bigquery.py       |    0
 .../bigquery/example_bigquery_to_gcs.py            |    0
 .../google/cloud/bigquery/resources}/__init__.py   |    0
 .../bigquery/resources/example_bigquery_query.sql  |    0
 .../bigquery/resources/update_table_schema.json    |    0
 .../{ => cloud}/bigquery/resources/us-states.csv   |    0
 .../providers/google/cloud/cloud_sql}/__init__.py  |    0
 .../providers/google/cloud/dataproc}/__init__.py   |    0
 .../{ => cloud}/dataproc/example_dataproc_gke.py   |    0
 .../google/cloud/dataproc/resources}/__init__.py   |    0
 .../providers/google/cloud/datastore}/__init__.py  |    0
 .../datastore/example_datastore_commit.py          |    0
 .../datastore/example_datastore_export_import.py   |    0
 .../datastore/example_datastore_query.py           |    0
 .../datastore/example_datastore_rollback.py        |    0
 .../system/providers/google/cloud/gcs}/__init__.py |    0
 .../{ => cloud}/gcs/example_gcs_to_bigquery.py     |    0
 .../google/cloud/gcs/resources}/__init__.py        |    0
 .../google/cloud/kubernetes_engine}/__init__.py    |    0
 .../kubernetes_engine/example_kubernetes_engine.py |    0
 .../providers/google/cloud/spanner}/__init__.py    |    0
 .../google/cloud/speech_to_text}/__init__.py       |    0
 .../google/cloud/stackdriver}/__init__.py          |    0
 .../providers/google/cloud/tasks}/__init__.py      |    0
 .../google/cloud/text_to_speech}/__init__.py       |    0
 .../providers/google/cloud/workflows}/__init__.py  |    0
 .../system/providers/google/workplace}/__init__.py |    0
 .../system/providers/presto}/__init__.py           |    0
 tests/task/task_runner/test_task_runner.py         |    1 +
 .../test_utils/operators}/__init__.py              |    0
 .../test_utils/perf}/__init__.py                   |    0
 .../test_utils/perf/dags}/__init__.py              |    0
 tests/test_utils/perf/perf_kit/__init__.py         |   10 +-
 tests/test_utils/remote_user_api_auth_backend.py   |    6 +-
 .../api_connexion => tests/testconfig}/__init__.py |    0
 .../testconfig/conf}/__init__.py                   |    0
 .../api_connexion => tests/triggers}/__init__.py   |    0
 tests/utils/log/test_log_reader.py                 |   12 +-
 tests/utils/test_json.py                           |    7 +-
 tests/utils/test_log_handlers.py                   |   47 +-
 tests/utils/test_serve_logs.py                     |  152 +-
 tests/utils/test_task_group.py                     |   22 +
 .../www/test_logs}/__init__.py                     |    0
 .../task_for_testing_log_view}/1.log               |    0
 .../attempt=1.log}                                 |    0
 tests/www/test_security.py                         |   66 +-
 tests/www/test_utils.py                            |  112 +-
 .../api_connexion => tests/www/views}/__init__.py  |    0
 tests/www/views/test_views.py                      |   25 +-
 tests/www/views/test_views_acl.py                  |   10 +-
 tests/www/views/test_views_decorators.py           |    6 +-
 tests/www/views/test_views_grid.py                 |  260 +
 tests/www/views/test_views_log.py                  |    5 +-
 tests/www/views/test_views_mount.py                |    4 +-
 tests/www/views/test_views_tasks.py                |   18 +-
 485 files changed, 15746 insertions(+), 10606 deletions(-)
 delete mode 160000 .github/actions/checks-action
 delete mode 160000 .github/actions/label-when-approved-action
 delete mode 100644 .github/workflows/label_when_reviewed_workflow_run.yml
 create mode 100644 .github/workflows/release_dockerhub_image.yml
 delete mode 100644 PULL_REQUEST_WORKFLOW.rst
 delete mode 100644 SELECTIVE_CHECKS.md
 copy airflow/{providers/elasticsearch/example_dags/__init__.py => api_connexion/endpoints/request_dict.py} (81%)
 create mode 100644 airflow/migrations/versions/0111_2_3_3_add_indexes_for_cascade_deletes.py
 delete mode 100644 airflow/providers/elasticsearch/example_dags/example_elasticsearch_query.py
 copy scripts/in_container/run_docs_build.sh => airflow/utils/airflow_flask_app.py (64%)
 mode change 100755 => 100644
 create mode 100644 airflow/utils/jwt_signer.py
 rename airflow/www/static/js/grid/{Grid.jsx => Grid.tsx} (50%)
 rename airflow/www/static/js/grid/{LegendRow.test.jsx => LegendRow.test.tsx} (71%)
 rename airflow/www/static/js/grid/{LegendRow.jsx => LegendRow.tsx} (70%)
 rename airflow/www/static/js/grid/{Main.jsx => Main.tsx} (56%)
 rename airflow/www/static/js/grid/api/{index.js => index.ts} (93%)
 rename airflow/www/static/js/grid/{utils/gridData.test.js => api/useGridData.test.js} (96%)
 delete mode 100644 airflow/www/static/js/grid/api/useGridData.test.jsx
 rename airflow/www/static/js/grid/api/{useGridData.js => useGridData.ts} (63%)
 create mode 100644 airflow/www/static/js/grid/api/useTasks.test.jsx
 copy airflow/www/static/js/grid/api/{useTasks.js => useTasks.ts} (69%)
 rename airflow/www/static/js/grid/components/{InstanceTooltip.test.jsx => InstanceTooltip.test.tsx} (78%)
 rename airflow/www/static/js/grid/components/{InstanceTooltip.jsx => InstanceTooltip.tsx} (77%)
 rename airflow/www/static/js/grid/components/{StatusBox.jsx => StatusBox.tsx} (68%)
 rename airflow/www/static/js/grid/components/{Time.test.jsx => Time.test.tsx} (90%)
 rename airflow/www/static/js/grid/components/{Time.jsx => Time.tsx} (86%)
 create mode 100644 airflow/www/static/js/grid/components/Tooltip.tsx
 rename airflow/www/static/js/grid/context/{containerRef.jsx => containerRef.tsx} (77%)
 delete mode 100644 airflow/www/static/js/grid/context/selection.jsx
 rename airflow/www/static/js/grid/dagRuns/{Bar.jsx => Bar.tsx} (79%)
 delete mode 100644 airflow/www/static/js/grid/dagRuns/index.test.jsx
 create mode 100644 airflow/www/static/js/grid/dagRuns/index.test.tsx
 rename airflow/www/static/js/grid/dagRuns/{index.jsx => index.tsx} (55%)
 copy airflow/www/static/js/grid/{api/useTasks.js => details/BreadcrumbText.tsx} (66%)
 rename airflow/www/static/js/grid/details/{Header.jsx => Header.tsx} (86%)
 rename airflow/www/static/js/grid/details/content/taskInstance/{index.jsx => index.tsx} (84%)
 rename airflow/www/static/js/grid/details/{index.jsx => index.tsx} (82%)
 copy airflow/www/static/js/{ie.js => grid/index.d.ts} (81%)
 rename airflow/www/static/js/grid/{renderTaskRows.test.jsx => renderTaskRows.test.tsx} (87%)
 rename airflow/www/static/js/grid/{renderTaskRows.jsx => renderTaskRows.tsx} (64%)
 rename airflow/www/static/js/grid/{api/useTasks.js => theme.ts} (71%)
 create mode 100644 airflow/www/static/js/grid/types/index.ts
 delete mode 100644 airflow/www/static/js/grid/utils/gridData.js
 rename airflow/www/static/js/{ie.js => grid/utils/index.ts} (84%)
 rename airflow/www/static/js/grid/utils/{useSelection.test.jsx => useSelection.test.tsx} (91%)
 rename airflow/www/static/js/grid/utils/{useSelection.js => useSelection.ts} (91%)
 copy airflow/www/{jest.config.js => tsconfig.json} (63%)
 create mode 100644 dev/MANUALLY_BUILDING_IMAGES.md
 create mode 100644 dev/breeze/SELECTIVE_CHECKS.md
 create mode 100644 dev/breeze/src/airflow_breeze/commands/ci_commands.py
 create mode 100644 dev/breeze/src/airflow_breeze/utils/selective_checks.py
 create mode 100644 dev/breeze/tests/test_selective_checks.py
 copy tests/system/providers/google/bigquery/resources/example_bigquery_query.sql => dev/example_dags/README.md (82%)
 create mode 100755 dev/example_dags/update_example_dags_paths.py
 create mode 100644 dev/images/release_prod_image.png
 create mode 100644 dev/images/release_prod_image_rc.png
 create mode 100755 dev/stats/get_important_pr_candidates.py
 rename {airflow/providers/elasticsearch/example_dags => docs}/__init__.py (100%)
 create mode 100644 images/breeze/output-commands-hash.txt
 create mode 100644 images/breeze/output-regenerate-command-images.svg
 create mode 100644 images/breeze/output-selective-check.svg
 delete mode 100644 images/pr/pr-full-tests-needed.png
 delete mode 100644 images/pr/pr-likely-ok-to-merge.png
 delete mode 100644 images/pr/pr-no-tests-needed-comment.png
 rename .github/workflows/label_when_reviewed.yml => scripts/ci/docker-compose/mypy.yml (73%)
 create mode 100755 scripts/ci/pre_commit/pre_commit_check_init_in_tests.py
 create mode 100755 scripts/ci/pre_commit/pre_commit_check_system_tests_hidden_in_index.py
 delete mode 100755 scripts/ci/selective_ci_checks.sh
 copy {airflow/api_connexion => tests/config_templates}/__init__.py (100%)
 copy {airflow/api_connexion => tests/core}/__init__.py (100%)
 copy {airflow/api_connexion => tests/dags}/__init__.py (100%)
 copy {airflow/api_connexion => tests/dags/subdir1}/__init__.py (100%)
 copy {airflow/api_connexion => tests/dags/subdir2}/__init__.py (100%)
 copy {airflow/api_connexion => tests/dags/subdir2/subdir3}/__init__.py (100%)
 copy {airflow/api_connexion => tests/dags_corrupted}/__init__.py (100%)
 copy {airflow/api_connexion => tests/dags_with_system_exit}/__init__.py (100%)
 copy {airflow/api_connexion => tests/executors/kubernetes_executor_template_files}/__init__.py (100%)
 copy tests/{always => providers/google}/test_project_structure.py (57%)
 copy {airflow/api_connexion => tests/secrets}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/amazon}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/amazon/aws}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/apache/kylin}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/cncf}/__init__.py (100%)
 delete mode 100644 tests/system/providers/elasticsearch/example_elasticsearch_query.py
 copy {airflow/api_connexion => tests/system/providers/github}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/azure}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/bigquery}/__init__.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_dataset.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_operations.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_operations_location.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_queries.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_sensors.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_tables.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_to_bigquery.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/example_bigquery_to_gcs.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/bigquery/resources}/__init__.py (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/resources/example_bigquery_query.sql (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/resources/update_table_schema.json (100%)
 rename tests/system/providers/google/{ => cloud}/bigquery/resources/us-states.csv (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/cloud_sql}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/dataproc}/__init__.py (100%)
 rename tests/system/providers/google/{ => cloud}/dataproc/example_dataproc_gke.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/dataproc/resources}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/datastore}/__init__.py (100%)
 rename tests/system/providers/google/{ => cloud}/datastore/example_datastore_commit.py (100%)
 rename tests/system/providers/google/{ => cloud}/datastore/example_datastore_export_import.py (100%)
 rename tests/system/providers/google/{ => cloud}/datastore/example_datastore_query.py (100%)
 rename tests/system/providers/google/{ => cloud}/datastore/example_datastore_rollback.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/gcs}/__init__.py (100%)
 rename tests/system/providers/google/{ => cloud}/gcs/example_gcs_to_bigquery.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/gcs/resources}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/kubernetes_engine}/__init__.py (100%)
 rename tests/system/providers/google/{ => cloud}/kubernetes_engine/example_kubernetes_engine.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/spanner}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/speech_to_text}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/stackdriver}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/tasks}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/text_to_speech}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/cloud/workflows}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/google/workplace}/__init__.py (100%)
 copy {airflow/api_connexion => tests/system/providers/presto}/__init__.py (100%)
 copy {airflow/api_connexion => tests/test_utils/operators}/__init__.py (100%)
 copy {airflow/api_connexion => tests/test_utils/perf}/__init__.py (100%)
 copy {airflow/api_connexion => tests/test_utils/perf/dags}/__init__.py (100%)
 copy {airflow/api_connexion => tests/testconfig}/__init__.py (100%)
 copy {airflow/api_connexion => tests/testconfig/conf}/__init__.py (100%)
 copy {airflow/api_connexion => tests/triggers}/__init__.py (100%)
 copy {airflow/api_connexion => tests/www/test_logs}/__init__.py (100%)
 copy tests/www/test_logs/dag_for_testing_log_view/{task_for_testing_log_view/2017-09-01T00.00.00+00.00 => scheduled__2017-09-01T00:00:00+00:00/task_for_testing_log_view}/1.log (100%)
 copy tests/www/test_logs/{dag_for_testing_log_view/task_for_testing_log_view/2017-09-01T00.00.00+00.00/1.log => dag_id=dag_for_testing_log_view/run_id=scheduled__2017-09-01T00:00:00+00:00/task_id=task_for_testing_log_view/attempt=1.log} (100%)
 copy {airflow/api_connexion => tests/www/views}/__init__.py (100%)
 create mode 100644 tests/www/views/test_views_grid.py