This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to tag nightly-master in repository https://gitbox.apache.org/repos/asf/airflow.git.
*** WARNING: tag nightly-master was modified! *** from 6d30464 (commit) to ec962b0 (commit) from 6d30464 Compare string values, not if strings are the same object (#14942) add 26d96af Fixes default group of Airflow user. (#14944) add 3eb67af Much easier to use and better documented Docker image (#14911) add 428ce03 Update python openapi gen script to generate code in a submodule (#14932) add b780c2b chore: Refactor code quality issues (#14920) add 7c2ed53 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958) add a7e144b Google Dataflow Hook to handle no Job Type (#14914) add 47bd977 hostAliases support for workers in helm chart (#14681) add 0f32778 doc: Fix typo in `secrets_manager.py` docstring (#14943) add d546556 Change 1.10.14 to 1.10.15 in README.md (#14971) add 85760cf Increase default `worker_refresh_interval` to `6000` seconds (#14970) add c133fb4 Revert "Pre commit new UI (#14836)" (#14984) add a2b2858 Adds initial router, routes, and placeholder views (#14927) add f6a1774 Fix failing doc build (#14986) add eb91bdc Fix import cycle in cluster policy examples (#14973) add 50928d4 Fix typo in Helm chart tests (#14979) add d35bcae Add basic authentication to new UI (#14988) add 775ee51 Fixes problem with two different files mdsumed with the same name (#14998) add 5dc634b Fixes broken asset compilation in Docker images (#14995) add ce37b01 Update grammar & typos in dag-serialization.rst (#14992) add 35fbb72 Speed up webserver start when there are many DAGs (#14993) add f94cf99 Remove GH Action sections that are always empty (#15006) add 645e772 UI layout containers + navigation (#15007) add db9febd Skips provider package builds and provider tests for non-master (#14996) add b1ce429 UI basic api (#15015) add b5e7ada Fix support for long dag_id and task_id in KubernetesExecutor (#14703) add 7320037 Merge contextlib.suppress() calls (#15029) add c5cc018 Check if we need to upgrade deps before rebuilding everything (#15033) add fe2a70c Bump mysqlclient to support the 1.4.x and 2.x series (#14978) add 0e43b60 Add missing comma in docs for KubernetesExecutor (#15035) add a7ca1b3 Fix Sphinx Issues with Docstrings (#14968) add a162f2b Don't import mysql exceptions from "private" module (#15039) add a7f2cc2 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041) add 614be87 Added retry to ECS Operator (#14263) add 28859ca Add more strict Helm Chart schema checks for image pullPolicy & dags accessMode (#15040) add 5379698 Improve docstrings for various modules (#15047) add e8aa3de Upgrades moto to newer version (~=2.0) (#15051) add eb64155 improve react-query testing (#15043) add ec962b0 Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048) No new revisions were added by this update. Summary of changes: .github/workflows/ci.yml | 32 +- .pre-commit-config.yaml | 12 - BREEZE.rst | 4 +- Dockerfile | 64 +- Dockerfile.ci | 18 +- IMAGES.rst | 5 +- PULL_REQUEST_WORKFLOW.rst | 9 +- README.md | 2 +- STATIC_CODE_CHECKS.rst | 4 - UPDATING.md | 10 + airflow/cli/simple_table.py | 2 +- airflow/config_templates/config.yml | 4 +- airflow/config_templates/default_airflow.cfg | 4 +- airflow/executors/executor_loader.py | 2 +- airflow/kubernetes/pod_generator.py | 10 +- airflow/models/dag.py | 3 - airflow/models/taskinstance.py | 2 - airflow/operators/sql.py | 12 +- .../providers/amazon/aws/exceptions.py | 30 +- airflow/providers/amazon/aws/hooks/base_aws.py | 35 +- airflow/providers/amazon/aws/hooks/datasync.py | 5 +- airflow/providers/amazon/aws/operators/datasync.py | 39 +- airflow/providers/amazon/aws/operators/ecs.py | 19 +- .../amazon/aws/operators/emr_create_job_flow.py | 2 + .../amazon/aws/secrets/secrets_manager.py | 2 +- airflow/providers/amazon/aws/sensors/s3_key.py | 1 + airflow/providers/datadog/hooks/datadog.py | 2 +- airflow/providers/datadog/sensors/datadog.py | 18 +- airflow/providers/google/ads/operators/ads.py | 4 +- .../providers/google/cloud/hooks/compute_ssh.py | 1 + airflow/providers/google/cloud/hooks/dataflow.py | 2 +- .../marketing_platform/operators/display_video.py | 6 +- .../microsoft/azure/operators/azure_batch.py | 39 +- .../microsoft/azure/sensors/azure_cosmos.py | 15 +- .../providers/singularity/operators/singularity.py | 13 +- airflow/providers/slack/operators/slack.py | 4 +- .../yandex/operators/yandexcloud_dataproc.py | 10 +- airflow/sensors/smart_sensor.py | 4 +- airflow/ui/.env.example | 1 + airflow/ui/.eslintrc.js | 2 +- airflow/ui/.neutrinorc.js | 10 + airflow/ui/README.md | 20 + airflow/ui/docs/CONTRIBUTING.md | 8 + airflow/ui/jest.config.js | 1 + airflow/ui/package.json | 16 +- airflow/ui/src/App.tsx | 92 +- airflow/ui/src/{App.tsx => api/defaults.ts} | 14 +- airflow/ui/src/api/index.ts | 77 ++ airflow/ui/src/auth/AuthProvider.tsx | 113 ++ .../ui/{.eslintrc.js => src/auth/PrivateRoute.tsx} | 30 +- airflow/ui/{.eslintrc.js => src/auth/context.ts} | 40 +- .../ui/src/components/AppContainer/AppHeader.tsx | 131 +++ airflow/ui/src/components/AppContainer/AppNav.tsx | 111 ++ .../ui/src/components/AppContainer/AppNavBtn.tsx | 87 ++ airflow/ui/src/components/AppContainer/index.tsx | 86 ++ airflow/ui/src/components/PipelineBreadcrumb.tsx | 93 ++ .../App.test.tsx => src/components/SectionNav.tsx} | 46 +- .../components/SectionNavBtn.tsx} | 33 +- airflow/ui/src/components/SectionWrapper.tsx | 86 ++ .../ui/src/components/icons/ApacheAirflowLogo.tsx | 33 + airflow/ui/src/components/icons/PinwheelLogo.tsx | 40 + airflow/ui/src/components/icons/PipelineIcon.tsx | 32 + airflow/ui/src/index.tsx | 21 +- .../{test/App.test.tsx => src/interfaces/api.ts} | 23 +- airflow/ui/src/interfaces/index.ts | 101 ++ airflow/ui/src/utils/localStorage.ts | 55 + .../views/Access/AccessContainer.tsx} | 46 +- .../{index.tsx => views/Access/Permissions.tsx} | 17 +- .../App.test.tsx => src/views/Access/Roles.tsx} | 16 +- airflow/ui/src/{App.tsx => views/Access/Users.tsx} | 15 +- airflow/ui/src/{App.tsx => views/Access/index.tsx} | 15 +- .../ui/src/views/Activity/ActivityContainer.tsx | 73 ++ .../{index.tsx => views/Activity/EventLogs.tsx} | 17 +- .../ui/src/{App.tsx => views/Activity/Jobs.tsx} | 15 +- .../ui/src/{App.tsx => views/Activity/Runs.tsx} | 15 +- .../{index.tsx => views/Activity/SLAMisses.tsx} | 17 +- .../Activity/TaskInstances.tsx} | 17 +- .../Activity/TaskReschedules.tsx} | 17 +- .../ui/src/{App.tsx => views/Activity/XComs.tsx} | 15 +- .../views/Config/ConfigContainer.tsx} | 46 +- .../{index.tsx => views/Config/Connections.tsx} | 17 +- airflow/ui/src/{App.tsx => views/Config/Pools.tsx} | 15 +- .../src/{index.tsx => views/Config/Variables.tsx} | 17 +- airflow/ui/src/{App.tsx => views/Config/index.tsx} | 15 +- airflow/ui/src/views/Docs.tsx | 200 ++++ airflow/ui/src/views/Login.tsx | 110 ++ airflow/ui/src/{App.tsx => views/NotFound.tsx} | 26 +- .../ui/src/views/Pipeline/PipelineContainer.tsx | 95 ++ .../src/{App.tsx => views/Pipeline/run/Gantt.tsx} | 15 +- .../src/{App.tsx => views/Pipeline/run/Graph.tsx} | 15 +- airflow/ui/src/views/Pipeline/run/RunContainer.tsx | 65 ++ .../src/{App.tsx => views/Pipeline/runs/Code.tsx} | 15 +- .../{App.tsx => views/Pipeline/runs/Details.tsx} | 15 +- .../Pipeline/runs/LandingTimes.tsx} | 17 +- .../ui/src/views/Pipeline/runs/RunsContainer.tsx | 76 ++ .../Pipeline/runs/TaskDuration.tsx} | 17 +- .../{App.tsx => views/Pipeline/runs/TaskTries.tsx} | 15 +- .../src/{App.tsx => views/Pipeline/ti/Details.tsx} | 15 +- .../ui/src/{App.tsx => views/Pipeline/ti/Log.tsx} | 15 +- .../{App.tsx => views/Pipeline/ti/RenderedK8s.tsx} | 15 +- .../Pipeline/ti/RenderedTemplate.tsx} | 17 +- airflow/ui/src/views/Pipeline/ti/TIContainer.tsx | 78 ++ .../ui/src/{App.tsx => views/Pipeline/ti/XCom.tsx} | 15 +- airflow/ui/src/views/Pipelines/index.tsx | 103 ++ airflow/ui/test/Login.test.tsx | 132 +++ airflow/ui/test/Pipelines.test.tsx | 97 ++ airflow/ui/{src/App.tsx => test/utils.tsx} | 32 +- airflow/ui/tsconfig.json | 1 + airflow/ui/yarn.lock | 1077 ++++++++++++-------- airflow/www/security.py | 22 +- breeze | 5 - breeze-complete | 2 - chart/templates/workers/worker-deployment.yaml | 4 + chart/tests/test_basic_helm_chart.py | 39 + chart/tests/test_git_sync_scheduler.py | 4 +- chart/tests/test_pod_template_file.py | 4 +- chart/tests/test_worker.py | 14 + chart/values.schema.json | 31 +- chart/values.yaml | 10 + clients/README.md | 2 +- clients/gen/common.sh | 16 +- clients/gen/go.sh | 3 + clients/gen/python.sh | 23 +- docs/apache-airflow-providers-mysql/index.rst | 2 +- docs/apache-airflow/concepts.rst | 6 + docs/apache-airflow/dag-serialization.rst | 40 +- docs/apache-airflow/executor/kubernetes.rst | 2 +- docs/docker-stack/build-arg-ref.rst | 267 ++--- docs/docker-stack/build.rst | 623 ++++++----- .../customizing/add-build-essential-custom.sh | 36 +- .../docker-examples/customizing/custom-sources.sh | 48 + .../customizing/github-different-repository.sh | 36 +- .../docker-examples/customizing/github-master.sh | 34 +- .../customizing/github-v2-0-test.sh | 34 +- .../customizing/pypi-dev-runtime-deps.sh | 37 +- .../customizing/pypi-extras-and-deps.sh | 36 +- .../customizing/pypi-selected-version.sh | 33 +- .../docker-examples/customizing/stable-airflow.sh | 31 +- .../extending/add-apt-packages/Dockerfile | 27 + .../add-build-essential-extend/Dockerfile | 28 + .../extending/add-pypi-packages/Dockerfile | 20 + .../extending/embedding-dags/Dockerfile | 22 + .../extending/embedding-dags/test_dag.py | 39 + .../restricted/restricted_environments.sh | 44 + docs/exts/docs_build/fetch_inventories.py | 4 +- docs/exts/docs_build/third_party_inventories.py | 2 +- docs/helm-chart/manage-dags-files.rst | 16 + docs/helm-chart/parameters-ref.rst | 3 + docs/spelling_wordlist.txt | 2 + scripts/ci/images/ci_run_prod_image_test.sh | 50 + .../ci_test_examples_of_prod_image_building.sh | 91 ++ scripts/ci/libraries/_build_images.sh | 1 + scripts/ci/libraries/_docker_engine_resources.sh | 9 +- scripts/ci/libraries/_initialization.sh | 16 + scripts/ci/libraries/_kind.sh | 8 +- scripts/ci/libraries/_md5sum.sh | 18 +- scripts/ci/libraries/_parallel.sh | 70 +- scripts/ci/libraries/_script_init.sh | 14 - scripts/ci/libraries/_start_end.sh | 7 +- scripts/ci/libraries/_verify_image.sh | 21 + scripts/ci/selective_ci_checks.sh | 30 +- scripts/ci/testing/ci_run_airflow_testing.sh | 59 +- scripts/docker/common.sh | 63 ++ scripts/docker/compile_www_assets.sh | 21 +- scripts/docker/install_airflow.sh | 18 +- scripts/docker/install_airflow_from_branch_tip.sh | 13 +- .../docker/install_from_docker_context_files.sh | 26 +- setup.py | 18 +- tests/cluster_policies/__init__.py | 3 +- tests/kubernetes/test_pod_generator.py | 3 + tests/operators/test_generic_transfer.py | 7 +- tests/providers/amazon/aws/.gitignore | 1 + tests/providers/amazon/aws/hooks/test_base_aws.py | 80 ++ tests/providers/amazon/aws/hooks/test_s3.py | 28 +- .../amazon/aws/hooks/test_secrets_manager.py | 26 +- tests/providers/amazon/aws/operators/test_ecs.py | 13 +- .../amazon/aws/secrets/test_secrets_manager.py | 34 +- .../apache/hive/transfers/test_mysql_to_hive.py | 156 +-- .../providers/google/cloud/hooks/test_dataflow.py | 28 + .../google/cloud/operators/test_stackdriver.py | 38 +- .../google/cloud/transfers/test_mysql_to_gcs.py | 2 +- tests/providers/mysql/hooks/test_mysql.py | 31 +- tests/providers/mysql/operators/test_mysql.py | 10 +- tests/www/test_security.py | 32 + 184 files changed, 5427 insertions(+), 1804 deletions(-) copy clients/gen/python.sh => airflow/providers/amazon/aws/exceptions.py (62%) mode change 100755 => 100644 create mode 100644 airflow/ui/.env.example copy airflow/ui/src/{App.tsx => api/defaults.ts} (75%) create mode 100644 airflow/ui/src/api/index.ts create mode 100644 airflow/ui/src/auth/AuthProvider.tsx copy airflow/ui/{.eslintrc.js => src/auth/PrivateRoute.tsx} (69%) copy airflow/ui/{.eslintrc.js => src/auth/context.ts} (57%) create mode 100644 airflow/ui/src/components/AppContainer/AppHeader.tsx create mode 100644 airflow/ui/src/components/AppContainer/AppNav.tsx create mode 100644 airflow/ui/src/components/AppContainer/AppNavBtn.tsx create mode 100644 airflow/ui/src/components/AppContainer/index.tsx create mode 100644 airflow/ui/src/components/PipelineBreadcrumb.tsx copy airflow/ui/{test/App.test.tsx => src/components/SectionNav.tsx} (51%) copy airflow/ui/{test/App.test.tsx => src/components/SectionNavBtn.tsx} (61%) create mode 100644 airflow/ui/src/components/SectionWrapper.tsx create mode 100644 airflow/ui/src/components/icons/ApacheAirflowLogo.tsx create mode 100644 airflow/ui/src/components/icons/PinwheelLogo.tsx create mode 100644 airflow/ui/src/components/icons/PipelineIcon.tsx copy airflow/ui/{test/App.test.tsx => src/interfaces/api.ts} (70%) create mode 100644 airflow/ui/src/interfaces/index.ts create mode 100644 airflow/ui/src/utils/localStorage.ts copy airflow/ui/{test/App.test.tsx => src/views/Access/AccessContainer.tsx} (53%) copy airflow/ui/src/{index.tsx => views/Access/Permissions.tsx} (76%) copy airflow/ui/{test/App.test.tsx => src/views/Access/Roles.tsx} (76%) copy airflow/ui/src/{App.tsx => views/Access/Users.tsx} (78%) copy airflow/ui/src/{App.tsx => views/Access/index.tsx} (77%) create mode 100644 airflow/ui/src/views/Activity/ActivityContainer.tsx copy airflow/ui/src/{index.tsx => views/Activity/EventLogs.tsx} (76%) copy airflow/ui/src/{App.tsx => views/Activity/Jobs.tsx} (77%) copy airflow/ui/src/{App.tsx => views/Activity/Runs.tsx} (77%) copy airflow/ui/src/{index.tsx => views/Activity/SLAMisses.tsx} (76%) copy airflow/ui/src/{index.tsx => views/Activity/TaskInstances.tsx} (75%) copy airflow/ui/src/{index.tsx => views/Activity/TaskReschedules.tsx} (74%) copy airflow/ui/src/{App.tsx => views/Activity/XComs.tsx} (77%) rename airflow/ui/{test/App.test.tsx => src/views/Config/ConfigContainer.tsx} (53%) copy airflow/ui/src/{index.tsx => views/Config/Connections.tsx} (76%) copy airflow/ui/src/{App.tsx => views/Config/Pools.tsx} (78%) copy airflow/ui/src/{index.tsx => views/Config/Variables.tsx} (77%) copy airflow/ui/src/{App.tsx => views/Config/index.tsx} (77%) create mode 100644 airflow/ui/src/views/Docs.tsx create mode 100644 airflow/ui/src/views/Login.tsx copy airflow/ui/src/{App.tsx => views/NotFound.tsx} (67%) create mode 100644 airflow/ui/src/views/Pipeline/PipelineContainer.tsx copy airflow/ui/src/{App.tsx => views/Pipeline/run/Gantt.tsx} (78%) copy airflow/ui/src/{App.tsx => views/Pipeline/run/Graph.tsx} (78%) create mode 100644 airflow/ui/src/views/Pipeline/run/RunContainer.tsx copy airflow/ui/src/{App.tsx => views/Pipeline/runs/Code.tsx} (78%) copy airflow/ui/src/{App.tsx => views/Pipeline/runs/Details.tsx} (77%) copy airflow/ui/src/{index.tsx => views/Pipeline/runs/LandingTimes.tsx} (76%) create mode 100644 airflow/ui/src/views/Pipeline/runs/RunsContainer.tsx copy airflow/ui/src/{index.tsx => views/Pipeline/runs/TaskDuration.tsx} (76%) copy airflow/ui/src/{App.tsx => views/Pipeline/runs/TaskTries.tsx} (77%) copy airflow/ui/src/{App.tsx => views/Pipeline/ti/Details.tsx} (78%) copy airflow/ui/src/{App.tsx => views/Pipeline/ti/Log.tsx} (78%) copy airflow/ui/src/{App.tsx => views/Pipeline/ti/RenderedK8s.tsx} (77%) copy airflow/ui/src/{index.tsx => views/Pipeline/ti/RenderedTemplate.tsx} (75%) create mode 100644 airflow/ui/src/views/Pipeline/ti/TIContainer.tsx copy airflow/ui/src/{App.tsx => views/Pipeline/ti/XCom.tsx} (78%) create mode 100644 airflow/ui/src/views/Pipelines/index.tsx create mode 100644 airflow/ui/test/Login.test.tsx create mode 100644 airflow/ui/test/Pipelines.test.tsx copy airflow/ui/{src/App.tsx => test/utils.tsx} (51%) copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/add-build-essential-custom.sh (56%) create mode 100755 docs/docker-stack/docker-examples/customizing/custom-sources.sh copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/github-different-repository.sh (54%) copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/github-master.sh (57%) copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/github-v2-0-test.sh (57%) copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/pypi-dev-runtime-deps.sh (54%) copy clients/gen/go.sh => docs/docker-stack/docker-examples/customizing/pypi-extras-and-deps.sh (58%) copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/pypi-selected-version.sh (62%) copy clients/gen/python.sh => docs/docker-stack/docker-examples/customizing/stable-airflow.sh (62%) create mode 100644 docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile create mode 100644 docs/docker-stack/docker-examples/extending/add-build-essential-extend/Dockerfile create mode 100644 docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile create mode 100644 docs/docker-stack/docker-examples/extending/embedding-dags/Dockerfile create mode 100644 docs/docker-stack/docker-examples/extending/embedding-dags/test_dag.py create mode 100755 docs/docker-stack/docker-examples/restricted/restricted_environments.sh create mode 100755 scripts/ci/images/ci_run_prod_image_test.sh create mode 100755 scripts/ci/images/ci_test_examples_of_prod_image_building.sh create mode 100755 scripts/docker/common.sh create mode 100644 tests/providers/amazon/aws/.gitignore