From af33700ce14d43a0186a33be769af572fd5c0e04 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Tue, 25 Oct 2022 17:07:42 +0200 Subject: [PATCH] Attempt to add Python 3.11 support Python 3.11 has been released as scheduled on October 25, 2022 and this is the first attempt to see how far Airflow (mostly dependencies) are from being ready to officially support 3.11. So far we had to exclude the following dependencies: - [ ] Pyarrow dependency: https://github.com/apache/arrow/pull/14499 - [ ] Google Provider: https://github.com/apache/airflow/issues/27292 and https://github.com/googleapis/python-bigquery/issues/1386 - [ ] Databricks Provider: https://github.com/databricks/databricks-sql-python/issues/59 - [ ] Papermill Provider: https://github.com/nteract/papermill/issues/700 - [ ] Azure Provider: https://github.com/Azure/azure-uamqp-python/issues/334 and https://github.com/Azure/azure-sdk-for-python/issues/27066 - [ ] Apache Beam Provider: https://github.com/apache/beam/issues/23848 - [ ] Snowflake Provider: https://github.com/snowflakedb/snowflake-connector-python/pull/1294 - [ ] JDBC Provider: https://github.com/jpype-project/jpype/pull/1087 - [ ] Hive Provider: https://github.com/cloudera/python-sasl/issues/30 We might decide to release Airflow in 3.11 with those providers disabled in case they are lagging behind eventually, but for the moment we want to work with all the projects in concert to be able to release all providers (Google Provider requires quite a lot of work and likely Google Team stepping up and community helping with migration to latest Goofle cloud libraries) --- CI.rst | 2 +- LOCAL_VIRTUALENV.rst | 12 +- README.md | 2 +- airflow/providers/apache/beam/provider.yaml | 5 + airflow/providers/apache/hive/provider.yaml | 5 + airflow/providers/databricks/provider.yaml | 6 + airflow/providers/google/provider.yaml | 6 + airflow/providers/papermill/provider.yaml | 7 + airflow/providers/snowflake/provider.yaml | 7 + dev/README_RELEASE_AIRFLOW.md | 2 +- dev/breeze/SELECTIVE_CHECKS.md | 4 +- .../src/airflow_breeze/global_constants.py | 4 +- dev/breeze/tests/test_cache.py | 4 +- dev/breeze/tests/test_selective_checks.py | 64 +-- .../prepare_provider_packages.py | 2 +- dev/retag_docker_images.py | 2 +- .../installation/prerequisites.rst | 2 +- .../upgrading-from-1-10/index.rst | 2 +- docs/docker-stack/build.rst | 16 +- generated/provider_dependencies.json | 230 +++++++---- images/breeze/output-commands-hash.txt | 68 ++-- images/breeze/output-commands.svg | 212 +++++----- images/breeze/output_ci-image_build.svg | 296 +++++++------- images/breeze/output_ci-image_pull.svg | 160 ++++---- images/breeze/output_ci-image_verify.svg | 104 ++--- .../output_ci_find-newer-dependencies.svg | 104 ++--- images/breeze/output_ci_fix-ownership.svg | 22 +- images/breeze/output_ci_free-space.svg | 20 +- images/breeze/output_ci_resource-check.svg | 16 +- images/breeze/output_ci_selective-check.svg | 38 +- images/breeze/output_cleanup.svg | 26 +- images/breeze/output_compile-www-assets.svg | 24 +- images/breeze/output_exec.svg | 16 +- images/breeze/output_k8s.svg | 58 +-- images/breeze/output_k8s_build-k8s-image.svg | 140 +++---- .../breeze/output_k8s_configure-cluster.svg | 160 ++++---- images/breeze/output_k8s_create-cluster.svg | 156 ++++---- images/breeze/output_k8s_delete-cluster.svg | 104 ++--- images/breeze/output_k8s_deploy-airflow.svg | 176 ++++---- images/breeze/output_k8s_k9s.svg | 100 ++--- images/breeze/output_k8s_logs.svg | 104 ++--- .../breeze/output_k8s_run-complete-tests.svg | 220 +++++----- images/breeze/output_k8s_setup-env.svg | 22 +- images/breeze/output_k8s_shell.svg | 116 +++--- images/breeze/output_k8s_status.svg | 108 ++--- images/breeze/output_k8s_tests.svg | 172 ++++---- images/breeze/output_k8s_upload-k8s-image.svg | 152 +++---- images/breeze/output_prod-image_build.svg | 376 +++++++++--------- images/breeze/output_prod-image_pull.svg | 160 ++++---- images/breeze/output_prod-image_verify.svg | 108 ++--- ...elease-management_generate-constraints.svg | 156 ++++---- ...ase-management_prepare-airflow-package.svg | 28 +- ...agement_prepare-provider-documentation.svg | 30 +- ...e-management_prepare-provider-packages.svg | 30 +- ...release-management_release-prod-images.svg | 124 +++--- ...se-management_verify-provider-packages.svg | 54 +-- images/breeze/output_setup.svg | 26 +- images/breeze/output_setup_autocomplete.svg | 24 +- images/breeze/output_setup_config.svg | 108 ++--- ...output_setup_regenerate-command-images.svg | 52 +-- images/breeze/output_setup_version.svg | 16 +- images/breeze/output_shell.svg | 244 ++++++------ images/breeze/output_start-airflow.svg | 260 ++++++------ images/breeze/output_stop.svg | 22 +- images/breeze/output_testing.svg | 22 +- .../output_testing_docker-compose-tests.svg | 104 ++--- images/breeze/output_testing_tests.svg | 220 +++++----- ...re_commit_update_providers_dependencies.py | 17 +- setup.cfg | 1 + setup.py | 42 +- 70 files changed, 2863 insertions(+), 2639 deletions(-) diff --git a/CI.rst b/CI.rst index 5c937e579431f..bc790706d1106 100644 --- a/CI.rst +++ b/CI.rst @@ -59,7 +59,7 @@ Container Registry used as cache We are using GitHub Container Registry to store the results of the ``Build Images`` workflow which is used in the ``Tests`` workflow. -Currently in main version of Airflow we run tests in 4 different versions of Python (3.7, 3.8, 3.9, 3.10) +Currently in main version of Airflow we run tests in those versions of Python (3.7, 3.8, 3.9, 3.10, 3.11) which means that we have to build 8 images (4 CI ones and 4 PROD ones). Yet we run around 12 jobs with each of the CI images. That is a lot of time to just build the environment to run. Therefore we are utilising ``pull_request_target`` feature of GitHub Actions. diff --git a/LOCAL_VIRTUALENV.rst b/LOCAL_VIRTUALENV.rst index 3208634a4ee62..063670270f914 100644 --- a/LOCAL_VIRTUALENV.rst +++ b/LOCAL_VIRTUALENV.rst @@ -51,7 +51,7 @@ Required Software Packages Use system-level package managers like yum, apt-get for Linux, or Homebrew for macOS to install required software packages: -* Python (One of: 3.7, 3.8, 3.9, 3.10) +* Python (One of: 3.7, 3.8, 3.9, 3.10, 3.11) * MySQL 5.7+ * libxml @@ -102,7 +102,7 @@ Creating a Local virtualenv To use your IDE for Airflow development and testing, you need to configure a virtual environment. Ideally you should set up virtualenv for all Python versions that Airflow -supports (3.7, 3.8, 3.9, 3.10). +supports (3.7, 3.8, 3.9, 3.10, 3.11). To create and initialize the local virtualenv: @@ -122,7 +122,7 @@ To create and initialize the local virtualenv: .. code-block:: bash - conda create -n airflow python=3.7 # or 3.8, 3.9, 3.10 + conda create -n airflow python=3.7 # or 3.8, 3.9, 3.10, 3.11 conda activate airflow 2. Install Python PIP requirements: @@ -150,7 +150,7 @@ for different python versions). For development on current main source: .. code-block:: bash - # use the same version of python as you are working with, 3.7, 3.8, 3.9, or 3.10 + # use the same version of python as you are working with, 3.7, 3.8, 3.9, 3.10 or 3.11 pip install -e ".[devel,]" \ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-main/constraints-source-providers-3.7.txt" @@ -163,7 +163,7 @@ You can also install Airflow in non-editable mode: .. code-block:: bash - # use the same version of python as you are working with, 3.7, 3.8, 3.9, or 3.10 + # use the same version of python as you are working with, 3.7, 3.8, 3.9, 3.10 or 3.11 pip install ".[devel,]" \ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-main/constraints-source-providers-3.7.txt" @@ -173,7 +173,7 @@ sources, unless you set ``INSTALL_PROVIDERS_FROM_SOURCES`` environment variable .. code-block:: bash - # use the same version of python as you are working with, 3.7, 3.8, 3.9, or 3.10 + # use the same version of python as you are working with, 3.7, 3.8, 3.9, 3.10 or 3.11 INSTALL_PROVIDERS_FROM_SOURCES="true" pip install ".[devel,]" \ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-main/constraints-source-providers-3.7.txt" diff --git a/README.md b/README.md index a4f37d6daee54..564f88a5a3b6c 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ Apache Airflow is tested with: | | Main version (dev) | Stable version (2.4.2) | |---------------------|------------------------------|------------------------------| -| Python | 3.7, 3.8, 3.9, 3.10 | 3.7, 3.8, 3.9, 3.10 | +| Python | 3.7, 3.8, 3.9, 3.10, 3.11 | 3.7, 3.8, 3.9, 3.10, 3.11 | | Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) | | Kubernetes | 1.21, 1.22, 1.23, 1.24, 1.25 | 1.21, 1.22, 1.23, 1.24, 1.25 | | PostgreSQL | 11, 12, 13, 14, 15 | 11, 12, 13, 14 | diff --git a/airflow/providers/apache/beam/provider.yaml b/airflow/providers/apache/beam/provider.yaml index 5f83ce135203a..48dbbe17cbcc2 100644 --- a/airflow/providers/apache/beam/provider.yaml +++ b/airflow/providers/apache/beam/provider.yaml @@ -39,6 +39,11 @@ dependencies: - apache-airflow>=2.3.0 - apache-beam>=2.33.0 +# Excluded because apache-beam and a number of dependent libraries are not +# compatible with 3.11 yet. See https://github.com/apache/beam/issues/23848 +excluded-python-versions: + - "3.11" + integrations: - integration-name: Apache Beam external-doc-url: https://beam.apache.org/ diff --git a/airflow/providers/apache/hive/provider.yaml b/airflow/providers/apache/hive/provider.yaml index 8fcbdeff12412..07460ca056400 100644 --- a/airflow/providers/apache/hive/provider.yaml +++ b/airflow/providers/apache/hive/provider.yaml @@ -54,6 +54,11 @@ dependencies: - sasl>=0.3.1; python_version>="3.9" - thrift>=0.9.2 +# Excluded because SASL is not yet compatible +# with 3.11. See https://github.com/cloudera/python-sasl/issues/30 +excluded-python-versions: + - "3.11" + integrations: - integration-name: Apache Hive external-doc-url: https://hive.apache.org/ diff --git a/airflow/providers/databricks/provider.yaml b/airflow/providers/databricks/provider.yaml index 3f479043f652a..cf15e5fa3f7b5 100644 --- a/airflow/providers/databricks/provider.yaml +++ b/airflow/providers/databricks/provider.yaml @@ -47,6 +47,12 @@ dependencies: - databricks-sql-connector>=2.0.0, <3.0.0 - aiohttp>=3.6.3, <4 +# Excluded because databricks-sql-connector and a number of dependent libraries are not compatible +# with 3.11 yet See https://pyreadiness.org/3.11/. (Pyarrow is one of the important ones) +# See https://github.com/databricks/databricks-sql-python/issues/59 for issue that tracks it +excluded-python-versions: + - "3.11" + integrations: - integration-name: Databricks external-doc-url: https://databricks.com/ diff --git a/airflow/providers/google/provider.yaml b/airflow/providers/google/provider.yaml index 4b4a9050f7a2d..92f0f58bb468c 100644 --- a/airflow/providers/google/provider.yaml +++ b/airflow/providers/google/provider.yaml @@ -120,6 +120,12 @@ dependencies: # Google bigtable client require protobuf <= 3.20.0. We can remove the limitation # when this limitation is removed - protobuf<=3.20.0 +# Excluded because bigquery and a number of dependent libraries are not compatible with 3.11 yet +# See https://pyreadiness.org/3.11/. Also some of Google libraries are in pretty ancient +# version (pre 2.0.0) and they MUST be migrated in order to add 3.11 support +# This is tracked in https://github.com/apache/airflow/issues/27292 +excluded-python-versions: + - "3.11" integrations: - integration-name: Google Analytics360 diff --git a/airflow/providers/papermill/provider.yaml b/airflow/providers/papermill/provider.yaml index 966a171b50463..48bb222d2694f 100644 --- a/airflow/providers/papermill/provider.yaml +++ b/airflow/providers/papermill/provider.yaml @@ -40,6 +40,13 @@ dependencies: - papermill[all]>=1.2.1 - scrapbook[all] +# Excluded because papermill and a number of dependent libraries are not compatible +# with 3.11 yet See https://pyreadiness.org/3.11/. (Pyarrow is one of the important ones) +# See for issue that tracks it https://github.com/nteract/papermill/issues/700 +excluded-python-versions: + - "3.11" + + integrations: - integration-name: Papermill external-doc-url: https://github.com/nteract/papermill diff --git a/airflow/providers/snowflake/provider.yaml b/airflow/providers/snowflake/provider.yaml index 7f7daed333a94..df6389b2dcbe9 100644 --- a/airflow/providers/snowflake/provider.yaml +++ b/airflow/providers/snowflake/provider.yaml @@ -51,6 +51,13 @@ dependencies: - snowflake-connector-python>=2.4.1 - snowflake-sqlalchemy>=1.1.0 +# Excluded because snowflake connector python and a number of dependent libraries are not +# compatible with 3.11 yet. See https://pyreadiness.org/3.11/. One of the important dependencies +# is Pyarrow: https://github.com/apache/arrow/pull/14499 but the +# https://github.com/snowflakedb/snowflake-connector-python/issues/1289 is the issue +excluded-python-versions: + - "3.11" + integrations: - integration-name: Snowflake external-doc-url: https://snowflake.com/ diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md index 1fd37283b738c..b3684b7b4520e 100644 --- a/dev/README_RELEASE_AIRFLOW.md +++ b/dev/README_RELEASE_AIRFLOW.md @@ -986,7 +986,7 @@ the older branches, you should set the "skip" field to true. ## Verify production images ```shell script -for PYTHON in 3.7 3.8 3.9 3.10 +for PYTHON in 3.7 3.8 3.9 3.10 3.11 do docker pull apache/airflow:${VERSION}-python${PYTHON} breeze prod-image verify --image-name apache/airflow:${VERSION}-python${PYTHON} diff --git a/dev/breeze/SELECTIVE_CHECKS.md b/dev/breeze/SELECTIVE_CHECKS.md index 73827a807a917..371082ccd3fc8 100644 --- a/dev/breeze/SELECTIVE_CHECKS.md +++ b/dev/breeze/SELECTIVE_CHECKS.md @@ -108,8 +108,8 @@ The selective check outputs available are described below: | Output | Meaning of the output | Example value | |------------------------------------|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------| -| all-python-versions | List of all python versions there are available in the form of JSON array | ['3.7', '3.8', '3.9', '3.10'] | -| all-python-versions-list-as-string | List of all python versions there are available in the form of space separated string | 3.7 3.8 3.9 3.10 | +| all-python-versions | List of all python versions there are available in the form of JSON array | ['3.7', '3.8', '3.9', '3.10', '3.11'] | +| all-python-versions-list-as-string | List of all python versions there are available in the form of space separated string | 3.7 3.8 3.9 3.10 3.11 | | basic-checks-only | Whether to run all static checks ("false") or only basic set of static checks ("true") | false | | cache-directive | Which cache should be be used for images ("registry", "local" , "disabled") | registry | | debug-resources | Whether resources usage should be printed during parallel job execution ("true"/ "false") | false | diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py index 1c92fbdc232f6..67c32830ce9ae 100644 --- a/dev/breeze/src/airflow_breeze/global_constants.py +++ b/dev/breeze/src/airflow_breeze/global_constants.py @@ -37,7 +37,7 @@ APACHE_AIRFLOW_GITHUB_REPOSITORY = "apache/airflow" # Checked before putting in build cache -ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] +ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11"] DEFAULT_PYTHON_MAJOR_MINOR_VERSION = ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS[0] ALLOWED_ARCHITECTURES = [Architecture.X86_64, Architecture.ARM] ALLOWED_BACKENDS = ["sqlite", "mysql", "postgres", "mssql"] @@ -153,7 +153,7 @@ def get_default_platform_machine() -> str: PYTHONDONTWRITEBYTECODE = True PRODUCTION_IMAGE = False -ALL_PYTHON_MAJOR_MINOR_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] +ALL_PYTHON_MAJOR_MINOR_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11"] CURRENT_PYTHON_MAJOR_MINOR_VERSIONS = ALL_PYTHON_MAJOR_MINOR_VERSIONS CURRENT_POSTGRES_VERSIONS = ["11", "12", "13", "14", "15"] DEFAULT_POSTGRES_VERSION = CURRENT_POSTGRES_VERSIONS[0] diff --git a/dev/breeze/tests/test_cache.py b/dev/breeze/tests/test_cache.py index a37a91165b4fc..1db27494abd07 100644 --- a/dev/breeze/tests/test_cache.py +++ b/dev/breeze/tests/test_cache.py @@ -36,8 +36,8 @@ [ ("backend", "mysql", (True, ["sqlite", "mysql", "postgres", "mssql"]), None), ("backend", "xxx", (False, ["sqlite", "mysql", "postgres", "mssql"]), None), - ("python_major_minor_version", "3.8", (True, ["3.7", "3.8", "3.9", "3.10"]), None), - ("python_major_minor_version", "3.5", (False, ["3.7", "3.8", "3.9", "3.10"]), None), + ("python_major_minor_version", "3.8", (True, ["3.7", "3.8", "3.9", "3.10", "3.11"]), None), + ("python_major_minor_version", "3.5", (False, ["3.7", "3.8", "3.9", "3.10", "3.11"]), None), ("missing", "value", None, AttributeError), ], ) diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py index 026a7ef45b50a..979b85a9c865b 100644 --- a/dev/breeze/tests/test_selective_checks.py +++ b/dev/breeze/tests/test_selective_checks.py @@ -224,10 +224,10 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str): pytest.param( ("setup.py",), { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", - "python-versions": "['3.7', '3.8', '3.9', '3.10']", - "python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", + "python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "needs-helm-tests": "true", "run-tests": "true", @@ -243,10 +243,10 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str): pytest.param( ("generated/provider_dependencies.json",), { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", - "python-versions": "['3.7', '3.8', '3.9', '3.10']", - "python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", + "python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "needs-helm-tests": "true", "run-tests": "true", @@ -282,10 +282,10 @@ def test_expected_output_pull_request_main( ("full tests needed",), "main", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", - "python-versions": "['3.7', '3.8', '3.9', '3.10']", - "python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", + "python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "run-tests": "true", "docs-build": "true", @@ -306,10 +306,10 @@ def test_expected_output_pull_request_main( ), "main", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", - "python-versions": "['3.7', '3.8', '3.9', '3.10']", - "python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", + "python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "run-tests": "true", "docs-build": "true", @@ -328,10 +328,10 @@ def test_expected_output_pull_request_main( ("full tests needed",), "main", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", - "python-versions": "['3.7', '3.8', '3.9', '3.10']", - "python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", + "python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "run-tests": "true", "docs-build": "true", @@ -350,10 +350,10 @@ def test_expected_output_pull_request_main( ("full tests needed",), "v2-3-stable", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", - "python-versions": "['3.7', '3.8', '3.9', '3.10']", - "python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", + "python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "run-tests": "true", "docs-build": "true", @@ -559,8 +559,8 @@ def test_expected_output_pull_request_target( (), "main", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "needs-helm-tests": "true", "run-tests": "true", @@ -575,8 +575,8 @@ def test_expected_output_pull_request_target( (), "v2-3-stable", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "needs-helm-tests": "false", "run-tests": "true", @@ -592,8 +592,8 @@ def test_expected_output_pull_request_target( (), "main", { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "needs-helm-tests": "true", "run-tests": "true", @@ -641,8 +641,8 @@ def test_no_commit_provided_trigger_full_build_for_any_event_type(github_event): ) assert_outputs_are_printed( { - "all-python-versions": "['3.7', '3.8', '3.9', '3.10']", - "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10", + "all-python-versions": "['3.7', '3.8', '3.9', '3.10', '3.11']", + "all-python-versions-list-as-string": "3.7 3.8 3.9 3.10 3.11", "image-build": "true", "needs-helm-tests": "true", "run-tests": "true", diff --git a/dev/provider_packages/prepare_provider_packages.py b/dev/provider_packages/prepare_provider_packages.py index 6b178ee7acb61..fa3bfa50a9e6f 100755 --- a/dev/provider_packages/prepare_provider_packages.py +++ b/dev/provider_packages/prepare_provider_packages.py @@ -53,7 +53,7 @@ from rich.syntax import Syntax from yaml import safe_load -ALL_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] +ALL_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11"] INITIAL_CHANGELOG_CONTENT = """ diff --git a/dev/retag_docker_images.py b/dev/retag_docker_images.py index 8c9f6eb78d386..ecc304eaa8b4c 100755 --- a/dev/retag_docker_images.py +++ b/dev/retag_docker_images.py @@ -31,7 +31,7 @@ import rich_click as click -PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] +PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11"] GHCR_IO_PREFIX = "ghcr.io" diff --git a/docs/apache-airflow/installation/prerequisites.rst b/docs/apache-airflow/installation/prerequisites.rst index d0b0b0025669b..bfea2221fe29b 100644 --- a/docs/apache-airflow/installation/prerequisites.rst +++ b/docs/apache-airflow/installation/prerequisites.rst @@ -20,7 +20,7 @@ Prerequisites Starting with Airflow 2.3.0, Airflow is tested with:. -* Python: 3.7, 3.8, 3.9, 3.10 +* Python: 3.7, 3.8, 3.9, 3.10, 3.11 * Databases: diff --git a/docs/apache-airflow/upgrading-from-1-10/index.rst b/docs/apache-airflow/upgrading-from-1-10/index.rst index 14b0b33842dd6..bc1ad2604d399 100644 --- a/docs/apache-airflow/upgrading-from-1-10/index.rst +++ b/docs/apache-airflow/upgrading-from-1-10/index.rst @@ -34,7 +34,7 @@ Airflow 1.10 was the last release series to support Python 2. Airflow 2.0.0 requires Python 3.6+ and has been tested with Python versions 3.6, 3.7 and 3.8. Python 3.9 support was added from Airflow 2.1.2. -Airflow 2.3.0 dropped support for Python 3.6. It's tested with Python 3.7, 3.8, 3.9 and 3.10. +Airflow 2.3.0 dropped support for Python 3.6. It's tested with Python 3.7, 3.8, 3.9, 3.10, 3.11. If you have a specific task that still requires Python 2 then you can use the ``@task.virtualenv``, ``@task.docker`` or ``@task.kubernetes`` decorators for this. diff --git a/docs/docker-stack/build.rst b/docs/docker-stack/build.rst index c0cdf671b8ed0..3abdc19a94b19 100644 --- a/docs/docker-stack/build.rst +++ b/docs/docker-stack/build.rst @@ -262,14 +262,14 @@ There are two types of images you can extend your image from: Naming conventions for the images: -+----------------+------------------+---------------------------------+--------------------------------------+ -| Image | Python | Standard image | Slim image | -+================+==================+=================================+======================================+ -| Latest default | 3.7 | apache/airflow:latest | apache/airflow:slim-latest | -| Default | 3.7 | apache/airflow:X.Y.Z | apache/airflow:slim-X.Y.Z | -| Latest | 3.7,3.8,3.9,3.10 | apache/airflow:latest-pythonN.M | apache/airflow:slim-latest-pythonN.M | -| Specific | 3.7,3.8,3.9,3.10 | apache/airflow:X.Y.Z-pythonN.M | apache/airflow:slim-X.Y.Z-pythonN.M | -+----------------+------------------+---------------------------------+--------------------------------------+ ++----------------+-----------------------+---------------------------------+--------------------------------------+ +| Image | Python | Standard image | Slim image | ++================+=======================+=================================+======================================+ +| Latest default | 3.7 | apache/airflow:latest | apache/airflow:slim-latest | +| Default | 3.7 | apache/airflow:X.Y.Z | apache/airflow:slim-X.Y.Z | +| Latest | 3.7,3.8,3.9,3.10,3.11 | apache/airflow:latest-pythonN.M | apache/airflow:slim-latest-pythonN.M | +| Specific | 3.7,3.8,3.9,3.10,3.11 | apache/airflow:X.Y.Z-pythonN.M | apache/airflow:slim-X.Y.Z-pythonN.M | ++----------------+-----------------------+---------------------------------+--------------------------------------+ * The "latest" image is always the latest released stable version available. diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json index de59c577bae80..fe8ffc982da1e 100644 --- a/generated/provider_dependencies.json +++ b/generated/provider_dependencies.json @@ -6,14 +6,16 @@ ], "cross-providers-deps": [ "http" - ] + ], + "excluded-python-versions": [] }, "alibaba": { "deps": [ "apache-airflow>=2.3.0", "oss2>=2.14.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "amazon": { "deps": [ @@ -40,7 +42,8 @@ "mongo", "salesforce", "ssh" - ] + ], + "excluded-python-versions": [] }, "apache.beam": { "deps": [ @@ -49,6 +52,9 @@ ], "cross-providers-deps": [ "google" + ], + "excluded-python-versions": [ + "3.11" ] }, "apache.cassandra": { @@ -56,7 +62,8 @@ "apache-airflow>=2.3.0", "cassandra-driver>=3.13.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "apache.drill": { "deps": [ @@ -66,7 +73,8 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "apache.druid": { "deps": [ @@ -77,7 +85,8 @@ "cross-providers-deps": [ "apache.hive", "common.sql" - ] + ], + "excluded-python-versions": [] }, "apache.hdfs": { "deps": [ @@ -85,7 +94,8 @@ "hdfs[avro,dataframe,kerberos]>=2.0.4", "snakebite-py3" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "apache.hive": { "deps": [ @@ -105,6 +115,9 @@ "presto", "samba", "vertica" + ], + "excluded-python-versions": [ + "3.11" ] }, "apache.kylin": { @@ -112,7 +125,8 @@ "apache-airflow>=2.3.0", "kylinpy>=2.6" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "apache.livy": { "deps": [ @@ -121,13 +135,15 @@ ], "cross-providers-deps": [ "http" - ] + ], + "excluded-python-versions": [] }, "apache.pig": { "deps": [ "apache-airflow>=2.3.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "apache.pinot": { "deps": [ @@ -137,41 +153,47 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "apache.spark": { "deps": [ "apache-airflow>=2.3.0", "pyspark" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "apache.sqoop": { "deps": [ "apache-airflow>=2.3.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "arangodb": { "deps": [ "apache-airflow>=2.3.0", "python-arango>=7.3.2" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "asana": { "deps": [ "apache-airflow>=2.3.0", "asana>=0.10" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "atlassian.jira": { "deps": [ "JIRA>1.0.7", "apache-airflow>=2.3.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "celery": { "deps": [ @@ -179,14 +201,16 @@ "celery>=5.2.3,<6", "flower>=1.0.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "cloudant": { "deps": [ "apache-airflow>=2.3.0", "cloudant>=2.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "cncf.kubernetes": { "deps": [ @@ -194,13 +218,15 @@ "cryptography>=2.0.0", "kubernetes>=21.7.0,<24" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "common.sql": { "deps": [ "sqlparse>=0.4.2" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "databricks": { "deps": [ @@ -212,6 +238,9 @@ ], "cross-providers-deps": [ "common.sql" + ], + "excluded-python-versions": [ + "3.11" ] }, "datadog": { @@ -219,7 +248,8 @@ "apache-airflow>=2.3.0", "datadog>=0.14.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "dbt.cloud": { "deps": [ @@ -228,7 +258,8 @@ ], "cross-providers-deps": [ "http" - ] + ], + "excluded-python-versions": [] }, "dingding": { "deps": [ @@ -237,7 +268,8 @@ ], "cross-providers-deps": [ "http" - ] + ], + "excluded-python-versions": [] }, "discord": { "deps": [ @@ -246,7 +278,8 @@ ], "cross-providers-deps": [ "http" - ] + ], + "excluded-python-versions": [] }, "docker": { "deps": [ @@ -254,7 +287,8 @@ "docker>=5.0.3", "python-dotenv>=0.21.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "elasticsearch": { "deps": [ @@ -266,7 +300,8 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "exasol": { "deps": [ @@ -277,25 +312,29 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "facebook": { "deps": [ "apache-airflow>=2.3.0", "facebook-business>=6.0.2" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "ftp": { "deps": [], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "github": { "deps": [ "apache-airflow>=2.3.0", "pygithub" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "google": { "deps": [ @@ -370,6 +409,9 @@ "sftp", "ssh", "trino" + ], + "excluded-python-versions": [ + "3.11" ] }, "grpc": { @@ -379,7 +421,8 @@ "google-auth>=1.0.0, <3.0.0", "grpcio>=1.15.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "hashicorp": { "deps": [ @@ -388,18 +431,21 @@ ], "cross-providers-deps": [ "google" - ] + ], + "excluded-python-versions": [] }, "http": { "deps": [ "requests>=2.26.0", "requests_toolbelt" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "imap": { "deps": [], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "influxdb": { "deps": [ @@ -407,7 +453,8 @@ "influxdb-client>=1.19.0", "requests>=2.26.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "jdbc": { "deps": [ @@ -417,14 +464,16 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "jenkins": { "deps": [ "apache-airflow>=2.3.0", "python-jenkins>=1.0.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "microsoft.azure": { "deps": [ @@ -450,7 +499,8 @@ "google", "oracle", "sftp" - ] + ], + "excluded-python-versions": [] }, "microsoft.mssql": { "deps": [ @@ -460,20 +510,23 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "microsoft.psrp": { "deps": [ "pypsrp>=0.8.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "microsoft.winrm": { "deps": [ "apache-airflow>=2.3.0", "pywinrm>=0.4" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "mongo": { "deps": [ @@ -481,7 +534,8 @@ "dnspython>=1.13.0", "pymongo>=3.6.0,<4.0.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "mysql": { "deps": [ @@ -496,14 +550,16 @@ "presto", "trino", "vertica" - ] + ], + "excluded-python-versions": [] }, "neo4j": { "deps": [ "apache-airflow>=2.3.0", "neo4j>=4.2.1" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "odbc": { "deps": [ @@ -513,20 +569,23 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "openfaas": { "deps": [ "apache-airflow>=2.3.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "opsgenie": { "deps": [ "apache-airflow>=2.3.0", "opsgenie-sdk>=2.1.5" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "oracle": { "deps": [ @@ -536,14 +595,16 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "pagerduty": { "deps": [ "apache-airflow>=2.3.0", "pdpyras>=4.1.2" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "papermill": { "deps": [ @@ -551,14 +612,18 @@ "papermill[all]>=1.2.1", "scrapbook[all]" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [ + "3.11" + ] }, "plexus": { "deps": [ "apache-airflow>=2.3.0", "arrow>=0.16.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "postgres": { "deps": [ @@ -569,7 +634,8 @@ "cross-providers-deps": [ "amazon", "common.sql" - ] + ], + "excluded-python-versions": [] }, "presto": { "deps": [ @@ -581,7 +647,8 @@ "cross-providers-deps": [ "common.sql", "google" - ] + ], + "excluded-python-versions": [] }, "qubole": { "deps": [ @@ -591,14 +658,16 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "redis": { "deps": [ "apache-airflow>=2.3.0", "redis~=3.2" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "salesforce": { "deps": [ @@ -606,28 +675,32 @@ "pandas>=0.17.1", "simple-salesforce>=1.0.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "samba": { "deps": [ "apache-airflow>=2.3.0", "smbprotocol>=1.5.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "segment": { "deps": [ "analytics-python>=1.2.9", "apache-airflow>=2.3.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "sendgrid": { "deps": [ "apache-airflow>=2.3.0", "sendgrid>=6.0.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "sftp": { "deps": [ @@ -636,14 +709,16 @@ ], "cross-providers-deps": [ "ssh" - ] + ], + "excluded-python-versions": [] }, "singularity": { "deps": [ "apache-airflow>=2.3.0", "spython>=0.0.56" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "slack": { "deps": [ @@ -653,7 +728,8 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "snowflake": { "deps": [ @@ -665,6 +741,9 @@ "cross-providers-deps": [ "common.sql", "slack" + ], + "excluded-python-versions": [ + "3.11" ] }, "sqlite": { @@ -673,7 +752,8 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "ssh": { "deps": [ @@ -681,27 +761,31 @@ "paramiko>=2.6.0", "sshtunnel>=0.3.2" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "tableau": { "deps": [ "apache-airflow>=2.3.0", "tableauserverclient" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "tabular": { "deps": [ "apache-airflow>=2.3.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "telegram": { "deps": [ "apache-airflow>=2.3.0", "python-telegram-bot>=13.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "trino": { "deps": [ @@ -713,7 +797,8 @@ "cross-providers-deps": [ "common.sql", "google" - ] + ], + "excluded-python-versions": [] }, "vertica": { "deps": [ @@ -723,20 +808,23 @@ ], "cross-providers-deps": [ "common.sql" - ] + ], + "excluded-python-versions": [] }, "yandex": { "deps": [ "apache-airflow>=2.3.0", "yandexcloud>=0.173.0" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] }, "zendesk": { "deps": [ "apache-airflow>=2.3.0", "zenpy>=2.0.24" ], - "cross-providers-deps": [] + "cross-providers-deps": [], + "excluded-python-versions": [] } } diff --git a/images/breeze/output-commands-hash.txt b/images/breeze/output-commands-hash.txt index a538cf7cd3dfb..21e03dbc844bf 100644 --- a/images/breeze/output-commands-hash.txt +++ b/images/breeze/output-commands-hash.txt @@ -1,58 +1,58 @@ # This file is automatically generated by pre-commit. If you have a conflict with this file # Please do not solve it but run `breeze setup regenerate-command-images`. # This command should fix the conflict and regenerate help images that you have conflict with. -main:11fedd2637e0e3b31936c4f015ab0d19 +main:604c1a6a7f921ff30fef902cf1d50753 build-docs:80555245ea1142991ce1d63c3bf8ce74 -ci:find-newer-dependencies:8fa2b57f5f0523c928743b235ee3ab5a +ci:find-newer-dependencies:0c29a13f4f2bbccbd72d946f94eaa20a ci:fix-ownership:fee2c9ec9ef19686792002ae054fecdd ci:free-space:47234aa0a60b0efd84972e6e797379f8 ci:get-workflow-info:01ee34c33ad62fa5dc33e0ac8773223f ci:resource-check:1d4fe47dff9fc64ac1648ec4beb2d85c ci:selective-check:3a085894f24cb909812fbc8253a21e13 -ci:9884bf4cef3e70270068de89b9d5df2f -ci-image:build:f8d0fafe7246ca7ac412df8c520908a3 -ci-image:pull:8d67d5ff546d99178497d50e38f5eb22 -ci-image:verify:aee88f55e8837028d19316356e29b009 -ci-image:6ea662b02888efd868fa919c2c704cd1 +ci:a53234d5f0136a65ef28b615f2441fca +ci-image:build:164bab596764dd771e10c3f9e977a6d6 +ci-image:pull:e8ff9e7c03a0e416009ab678c08d1f63 +ci-image:verify:3c2588eddc2bef7dd14c142a1f56a56f +ci-image:9911ea9341288aa1a16d1d4df235c7cd cleanup:231de69d5f47ba29c883164e4575e310 compile-www-assets:c8a8c4f002f7246d0541897fc7c70313 exec:42bbd3c1659128b0341ae118c3482da2 -k8s:build-k8s-image:bf48ee8742757dc19a4c3fad23f060a7 -k8s:configure-cluster:2511ff9b7f8144c62020e576d007bb27 -k8s:create-cluster:cf44f74689af2e9fc3ded22aff70ddbe -k8s:delete-cluster:1ea75ed6255f5593f2e9e8a4cd9e3966 -k8s:deploy-airflow:12f990fb3902a4a39cf1da32d16b5b08 -k8s:k9s:c8e0cb507254452274736497e14907ca -k8s:logs:c2653e7b6513cddf89e504ba914812aa -k8s:run-complete-tests:fcbf13c4aeae0917fa62a472d92c988b +k8s:build-k8s-image:7ef9f8d1fa725b7d6dc7daad72d66825 +k8s:configure-cluster:301d80e97c5acc689cf418a0094bdc8b +k8s:create-cluster:3e4c19087bf4097e9cab57062f3d15ce +k8s:delete-cluster:642fa39c8a3f3f87b2ed1400ed093810 +k8s:deploy-airflow:5c0c2e6ecc785e7217b850ab4571c626 +k8s:k9s:9555a92897de4639c2eafe4432061b58 +k8s:logs:82bcd4052d376dda8b47152219cd72d3 +k8s:run-complete-tests:966c97ea956d1508baaf1533f32833f2 k8s:setup-env:b0ea72ef1819f831b1f80e8bd4d299ce -k8s:shell:04edcaac0cb81b0874a11a9980ba9b73 -k8s:status:073a4c11201661c3036bfa27d7f48dfb -k8s:tests:87bd9466bcb79309ebfc3c18d379b217 -k8s:upload-k8s-image:e4694f40678ef9fb07f9abe6e76bc632 -k8s:456db86a3571397c44f9647d3c06864a -prod-image:build:f5b0b26658c6730ae5df95cadc8026ac -prod-image:pull:e3c89dd908fc44adf6e159c2950ebdd0 -prod-image:verify:31bc5efada1d70a0a31990025db1a093 -prod-image:4f98deab35e53ebddbdc9950a50555a4 -release-management:generate-constraints:ae30d6ad49a1b2c15b61cb29080fd957 +k8s:shell:030e58706cae6b10ac16a4f945fc2492 +k8s:status:a5e31ed11bd44758f0a50d4c0c723e6d +k8s:tests:4be00226120b53cac7e72f21d016aa80 +k8s:upload-k8s-image:3d28742083e95eca6a6501d695273a35 +k8s:51a5852132ed35fa277da98278ddc54d +prod-image:build:45d560362e2845d78c7ab9d91b2ea888 +prod-image:pull:722a843b29ca251aed1a5e001cf48db2 +prod-image:verify:4edd26d1126761777e934eae2b8d57dd +prod-image:ad73c66d22b6c5d36670028e15f57098 +release-management:generate-constraints:0c8e5c1b57b486724760d4afdfd571f7 release-management:prepare-airflow-package:3ac14ea6d2b09614959c0ec4fd564789 release-management:prepare-provider-documentation:3fe5ead9887c518d1b397d1103dc0025 release-management:prepare-provider-packages:40144cb01afc56f6a4f92d9e117e546e -release-management:release-prod-images:c9bc40938e0efad49e51ef66e83f9527 +release-management:release-prod-images:dff5d068a253dcc3ac1e65a6af150e3d release-management:verify-provider-packages:88bd609aff6d09d52ab8d80d6e055e7b -release-management:82eaa53824d5e9231ccadbc73042bed2 +release-management:0e3e4427fc499b863ecd0c80053f40b9 setup:autocomplete:03343478bf1d0cf9c101d454cdb63b68 -setup:config:3ffcd35dd24b486ddf1d08b797e3d017 +setup:config:584023d1d225879a5d19e347fe9db1d3 setup:regenerate-command-images:20016a5ea492f214692c4b57c4fa9c06 setup:self-upgrade:d02f70c7a230eae3463ceec2056b63fa setup:version:123b462a421884dc2320ffc5e54b2478 -setup:a3bd246c3a425f3e586d11bbdc8937cb -shell:51149096ed3fb28d2a01e0a5ad0146ef -start-airflow:4bec5d26386dc268ec2de2f637c85272 +setup:2a5b3f89f82cba690824cc7d27a60717 +shell:07d96e9ae1de8a6e03f70fcd95a7f9c7 +start-airflow:1d665e234667a1964831f390aa505652 static-checks:61c8d96ffe3008bff89a9df39b423be2 stop:8969537ccdd799f692ccb8600a7bbed6 -testing:docker-compose-tests:b86c044b24138af0659a05ed6331576c +testing:docker-compose-tests:bc57e17e2783a4571ded1c93f27c6315 testing:helm-tests:94a442e7f3f63b34c4831a84d165690a -testing:tests:6f6b7f18cde20255fe988f3a26f340cf -testing:2a93cd42229622d0eaa445c96fd1246d +testing:tests:898dd2f30c2a2d78200049270dbe9c77 +testing:f101ceb6217f22758fab6d5998cad7ca diff --git a/images/breeze/output-commands.svg b/images/breeze/output-commands.svg index e55274eb0cf22..46ec91df9de25 100644 --- a/images/breeze/output-commands.svg +++ b/images/breeze/output-commands.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Breeze commands + Breeze commands - + - - -Usage: breeze [OPTIONSCOMMAND [ARGS]... - -╭─ Basic flags ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] ---postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] ---mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] ---mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] ---integrationIntegration(s) to enable when running (can be more than one).                             -(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino |    -all)                                                                                      ---forward-credentials-fForward local credentials to container when running. ---db-reset-dReset DB when entering the container. ---max-timeMaximum time that the command should take - if it takes longer, the command will fail. -(INTEGER RANGE)                                                                        ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Basic developer commands ───────────────────────────────────────────────────────────────────────────────────────────╮ -start-airflow     Enter breeze environment and starts all Airflow components in the tmux session. Compile assets   -if contents of www directory changed.                                                            -static-checks     Run static checks.                                                                               -build-docs        Build documentation in the container.                                                            -stop              Stop running breeze environment.                                                                 -shell             Enter breeze environment. this is the default command use when no other is selected.             -exec              Joins the interactive shell of running airflow container.                                        -compile-www-assetsCompiles www assets.                                                                             -cleanup           Cleans the cache of parameters, docker cache and optionally built CI/PROD images.                -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Advanced command groups ────────────────────────────────────────────────────────────────────────────────────────────╮ -testing                Tools that developers can use to run tests                                                  -ci-image               Tools that developers can use to manually manage CI images                                  -k8s                    Tools that developers use to run Kubernetes tests                                           -prod-image             Tools that developers can use to manually manage PROD images                                -setup                  Tools that developers can use to configure Breeze                                           -release-management     Tools that release managers can use to prepare and manage Airflow releases                  -ci                     Tools that CI workflows use to cleanup/manage CI environment                                -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze [OPTIONS] COMMAND [ARGS]... + +╭─ Basic flags ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] +--postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] +--mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] +--mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] +--integrationIntegration(s) to enable when running (can be more than one).                             +(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino |    +all)                                                                                      +--forward-credentials-fForward local credentials to container when running. +--db-reset-dReset DB when entering the container. +--max-timeMaximum time that the command should take - if it takes longer, the command will fail. +(INTEGER RANGE)                                                                        +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Basic developer commands ───────────────────────────────────────────────────────────────────────────────────────────╮ +start-airflow     Enter breeze environment and starts all Airflow components in the tmux session. Compile assets   +if contents of www directory changed.                                                            +static-checks     Run static checks.                                                                               +build-docs        Build documentation in the container.                                                            +stop              Stop running breeze environment.                                                                 +shell             Enter breeze environment. this is the default command use when no other is selected.             +exec              Joins the interactive shell of running airflow container.                                        +compile-www-assetsCompiles www assets.                                                                             +cleanup           Cleans the cache of parameters, docker cache and optionally built CI/PROD images.                +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Advanced command groups ────────────────────────────────────────────────────────────────────────────────────────────╮ +testing                Tools that developers can use to run tests                                                  +ci-image               Tools that developers can use to manually manage CI images                                  +k8s                    Tools that developers use to run Kubernetes tests                                           +prod-image             Tools that developers can use to manually manage PROD images                                +setup                  Tools that developers can use to configure Breeze                                           +release-management     Tools that release managers can use to prepare and manage Airflow releases                  +ci                     Tools that CI workflows use to cleanup/manage CI environment                                +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci-image_build.svg b/images/breeze/output_ci-image_build.svg index 35fe9baf8d0cb..c3b32bbcc72a5 100644 --- a/images/breeze/output_ci-image_build.svg +++ b/images/breeze/output_ci-image_build.svg @@ -19,313 +19,313 @@ font-weight: 700; } - .terminal-244365601-matrix { + .terminal-2740500995-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-244365601-title { + .terminal-2740500995-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-244365601-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-244365601-r2 { fill: #c5c8c6 } -.terminal-244365601-r3 { fill: #d0b344;font-weight: bold } -.terminal-244365601-r4 { fill: #868887 } -.terminal-244365601-r5 { fill: #68a0b3;font-weight: bold } -.terminal-244365601-r6 { fill: #98a84b;font-weight: bold } -.terminal-244365601-r7 { fill: #8d7b39 } + .terminal-2740500995-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-2740500995-r2 { fill: #c5c8c6 } +.terminal-2740500995-r3 { fill: #d0b344;font-weight: bold } +.terminal-2740500995-r4 { fill: #868887 } +.terminal-2740500995-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2740500995-r6 { fill: #98a84b;font-weight: bold } +.terminal-2740500995-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: ci-image build + Command: ci-image build - + - - -Usage: breeze ci-image build [OPTIONS] - -Build CI image. Include building multiple images for all python versions. - -╭─ Basic usage ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---upgrade-to-newer-dependencies-uWhen set, upgrade all PIP packages to latest. ---upgrade-on-failureWhen set, attempt to run upgrade to newer dependencies when regular build       -fails.                                                                          ---image-tag-tTag the image after building it.(TEXT)[default: latest] ---tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful -when you build or pull image with --image-tag.                                  ---docker-cache-cCache option for image used during the build.(registry | local | disabled) -[default: registry]                           ---force-buildForce image build no matter if it is determined as needed. ---github-repository-gGitHub repository used to pull, push run images.(TEXT) -[default: apache/airflow]                        -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Building images in parallel ────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Advanced options (for power users) ─────────────────────────────────────────────────────────────────────────────────╮ ---builderBuildx builder used to perform `docker buildx build` commands.(TEXT) ---install-providers-from-sourcesInstall providers from sources when installing. ---airflow-constraints-modeMode of constraints for CI image building.                              -(constraints-source-providers | constraints | constraints-no-providers) -[default: constraints-source-providers]                                 ---airflow-constraints-referenceConstraint reference to use when building the image.(TEXT) ---python-imageIf specified this is the base python image used to build the image. Should be    -something like: python:VERSION-slim-bullseye.                                    -(TEXT)                                                                           ---additional-python-depsAdditional python dependencies to use when building the images.(TEXT) ---additional-extrasAdditional extra package while installing Airflow in the image.(TEXT) ---additional-pip-install-flagsAdditional flags added to `pip install` commands (except reinstalling `pip`      -itself).                                                                         -(TEXT)                                                                           ---additional-dev-apt-depsAdditional apt dev dependencies to use when building the images.(TEXT) ---additional-dev-apt-envAdditional environment variables set when adding dev dependencies.(TEXT) ---additional-dev-apt-commandAdditional command executed before dev apt deps are installed.(TEXT) ---dev-apt-depsApt dev dependencies to use when building the images.(TEXT) ---dev-apt-commandCommand executed before dev apt deps are installed.(TEXT) -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Preparing cache and push (for maintainers and CI) ──────────────────────────────────────────────────────────────────╮ ---github-tokenThe token used to authenticate to GitHub.(TEXT) ---github-usernameThe user name used to authenticate to GitHub.(TEXT) ---platformPlatform for Airflow image.(linux/amd64 | linux/arm64 | linux/amd64,linux/arm64) ---pushPush image after building it. ---empty-imagePrepare empty image tagged with the same name as the Airflow image. ---prepare-buildx-cachePrepares build cache (this is done as separate per-platform steps instead of building the  -image).                                                                                    -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze ci-image build [OPTIONS] + +Build CI image. Include building multiple images for all python versions. + +╭─ Basic usage ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--upgrade-to-newer-dependencies-uWhen set, upgrade all PIP packages to latest. +--upgrade-on-failureWhen set, attempt to run upgrade to newer dependencies when regular build       +fails.                                                                          +--image-tag-tTag the image after building it.(TEXT)[default: latest] +--tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful +when you build or pull image with --image-tag.                                  +--docker-cache-cCache option for image used during the build.(registry | local | disabled) +[default: registry]                           +--force-buildForce image build no matter if it is determined as needed. +--github-repository-gGitHub repository used to pull, push run images.(TEXT) +[default: apache/airflow]                        +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Building images in parallel ────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Advanced options (for power users) ─────────────────────────────────────────────────────────────────────────────────╮ +--builderBuildx builder used to perform `docker buildx build` commands.(TEXT) +--install-providers-from-sourcesInstall providers from sources when installing. +--airflow-constraints-modeMode of constraints for CI image building.                              +(constraints-source-providers | constraints | constraints-no-providers) +[default: constraints-source-providers]                                 +--airflow-constraints-referenceConstraint reference to use when building the image.(TEXT) +--python-imageIf specified this is the base python image used to build the image. Should be    +something like: python:VERSION-slim-bullseye.                                    +(TEXT)                                                                           +--additional-python-depsAdditional python dependencies to use when building the images.(TEXT) +--additional-extrasAdditional extra package while installing Airflow in the image.(TEXT) +--additional-pip-install-flagsAdditional flags added to `pip install` commands (except reinstalling `pip`      +itself).                                                                         +(TEXT)                                                                           +--additional-dev-apt-depsAdditional apt dev dependencies to use when building the images.(TEXT) +--additional-dev-apt-envAdditional environment variables set when adding dev dependencies.(TEXT) +--additional-dev-apt-commandAdditional command executed before dev apt deps are installed.(TEXT) +--dev-apt-depsApt dev dependencies to use when building the images.(TEXT) +--dev-apt-commandCommand executed before dev apt deps are installed.(TEXT) +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Preparing cache and push (for maintainers and CI) ──────────────────────────────────────────────────────────────────╮ +--github-tokenThe token used to authenticate to GitHub.(TEXT) +--github-usernameThe user name used to authenticate to GitHub.(TEXT) +--platformPlatform for Airflow image.(linux/amd64 | linux/arm64 | linux/amd64,linux/arm64) +--pushPush image after building it. +--empty-imagePrepare empty image tagged with the same name as the Airflow image. +--prepare-buildx-cachePrepares build cache (this is done as separate per-platform steps instead of building the  +image).                                                                                    +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci-image_pull.svg b/images/breeze/output_ci-image_pull.svg index 0474ae1195dcc..9055e2e05c923 100644 --- a/images/breeze/output_ci-image_pull.svg +++ b/images/breeze/output_ci-image_pull.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: ci-image pull + Command: ci-image pull - + - - -Usage: breeze ci-image pull [OPTIONS] [EXTRA_PYTEST_ARGS]... - -Pull and optionally verify CI images - possibly in parallel for all Python versions. - -╭─ Pull image flags ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---image-tag-tTag of the image which is used to pull the image.(TEXT)[default: latest] ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---github-tokenThe token used to authenticate to GitHub.(TEXT) ---verifyVerify image. ---wait-for-imageWait until image is available. ---tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful when you    -build or pull image with --image-tag.                                                       ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel running ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze ci-image pull [OPTIONS] [EXTRA_PYTEST_ARGS]... + +Pull and optionally verify CI images - possibly in parallel for all Python versions. + +╭─ Pull image flags ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--image-tag-tTag of the image which is used to pull the image.(TEXT)[default: latest] +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--github-tokenThe token used to authenticate to GitHub.(TEXT) +--verifyVerify image. +--wait-for-imageWait until image is available. +--tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful when you    +build or pull image with --image-tag.                                                       +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel running ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci-image_verify.svg b/images/breeze/output_ci-image_verify.svg index 00945e992b3e5..a437f38b8b34b 100644 --- a/images/breeze/output_ci-image_verify.svg +++ b/images/breeze/output_ci-image_verify.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: ci-image verify + Command: ci-image verify - + - - -Usage: breeze ci-image verify [OPTIONS] [EXTRA_PYTEST_ARGS]... - -Verify CI image. - -╭─ Verify image flags ─────────────────────────────────────────────────────────────────────────────────────────────────╮ ---image-name-nName of the image to verify (overrides --python and --image-tag).(TEXT) ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---image-tag-tTag of the image when verifying it.(TEXT)[default: latest] ---pullPull image is missing before attempting to verify it. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze ci-image verify [OPTIONS] [EXTRA_PYTEST_ARGS]... + +Verify CI image. + +╭─ Verify image flags ─────────────────────────────────────────────────────────────────────────────────────────────────╮ +--image-name-nName of the image to verify (overrides --python and --image-tag).(TEXT) +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--image-tag-tTag of the image when verifying it.(TEXT)[default: latest] +--pullPull image is missing before attempting to verify it. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci_find-newer-dependencies.svg b/images/breeze/output_ci_find-newer-dependencies.svg index 95bba2a0b9b54..765ef65b198e6 100644 --- a/images/breeze/output_ci_find-newer-dependencies.svg +++ b/images/breeze/output_ci_find-newer-dependencies.svg @@ -19,121 +19,121 @@ font-weight: 700; } - .terminal-1646402681-matrix { + .terminal-3800571160-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1646402681-title { + .terminal-3800571160-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1646402681-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-1646402681-r2 { fill: #c5c8c6 } -.terminal-1646402681-r3 { fill: #d0b344;font-weight: bold } -.terminal-1646402681-r4 { fill: #868887 } -.terminal-1646402681-r5 { fill: #68a0b3;font-weight: bold } -.terminal-1646402681-r6 { fill: #98a84b;font-weight: bold } -.terminal-1646402681-r7 { fill: #8d7b39 } + .terminal-3800571160-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-3800571160-r2 { fill: #c5c8c6 } +.terminal-3800571160-r3 { fill: #d0b344;font-weight: bold } +.terminal-3800571160-r4 { fill: #868887 } +.terminal-3800571160-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3800571160-r6 { fill: #98a84b;font-weight: bold } +.terminal-3800571160-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: ci find-newer-dependencies + Command: ci find-newer-dependencies - + - - -Usage: breeze ci find-newer-dependencies [OPTIONS] - -Finds which dependencies are being upgraded. - -╭─ Find newer dependencies flags ──────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---timezoneTimezone to use during the check.(TEXT) ---airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     -specify constraints for the installed version and to find newer dependencies    -(TEXT)                                                                          ---updated-on-or-afterDate when the release was updated after.(TEXT) ---max-ageMax age of the last release (used if no updated-on-or-after if specified). -(INTEGER)                                                                  -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze ci find-newer-dependencies [OPTIONS] + +Finds which dependencies are being upgraded. + +╭─ Find newer dependencies flags ──────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--timezoneTimezone to use during the check.(TEXT) +--airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     +specify constraints for the installed version and to find newer dependencies    +(TEXT)                                                                          +--updated-on-or-afterDate when the release was updated after.(TEXT) +--max-ageMax age of the last release (used if no updated-on-or-after if specified). +(INTEGER)                                                                  +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci_fix-ownership.svg b/images/breeze/output_ci_fix-ownership.svg index 4b6b67df2f1f5..8947badc1e3fb 100644 --- a/images/breeze/output_ci_fix-ownership.svg +++ b/images/breeze/output_ci_fix-ownership.svg @@ -35,8 +35,8 @@ .terminal-530343897-r1 { fill: #c5c8c6;font-weight: bold } .terminal-530343897-r2 { fill: #c5c8c6 } .terminal-530343897-r3 { fill: #d0b344;font-weight: bold } -.terminal-530343897-r4 { fill: #868887 } -.terminal-530343897-r5 { fill: #68a0b3;font-weight: bold } +.terminal-530343897-r4 { fill: #68a0b3;font-weight: bold } +.terminal-530343897-r5 { fill: #868887 } .terminal-530343897-r6 { fill: #98a84b;font-weight: bold } @@ -93,18 +93,18 @@ -Usage: breeze ci fix-ownership [OPTIONS] +Usage: breeze ci fix-ownership [OPTIONS] Fix ownership of source files to be same as host user. -╭─ Fix ownership flags ────────────────────────────────────────────────────────────────────────────────────────────────╮ ---use-sudoUse sudo instead of docker image to fix the ownership. You need to be a `sudoer` to run it -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Fix ownership flags ────────────────────────────────────────────────────────────────────────────────────────────────╮ +--use-sudoUse sudo instead of docker image to fix the ownership. You need to be a `sudoer` to run it +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci_free-space.svg b/images/breeze/output_ci_free-space.svg index d6337eaac8f8d..ad5267321dba9 100644 --- a/images/breeze/output_ci_free-space.svg +++ b/images/breeze/output_ci_free-space.svg @@ -35,8 +35,8 @@ .terminal-2980552758-r1 { fill: #c5c8c6;font-weight: bold } .terminal-2980552758-r2 { fill: #c5c8c6 } .terminal-2980552758-r3 { fill: #d0b344;font-weight: bold } -.terminal-2980552758-r4 { fill: #868887 } -.terminal-2980552758-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2980552758-r4 { fill: #68a0b3;font-weight: bold } +.terminal-2980552758-r5 { fill: #868887 } .terminal-2980552758-r6 { fill: #98a84b;font-weight: bold } .terminal-2980552758-r7 { fill: #8d7b39 } @@ -88,16 +88,16 @@ -Usage: breeze ci free-space [OPTIONS] +Usage: breeze ci free-space [OPTIONS] -Free space for jobs run in CI. +Free space for jobs run in CI. -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci_resource-check.svg b/images/breeze/output_ci_resource-check.svg index 2f4c13a6bbc2e..c6ea26764e877 100644 --- a/images/breeze/output_ci_resource-check.svg +++ b/images/breeze/output_ci_resource-check.svg @@ -35,8 +35,8 @@ .terminal-481855223-r1 { fill: #c5c8c6;font-weight: bold } .terminal-481855223-r2 { fill: #c5c8c6 } .terminal-481855223-r3 { fill: #d0b344;font-weight: bold } -.terminal-481855223-r4 { fill: #868887 } -.terminal-481855223-r5 { fill: #68a0b3;font-weight: bold } +.terminal-481855223-r4 { fill: #68a0b3;font-weight: bold } +.terminal-481855223-r5 { fill: #868887 } .terminal-481855223-r6 { fill: #98a84b;font-weight: bold } @@ -84,15 +84,15 @@ -Usage: breeze ci resource-check [OPTIONS] +Usage: breeze ci resource-check [OPTIONS] Check if available docker resources are enough. -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_ci_selective-check.svg b/images/breeze/output_ci_selective-check.svg index 2f117e63d068f..23d4d7c8050b0 100644 --- a/images/breeze/output_ci_selective-check.svg +++ b/images/breeze/output_ci_selective-check.svg @@ -35,8 +35,8 @@ .terminal-2396090381-r1 { fill: #c5c8c6;font-weight: bold } .terminal-2396090381-r2 { fill: #c5c8c6 } .terminal-2396090381-r3 { fill: #d0b344;font-weight: bold } -.terminal-2396090381-r4 { fill: #868887 } -.terminal-2396090381-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2396090381-r4 { fill: #68a0b3;font-weight: bold } +.terminal-2396090381-r5 { fill: #868887 } .terminal-2396090381-r6 { fill: #8d7b39 } .terminal-2396090381-r7 { fill: #98a84b;font-weight: bold } @@ -118,26 +118,26 @@ -Usage: breeze ci selective-check [OPTIONS] +Usage: breeze ci selective-check [OPTIONS] Checks what kind of tests should be run for an incoming commit. -╭─ Selective check flags ──────────────────────────────────────────────────────────────────────────────────────────────╮ ---commit-refCommit-ish reference to the commit that should be checked(TEXT) ---pr-labelsPython array formatted PR labels assigned to the PR(TEXT) ---default-branchBranch against which the PR should be run(TEXT)[default: main] ---default-constraints-branchConstraints Branch against which the PR should be run(TEXT) -[default: constraints-main]                           ---github-event-nameName of the GitHub event that triggered the check                                    -(pull_request | pull_request_review | pull_request_target | pull_request_workflow |  -push | schedule | workflow_dispatch | workflow_run)                                  -[default: pull_request]                                                              -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Selective check flags ──────────────────────────────────────────────────────────────────────────────────────────────╮ +--commit-refCommit-ish reference to the commit that should be checked(TEXT) +--pr-labelsPython array formatted PR labels assigned to the PR(TEXT) +--default-branchBranch against which the PR should be run(TEXT)[default: main] +--default-constraints-branchConstraints Branch against which the PR should be run(TEXT) +[default: constraints-main]                           +--github-event-nameName of the GitHub event that triggered the check                                    +(pull_request | pull_request_review | pull_request_target | pull_request_workflow |  +push | schedule | workflow_dispatch | workflow_run)                                  +[default: pull_request]                                                              +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_cleanup.svg b/images/breeze/output_cleanup.svg index e6bfc347cf67a..557a70c7c14ff 100644 --- a/images/breeze/output_cleanup.svg +++ b/images/breeze/output_cleanup.svg @@ -35,8 +35,8 @@ .terminal-3676080220-r1 { fill: #c5c8c6;font-weight: bold } .terminal-3676080220-r2 { fill: #c5c8c6 } .terminal-3676080220-r3 { fill: #d0b344;font-weight: bold } -.terminal-3676080220-r4 { fill: #868887 } -.terminal-3676080220-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3676080220-r4 { fill: #68a0b3;font-weight: bold } +.terminal-3676080220-r5 { fill: #868887 } .terminal-3676080220-r6 { fill: #98a84b;font-weight: bold } .terminal-3676080220-r7 { fill: #8d7b39 } @@ -97,19 +97,19 @@ -Usage: breeze cleanup [OPTIONS] +Usage: breeze cleanup [OPTIONS] -Cleans the cache of parameters, docker cache and optionally built CI/PROD images. +Cleans the cache of parameters, docker cache and optionally built CI/PROD images. -╭─ Cleanup flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---allAlso remove currently downloaded Breeze images. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Cleanup flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--allAlso remove currently downloaded Breeze images. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_compile-www-assets.svg b/images/breeze/output_compile-www-assets.svg index 26ba96de9c537..110827f6fde1c 100644 --- a/images/breeze/output_compile-www-assets.svg +++ b/images/breeze/output_compile-www-assets.svg @@ -35,8 +35,8 @@ .terminal-3087694031-r1 { fill: #c5c8c6;font-weight: bold } .terminal-3087694031-r2 { fill: #c5c8c6 } .terminal-3087694031-r3 { fill: #d0b344;font-weight: bold } -.terminal-3087694031-r4 { fill: #868887 } -.terminal-3087694031-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3087694031-r4 { fill: #68a0b3;font-weight: bold } +.terminal-3087694031-r5 { fill: #868887 } .terminal-3087694031-r6 { fill: #98a84b;font-weight: bold } @@ -96,19 +96,19 @@ -Usage: breeze compile-www-assets [OPTIONS] +Usage: breeze compile-www-assets [OPTIONS] Compiles www assets. -╭─ Compile www assets flag ────────────────────────────────────────────────────────────────────────────────────────────╮ ---devRun development version of assets compilation - it will not quit and automatically recompile assets         -on-the-fly when they are changed.                                                                           -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Compile www assets flag ────────────────────────────────────────────────────────────────────────────────────────────╮ +--devRun development version of assets compilation - it will not quit and automatically recompile assets         +on-the-fly when they are changed.                                                                           +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_exec.svg b/images/breeze/output_exec.svg index 2541c71f65db0..a6c11f1c68997 100644 --- a/images/breeze/output_exec.svg +++ b/images/breeze/output_exec.svg @@ -35,8 +35,8 @@ .terminal-1229358110-r1 { fill: #c5c8c6;font-weight: bold } .terminal-1229358110-r2 { fill: #c5c8c6 } .terminal-1229358110-r3 { fill: #d0b344;font-weight: bold } -.terminal-1229358110-r4 { fill: #868887 } -.terminal-1229358110-r5 { fill: #68a0b3;font-weight: bold } +.terminal-1229358110-r4 { fill: #68a0b3;font-weight: bold } +.terminal-1229358110-r5 { fill: #868887 } .terminal-1229358110-r6 { fill: #98a84b;font-weight: bold } @@ -84,15 +84,15 @@ -Usage: breeze exec [OPTIONS] [EXEC_ARGS]... +Usage: breeze exec [OPTIONS] [EXEC_ARGS]... Joins the interactive shell of running airflow container. -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s.svg b/images/breeze/output_k8s.svg index d9e05970f4039..9b6e868d5d48b 100644 --- a/images/breeze/output_k8s.svg +++ b/images/breeze/output_k8s.svg @@ -35,8 +35,8 @@ .terminal-781963109-r1 { fill: #c5c8c6;font-weight: bold } .terminal-781963109-r2 { fill: #c5c8c6 } .terminal-781963109-r3 { fill: #d0b344;font-weight: bold } -.terminal-781963109-r4 { fill: #68a0b3;font-weight: bold } -.terminal-781963109-r5 { fill: #868887 } +.terminal-781963109-r4 { fill: #868887 } +.terminal-781963109-r5 { fill: #68a0b3;font-weight: bold } .terminal-781963109-r6 { fill: #98a84b;font-weight: bold } @@ -147,36 +147,36 @@ -Usage: breeze k8s [OPTIONSCOMMAND [ARGS]... +Usage: breeze k8s [OPTIONS] COMMAND [ARGS]... Tools that developers use to run Kubernetes tests -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ K8S cluster management commands ────────────────────────────────────────────────────────────────────────────────────╮ -setup-env        Setup shared Kubernetes virtual environment and tools.                                            -create-cluster   Create a KinD Cluster for Python and Kubernetes version specified (optionally create all clusters -in parallel).                                                                                     -configure-clusterConfigures cluster for airflow deployment - creates namespaces and test resources (optionally for -all clusters in parallel).                                                                        -build-k8s-image  Build k8s-ready airflow image (optionally all images in parallel).                                -upload-k8s-image Upload k8s-ready airflow image to the KinD cluster (optionally to all clusters in parallel)       -deploy-airflow   Deploy airflow image to the current KinD cluster (or all clusters).                               -delete-cluster   Delete the current KinD Cluster (optionally all clusters).                                        -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ K8S inspection commands ────────────────────────────────────────────────────────────────────────────────────────────╮ -status  Check status of the current cluster and airflow deployed to it (optionally all clusters).                  -logs    Dump k8s logs to ${TMP_DIR}/kind_logs_<cluster_name> directory (optionally all clusters).                  -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ K8S testing commands ───────────────────────────────────────────────────────────────────────────────────────────────╮ -tests             Run tests against the current KinD cluster (optionally for all clusters in parallel).            -run-complete-testsRun complete k8s tests consisting of: creating cluster, building and uploading image, deploying  -airflow, running tests and deleting clusters (optionally for all clusters in parallel).          -shell             Run shell environment for the current KinD cluster.                                              -k9s               Run k9s tool. You can pass any k9s args as extra args.                                           -logs              Dump k8s logs to ${TMP_DIR}/kind_logs_<cluster_name> directory (optionally all clusters).        -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ K8S cluster management commands ────────────────────────────────────────────────────────────────────────────────────╮ +setup-env        Setup shared Kubernetes virtual environment and tools.                                            +create-cluster   Create a KinD Cluster for Python and Kubernetes version specified (optionally create all clusters +in parallel).                                                                                     +configure-clusterConfigures cluster for airflow deployment - creates namespaces and test resources (optionally for +all clusters in parallel).                                                                        +build-k8s-image  Build k8s-ready airflow image (optionally all images in parallel).                                +upload-k8s-image Upload k8s-ready airflow image to the KinD cluster (optionally to all clusters in parallel)       +deploy-airflow   Deploy airflow image to the current KinD cluster (or all clusters).                               +delete-cluster   Delete the current KinD Cluster (optionally all clusters).                                        +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ K8S inspection commands ────────────────────────────────────────────────────────────────────────────────────────────╮ +status  Check status of the current cluster and airflow deployed to it (optionally all clusters).                  +logs    Dump k8s logs to ${TMP_DIR}/kind_logs_<cluster_name> directory (optionally all clusters).                  +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ K8S testing commands ───────────────────────────────────────────────────────────────────────────────────────────────╮ +tests             Run tests against the current KinD cluster (optionally for all clusters in parallel).            +run-complete-testsRun complete k8s tests consisting of: creating cluster, building and uploading image, deploying  +airflow, running tests and deleting clusters (optionally for all clusters in parallel).          +shell             Run shell environment for the current KinD cluster.                                              +k9s               Run k9s tool. You can pass any k9s args as extra args.                                           +logs              Dump k8s logs to ${TMP_DIR}/kind_logs_<cluster_name> directory (optionally all clusters).        +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_build-k8s-image.svg b/images/breeze/output_k8s_build-k8s-image.svg index d34d962cc977d..7bf22dca23af9 100644 --- a/images/breeze/output_k8s_build-k8s-image.svg +++ b/images/breeze/output_k8s_build-k8s-image.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s build-k8s-image + Command: k8s build-k8s-image - + - - -Usage: breeze k8s build-k8s-image [OPTIONS] - -Build k8s-ready airflow image (optionally all images in parallel). - -╭─ Build image flags ──────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---rebuild-base-imageRebuilds base Airflow image before building K8S image. ---image-tag-tImage tag used to build K8S image from.(TEXT)[default: latest] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s build-k8s-image [OPTIONS] + +Build k8s-ready airflow image (optionally all images in parallel). + +╭─ Build image flags ──────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--rebuild-base-imageRebuilds base Airflow image before building K8S image. +--image-tag-tImage tag used to build K8S image from.(TEXT)[default: latest] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_configure-cluster.svg b/images/breeze/output_k8s_configure-cluster.svg index 5e7c5df363a8e..a889554ca81b6 100644 --- a/images/breeze/output_k8s_configure-cluster.svg +++ b/images/breeze/output_k8s_configure-cluster.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s configure-cluster + Command: k8s configure-cluster - + - - -Usage: breeze k8s configure-cluster [OPTIONS] - -Configures cluster for airflow deployment - creates namespaces and test resources (optionally for all clusters in  -parallel). - -╭─ Configure cluster flags ────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel for cluster  -operations.                                                                             -(INTEGER RANGE)                                                                         -[default: 2; 1<=x<=4]                                                                   ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) -[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s configure-cluster [OPTIONS] + +Configures cluster for airflow deployment - creates namespaces and test resources (optionally for all clusters in  +parallel). + +╭─ Configure cluster flags ────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel for cluster  +operations.                                                                             +(INTEGER RANGE)                                                                         +[default: 2; 1<=x<=4]                                                                   +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) +[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_create-cluster.svg b/images/breeze/output_k8s_create-cluster.svg index 9f435540c44eb..7a219dc4f0f53 100644 --- a/images/breeze/output_k8s_create-cluster.svg +++ b/images/breeze/output_k8s_create-cluster.svg @@ -19,173 +19,173 @@ font-weight: 700; } - .terminal-308107195-matrix { + .terminal-3253295261-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-308107195-title { + .terminal-3253295261-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-308107195-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-308107195-r2 { fill: #c5c8c6 } -.terminal-308107195-r3 { fill: #d0b344;font-weight: bold } -.terminal-308107195-r4 { fill: #68a0b3;font-weight: bold } -.terminal-308107195-r5 { fill: #868887 } -.terminal-308107195-r6 { fill: #98a84b;font-weight: bold } -.terminal-308107195-r7 { fill: #8d7b39 } + .terminal-3253295261-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-3253295261-r2 { fill: #c5c8c6 } +.terminal-3253295261-r3 { fill: #d0b344;font-weight: bold } +.terminal-3253295261-r4 { fill: #868887 } +.terminal-3253295261-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3253295261-r6 { fill: #98a84b;font-weight: bold } +.terminal-3253295261-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: k8s create-cluster + Command: k8s create-cluster - + - - -Usage: breeze k8s create-cluster [OPTIONS] - -Create a KinD Cluster for Python and Kubernetes version specified (optionally create all clusters in parallel). - -╭─ K8S cluster creation flags ─────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---force-recreate-clusterForce recreation of the cluster even if it is already created. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel for cluster  -operations.                                                                             -(INTEGER RANGE)                                                                         -[default: 2; 1<=x<=4]                                                                   ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) -[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s create-cluster [OPTIONS] + +Create a KinD Cluster for Python and Kubernetes version specified (optionally create all clusters in parallel). + +╭─ K8S cluster creation flags ─────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--force-recreate-clusterForce recreation of the cluster even if it is already created. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel for cluster  +operations.                                                                             +(INTEGER RANGE)                                                                         +[default: 2; 1<=x<=4]                                                                   +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) +[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_delete-cluster.svg b/images/breeze/output_k8s_delete-cluster.svg index bbf2b9935f4dc..90c2b24d3e44b 100644 --- a/images/breeze/output_k8s_delete-cluster.svg +++ b/images/breeze/output_k8s_delete-cluster.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s delete-cluster + Command: k8s delete-cluster - + - - -Usage: breeze k8s delete-cluster [OPTIONS] - -Delete the current KinD Cluster (optionally all clusters). - -╭─ K8S cluster delete flags ───────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---allApply it to all created clusters -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s delete-cluster [OPTIONS] + +Delete the current KinD Cluster (optionally all clusters). + +╭─ K8S cluster delete flags ───────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--allApply it to all created clusters +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_deploy-airflow.svg b/images/breeze/output_k8s_deploy-airflow.svg index b84dadd4e705c..d1fb405b20744 100644 --- a/images/breeze/output_k8s_deploy-airflow.svg +++ b/images/breeze/output_k8s_deploy-airflow.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s deploy-airflow + Command: k8s deploy-airflow - + - - -Usage: breeze k8s deploy-airflow [OPTIONS] [EXTRA_OPTIONS]... - -Deploy airflow image to the current KinD cluster (or all clusters). - -╭─ Airflow deploy flags ───────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---executorExecutor to use for a kubernetes cluster.                                          -(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) -[default: KubernetesExecutor]                                                      ---upgradeUpgrade Helm Chart rather than installing it. ---wait-time-in-secondsWait for Airflow webserver for specified number of seconds.(INTEGER RANGE) -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel for cluster  -operations.                                                                             -(INTEGER RANGE)                                                                         -[default: 2; 1<=x<=4]                                                                   ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) -[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s deploy-airflow [OPTIONS] [EXTRA_OPTIONS]... + +Deploy airflow image to the current KinD cluster (or all clusters). + +╭─ Airflow deploy flags ───────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--executorExecutor to use for a kubernetes cluster.                                          +(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) +[default: KubernetesExecutor]                                                      +--upgradeUpgrade Helm Chart rather than installing it. +--wait-time-in-secondsWait for Airflow webserver for specified number of seconds.(INTEGER RANGE) +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel for cluster  +operations.                                                                             +(INTEGER RANGE)                                                                         +[default: 2; 1<=x<=4]                                                                   +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) +[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_k9s.svg b/images/breeze/output_k8s_k9s.svg index 381bb073de25a..3cd03f9558622 100644 --- a/images/breeze/output_k8s_k9s.svg +++ b/images/breeze/output_k8s_k9s.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s k9s + Command: k8s k9s - + - - -Usage: breeze k8s k9s [OPTIONS] [K9S_ARGS]... - -Run k9s tool. You can pass any k9s args as extra args. - -╭─ K8S k9s flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s k9s [OPTIONS] [K9S_ARGS]... + +Run k9s tool. You can pass any k9s args as extra args. + +╭─ K8S k9s flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_logs.svg b/images/breeze/output_k8s_logs.svg index e607df69d52c4..3ad9bf5cefc4d 100644 --- a/images/breeze/output_k8s_logs.svg +++ b/images/breeze/output_k8s_logs.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s logs + Command: k8s logs - + - - -Usage: breeze k8s logs [OPTIONS] - -Dump k8s logs to ${TMP_DIR}/kind_logs_<cluster_name> directory (optionally all clusters). - -╭─ K8S logs flags ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---allApply it to all created clusters -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s logs [OPTIONS] + +Dump k8s logs to ${TMP_DIR}/kind_logs_<cluster_name> directory (optionally all clusters). + +╭─ K8S logs flags ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--allApply it to all created clusters +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_run-complete-tests.svg b/images/breeze/output_k8s_run-complete-tests.svg index ecd60284f3ff3..e303a2f58a118 100644 --- a/images/breeze/output_k8s_run-complete-tests.svg +++ b/images/breeze/output_k8s_run-complete-tests.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s run-complete-tests + Command: k8s run-complete-tests - + - - -Usage: breeze k8s run-complete-tests [OPTIONS] [TEST_ARGS]... - -Run complete k8s tests consisting of: creating cluster, building and uploading image, deploying airflow, running tests -and deleting clusters (optionally for all clusters in parallel). - -╭─ K8S cluster creation flags ─────────────────────────────────────────────────────────────────────────────────────────╮ ---force-recreate-clusterForce recreation of the cluster even if it is already created. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Airflow deploy flags ───────────────────────────────────────────────────────────────────────────────────────────────╮ ---upgradeUpgrade Helm Chart rather than installing it. ---wait-time-in-secondsWait for Airflow webserver for specified number of seconds.(INTEGER RANGE) -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Build image flags ──────────────────────────────────────────────────────────────────────────────────────────────────╮ ---rebuild-base-imageRebuilds base Airflow image before building K8S image. ---image-tag-tImage tag used to build K8S image from.(TEXT)[default: latest] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ K8S tests flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---executorExecutor to use for a kubernetes cluster.                                          -(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) -[default: KubernetesExecutor]                                                      ---force-venv-setupForce recreation of the virtualenv. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel for cluster  -operations.                                                                             -(INTEGER RANGE)                                                                         -[default: 2; 1<=x<=4]                                                                   ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) -[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s run-complete-tests [OPTIONS] [TEST_ARGS]... + +Run complete k8s tests consisting of: creating cluster, building and uploading image, deploying airflow, running tests +and deleting clusters (optionally for all clusters in parallel). + +╭─ K8S cluster creation flags ─────────────────────────────────────────────────────────────────────────────────────────╮ +--force-recreate-clusterForce recreation of the cluster even if it is already created. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Airflow deploy flags ───────────────────────────────────────────────────────────────────────────────────────────────╮ +--upgradeUpgrade Helm Chart rather than installing it. +--wait-time-in-secondsWait for Airflow webserver for specified number of seconds.(INTEGER RANGE) +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Build image flags ──────────────────────────────────────────────────────────────────────────────────────────────────╮ +--rebuild-base-imageRebuilds base Airflow image before building K8S image. +--image-tag-tImage tag used to build K8S image from.(TEXT)[default: latest] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ K8S tests flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--executorExecutor to use for a kubernetes cluster.                                          +(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) +[default: KubernetesExecutor]                                                      +--force-venv-setupForce recreation of the virtualenv. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel for cluster  +operations.                                                                             +(INTEGER RANGE)                                                                         +[default: 2; 1<=x<=4]                                                                   +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) +[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_setup-env.svg b/images/breeze/output_k8s_setup-env.svg index ce2841fe3e1fd..25fe1e71939bb 100644 --- a/images/breeze/output_k8s_setup-env.svg +++ b/images/breeze/output_k8s_setup-env.svg @@ -35,8 +35,8 @@ .terminal-1615749758-r1 { fill: #c5c8c6;font-weight: bold } .terminal-1615749758-r2 { fill: #c5c8c6 } .terminal-1615749758-r3 { fill: #d0b344;font-weight: bold } -.terminal-1615749758-r4 { fill: #868887 } -.terminal-1615749758-r5 { fill: #68a0b3;font-weight: bold } +.terminal-1615749758-r4 { fill: #68a0b3;font-weight: bold } +.terminal-1615749758-r5 { fill: #868887 } .terminal-1615749758-r6 { fill: #98a84b;font-weight: bold } @@ -93,18 +93,18 @@ -Usage: breeze k8s setup-env [OPTIONS] +Usage: breeze k8s setup-env [OPTIONS] Setup shared Kubernetes virtual environment and tools. -╭─ K8S setup flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---force-venv-setupForce recreation of the virtualenv. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ K8S setup flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--force-venv-setupForce recreation of the virtualenv. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_shell.svg b/images/breeze/output_k8s_shell.svg index 6deb7b071b343..3e0fa39f09378 100644 --- a/images/breeze/output_k8s_shell.svg +++ b/images/breeze/output_k8s_shell.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s shell + Command: k8s shell - + - - -Usage: breeze k8s shell [OPTIONS] [SHELL_ARGS]... - -Run shell environment for the current KinD cluster. - -╭─ K8S shell flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---executorExecutor to use for a kubernetes cluster.                                          -(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) -[default: KubernetesExecutor]                                                      ---force-venv-setupForce recreation of the virtualenv. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s shell [OPTIONS] [SHELL_ARGS]... + +Run shell environment for the current KinD cluster. + +╭─ K8S shell flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--executorExecutor to use for a kubernetes cluster.                                          +(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) +[default: KubernetesExecutor]                                                      +--force-venv-setupForce recreation of the virtualenv. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_status.svg b/images/breeze/output_k8s_status.svg index 6cb60c8ea3184..9ad14c0858269 100644 --- a/images/breeze/output_k8s_status.svg +++ b/images/breeze/output_k8s_status.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s status + Command: k8s status - + - - -Usage: breeze k8s status [OPTIONS] - -Check status of the current cluster and airflow deployed to it (optionally all clusters). - -╭─ K8S cluster status flags ───────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---wait-time-in-secondsWait for Airflow webserver for specified number of seconds.(INTEGER RANGE) ---allApply it to all created clusters -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s status [OPTIONS] + +Check status of the current cluster and airflow deployed to it (optionally all clusters). + +╭─ K8S cluster status flags ───────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--wait-time-in-secondsWait for Airflow webserver for specified number of seconds.(INTEGER RANGE) +--allApply it to all created clusters +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_tests.svg b/images/breeze/output_k8s_tests.svg index b0f9829cb3e73..a8bd37d5d2977 100644 --- a/images/breeze/output_k8s_tests.svg +++ b/images/breeze/output_k8s_tests.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s tests + Command: k8s tests - + - - -Usage: breeze k8s tests [OPTIONS] [TEST_ARGS]... - -Run tests against the current KinD cluster (optionally for all clusters in parallel). - -╭─ K8S tests flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     ---executorExecutor to use for a kubernetes cluster.                                          -(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) -[default: KubernetesExecutor]                                                      ---force-venv-setupForce recreation of the virtualenv. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel for cluster  -operations.                                                                             -(INTEGER RANGE)                                                                         -[default: 2; 1<=x<=4]                                                                   ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) -[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s tests [OPTIONS] [TEST_ARGS]... + +Run tests against the current KinD cluster (optionally for all clusters in parallel). + +╭─ K8S tests flags ────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +--executorExecutor to use for a kubernetes cluster.                                          +(>KubernetesExecutor< | CeleryExecutor | LocalExecutor | CeleryKubernetesExecutor) +[default: KubernetesExecutor]                                                      +--force-venv-setupForce recreation of the virtualenv. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel for cluster  +operations.                                                                             +(INTEGER RANGE)                                                                         +[default: 2; 1<=x<=4]                                                                   +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) +[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_k8s_upload-k8s-image.svg b/images/breeze/output_k8s_upload-k8s-image.svg index 5aeb6922939cc..4b2ed7412e35d 100644 --- a/images/breeze/output_k8s_upload-k8s-image.svg +++ b/images/breeze/output_k8s_upload-k8s-image.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: k8s upload-k8s-image + Command: k8s upload-k8s-image - + - - -Usage: breeze k8s upload-k8s-image [OPTIONS] - -Upload k8s-ready airflow image to the KinD cluster (optionally to all clusters in parallel) - -╭─ Upload image flags ─────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---kubernetes-versionKubernetes version used to create the KinD cluster of. -(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) -[default: v1.25.3]                                     -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) -[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze k8s upload-k8s-image [OPTIONS] + +Upload k8s-ready airflow image to the KinD cluster (optionally to all clusters in parallel) + +╭─ Upload image flags ─────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--kubernetes-versionKubernetes version used to create the KinD cluster of. +(>v1.25.3< | v1.24.7 | v1.23.13 | v1.22.15 | v1.21.14) +[default: v1.25.3]                                     +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel options ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--kubernetes-versionsKubernetes versions used to run in parallel (space separated).(TEXT) +[default: v1.25.3 v1.24.7 v1.23.13 v1.22.15 v1.21.14]          +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_prod-image_build.svg b/images/breeze/output_prod-image_build.svg index de43b746ac131..ec6d3fe67c913 100644 --- a/images/breeze/output_prod-image_build.svg +++ b/images/breeze/output_prod-image_build.svg @@ -19,393 +19,393 @@ font-weight: 700; } - .terminal-786483234-matrix { + .terminal-2821114116-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-786483234-title { + .terminal-2821114116-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-786483234-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-786483234-r2 { fill: #c5c8c6 } -.terminal-786483234-r3 { fill: #d0b344;font-weight: bold } -.terminal-786483234-r4 { fill: #868887 } -.terminal-786483234-r5 { fill: #68a0b3;font-weight: bold } -.terminal-786483234-r6 { fill: #98a84b;font-weight: bold } -.terminal-786483234-r7 { fill: #8d7b39 } + .terminal-2821114116-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-2821114116-r2 { fill: #c5c8c6 } +.terminal-2821114116-r3 { fill: #d0b344;font-weight: bold } +.terminal-2821114116-r4 { fill: #868887 } +.terminal-2821114116-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2821114116-r6 { fill: #98a84b;font-weight: bold } +.terminal-2821114116-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: prod-image build + Command: prod-image build - + - - -Usage: breeze prod-image build [OPTIONS] - -Build Production image. Include building multiple images for all or selected Python versions sequentially. - -╭─ Basic usage ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---install-airflow-version-VInstall version of Airflow from PyPI.(TEXT) ---upgrade-to-newer-dependencies-uWhen set, upgrade all PIP packages to latest. ---upgrade-on-failureWhen set, attempt to run upgrade to newer dependencies when regular build       -fails.                                                                          ---image-tag-tTag the image after building it.(TEXT)[default: latest] ---tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful -when you build or pull image with --image-tag.                                  ---docker-cache-cCache option for image used during the build.(registry | local | disabled) -[default: registry]                           ---github-repository-gGitHub repository used to pull, push run images.(TEXT) -[default: apache/airflow]                        -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Building images in parallel ────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Options for customizing images ─────────────────────────────────────────────────────────────────────────────────────╮ ---builderBuildx builder used to perform `docker buildx build` commands.(TEXT) ---install-providers-from-sourcesInstall providers from sources when installing. ---airflow-extrasExtras to install by default.                                                    -(TEXT)                                                                           -[default:                                                                        -amazon,async,celery,cncf.kubernetes,dask,docker,elasticsearch,ftp,google,google… ---airflow-constraints-modeMode of constraints for PROD image building.                            -(constraints | constraints-no-providers | constraints-source-providers) -[default: constraints]                                                  ---airflow-constraints-referenceConstraint reference to use when building the image.(TEXT) ---python-imageIf specified this is the base python image used to build the image. Should be    -something like: python:VERSION-slim-bullseye.                                    -(TEXT)                                                                           ---additional-extrasAdditional extra package while installing Airflow in the image.(TEXT) ---additional-pip-install-flagsAdditional flags added to `pip install` commands (except reinstalling `pip`      -itself).                                                                         -(TEXT)                                                                           ---additional-python-depsAdditional python dependencies to use when building the images.(TEXT) ---additional-runtime-apt-depsAdditional apt runtime dependencies to use when building the images.(TEXT) ---additional-runtime-apt-envAdditional environment variables set when adding runtime dependencies.(TEXT) ---additional-runtime-apt-commandAdditional command executed before runtime apt deps are installed.(TEXT) ---additional-dev-apt-depsAdditional apt dev dependencies to use when building the images.(TEXT) ---additional-dev-apt-envAdditional environment variables set when adding dev dependencies.(TEXT) ---additional-dev-apt-commandAdditional command executed before dev apt deps are installed.(TEXT) ---runtime-apt-depsApt runtime dependencies to use when building the images.(TEXT) ---runtime-apt-commandCommand executed before runtime apt deps are installed.(TEXT) ---dev-apt-depsApt dev dependencies to use when building the images.(TEXT) ---dev-apt-commandCommand executed before dev apt deps are installed.(TEXT) -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Customization options (for specific customization needs) ───────────────────────────────────────────────────────────╮ ---install-packages-from-contextInstall wheels from local docker-context-files when building image.        -Implies --disable-airflow-repo-cache.                                      ---cleanup-contextClean up docker context files before running build (cannot be used         -together with --install-packages-from-context).                            ---disable-mysql-client-installationDo not install MySQL client. ---disable-mssql-client-installationDo not install MsSQl client. ---disable-postgres-client-installationDo not install Postgres client. ---disable-airflow-repo-cacheDisable cache from Airflow repository during building. ---install-airflow-referenceInstall Airflow using GitHub tag or branch.(TEXT) ---installation-methodInstall Airflow from: sources or PyPI.(. | apache-airflow) -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Preparing cache and push (for maintainers and CI) ──────────────────────────────────────────────────────────────────╮ ---github-tokenThe token used to authenticate to GitHub.(TEXT) ---github-usernameThe user name used to authenticate to GitHub.(TEXT) ---platformPlatform for Airflow image.(linux/amd64 | linux/arm64 | linux/amd64,linux/arm64) ---pushPush image after building it. ---empty-imagePrepare empty image tagged with the same name as the Airflow image. ---prepare-buildx-cachePrepares build cache (this is done as separate per-platform steps instead of building the  -image).                                                                                    -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze prod-image build [OPTIONS] + +Build Production image. Include building multiple images for all or selected Python versions sequentially. + +╭─ Basic usage ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--install-airflow-version-VInstall version of Airflow from PyPI.(TEXT) +--upgrade-to-newer-dependencies-uWhen set, upgrade all PIP packages to latest. +--upgrade-on-failureWhen set, attempt to run upgrade to newer dependencies when regular build       +fails.                                                                          +--image-tag-tTag the image after building it.(TEXT)[default: latest] +--tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful +when you build or pull image with --image-tag.                                  +--docker-cache-cCache option for image used during the build.(registry | local | disabled) +[default: registry]                           +--github-repository-gGitHub repository used to pull, push run images.(TEXT) +[default: apache/airflow]                        +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Building images in parallel ────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Options for customizing images ─────────────────────────────────────────────────────────────────────────────────────╮ +--builderBuildx builder used to perform `docker buildx build` commands.(TEXT) +--install-providers-from-sourcesInstall providers from sources when installing. +--airflow-extrasExtras to install by default.                                                    +(TEXT)                                                                           +[default:                                                                        +amazon,async,celery,cncf.kubernetes,dask,docker,elasticsearch,ftp,google,google… +--airflow-constraints-modeMode of constraints for PROD image building.                            +(constraints | constraints-no-providers | constraints-source-providers) +[default: constraints]                                                  +--airflow-constraints-referenceConstraint reference to use when building the image.(TEXT) +--python-imageIf specified this is the base python image used to build the image. Should be    +something like: python:VERSION-slim-bullseye.                                    +(TEXT)                                                                           +--additional-extrasAdditional extra package while installing Airflow in the image.(TEXT) +--additional-pip-install-flagsAdditional flags added to `pip install` commands (except reinstalling `pip`      +itself).                                                                         +(TEXT)                                                                           +--additional-python-depsAdditional python dependencies to use when building the images.(TEXT) +--additional-runtime-apt-depsAdditional apt runtime dependencies to use when building the images.(TEXT) +--additional-runtime-apt-envAdditional environment variables set when adding runtime dependencies.(TEXT) +--additional-runtime-apt-commandAdditional command executed before runtime apt deps are installed.(TEXT) +--additional-dev-apt-depsAdditional apt dev dependencies to use when building the images.(TEXT) +--additional-dev-apt-envAdditional environment variables set when adding dev dependencies.(TEXT) +--additional-dev-apt-commandAdditional command executed before dev apt deps are installed.(TEXT) +--runtime-apt-depsApt runtime dependencies to use when building the images.(TEXT) +--runtime-apt-commandCommand executed before runtime apt deps are installed.(TEXT) +--dev-apt-depsApt dev dependencies to use when building the images.(TEXT) +--dev-apt-commandCommand executed before dev apt deps are installed.(TEXT) +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Customization options (for specific customization needs) ───────────────────────────────────────────────────────────╮ +--install-packages-from-contextInstall wheels from local docker-context-files when building image.        +Implies --disable-airflow-repo-cache.                                      +--cleanup-contextClean up docker context files before running build (cannot be used         +together with --install-packages-from-context).                            +--disable-mysql-client-installationDo not install MySQL client. +--disable-mssql-client-installationDo not install MsSQl client. +--disable-postgres-client-installationDo not install Postgres client. +--disable-airflow-repo-cacheDisable cache from Airflow repository during building. +--install-airflow-referenceInstall Airflow using GitHub tag or branch.(TEXT) +--installation-methodInstall Airflow from: sources or PyPI.(. | apache-airflow) +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Preparing cache and push (for maintainers and CI) ──────────────────────────────────────────────────────────────────╮ +--github-tokenThe token used to authenticate to GitHub.(TEXT) +--github-usernameThe user name used to authenticate to GitHub.(TEXT) +--platformPlatform for Airflow image.(linux/amd64 | linux/arm64 | linux/amd64,linux/arm64) +--pushPush image after building it. +--empty-imagePrepare empty image tagged with the same name as the Airflow image. +--prepare-buildx-cachePrepares build cache (this is done as separate per-platform steps instead of building the  +image).                                                                                    +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_prod-image_pull.svg b/images/breeze/output_prod-image_pull.svg index 5a0090360e7ae..6d77c572f3a3a 100644 --- a/images/breeze/output_prod-image_pull.svg +++ b/images/breeze/output_prod-image_pull.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: prod-image pull + Command: prod-image pull - + - - -Usage: breeze prod-image pull [OPTIONS] [EXTRA_PYTEST_ARGS]... - -Pull and optionally verify Production images - possibly in parallel for all Python versions. - -╭─ Pull image flags ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---image-tag-tTag of the image which is used to pull the image.(TEXT)[default: latest] ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---github-tokenThe token used to authenticate to GitHub.(TEXT) ---verifyVerify image. ---wait-for-imageWait until image is available. ---tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful when you    -build or pull image with --image-tag.                                                       ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel running ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze prod-image pull [OPTIONS] [EXTRA_PYTEST_ARGS]... + +Pull and optionally verify Production images - possibly in parallel for all Python versions. + +╭─ Pull image flags ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--image-tag-tTag of the image which is used to pull the image.(TEXT)[default: latest] +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--github-tokenThe token used to authenticate to GitHub.(TEXT) +--verifyVerify image. +--wait-for-imageWait until image is available. +--tag-as-latestTags the image as latest and update checksum of all files after pulling. Useful when you    +build or pull image with --image-tag.                                                       +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel running ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_prod-image_verify.svg b/images/breeze/output_prod-image_verify.svg index 9a4fbc1fcea07..82ab135996206 100644 --- a/images/breeze/output_prod-image_verify.svg +++ b/images/breeze/output_prod-image_verify.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: prod-image verify + Command: prod-image verify - + - - -Usage: breeze prod-image verify [OPTIONS] [EXTRA_PYTEST_ARGS]... - -Verify Production image. - -╭─ Verify image flags ─────────────────────────────────────────────────────────────────────────────────────────────────╮ ---image-name-nName of the image to verify (overrides --python and --image-tag).(TEXT) ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---slim-imageThe image to verify is slim and non-slim tests should be skipped. ---image-tag-tTag of the image when verifying it.(TEXT)[default: latest] ---pullPull image is missing before attempting to verify it. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze prod-image verify [OPTIONS] [EXTRA_PYTEST_ARGS]... + +Verify Production image. + +╭─ Verify image flags ─────────────────────────────────────────────────────────────────────────────────────────────────╮ +--image-name-nName of the image to verify (overrides --python and --image-tag).(TEXT) +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--slim-imageThe image to verify is slim and non-slim tests should be skipped. +--image-tag-tTag of the image when verifying it.(TEXT)[default: latest] +--pullPull image is missing before attempting to verify it. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_release-management_generate-constraints.svg b/images/breeze/output_release-management_generate-constraints.svg index 35e0a01600614..4a157ccc004ea 100644 --- a/images/breeze/output_release-management_generate-constraints.svg +++ b/images/breeze/output_release-management_generate-constraints.svg @@ -19,173 +19,173 @@ font-weight: 700; } - .terminal-3695932747-matrix { + .terminal-1961129517-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3695932747-title { + .terminal-1961129517-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3695932747-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-3695932747-r2 { fill: #c5c8c6 } -.terminal-3695932747-r3 { fill: #d0b344;font-weight: bold } -.terminal-3695932747-r4 { fill: #868887 } -.terminal-3695932747-r5 { fill: #68a0b3;font-weight: bold } -.terminal-3695932747-r6 { fill: #98a84b;font-weight: bold } -.terminal-3695932747-r7 { fill: #8d7b39 } + .terminal-1961129517-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-1961129517-r2 { fill: #c5c8c6 } +.terminal-1961129517-r3 { fill: #d0b344;font-weight: bold } +.terminal-1961129517-r4 { fill: #868887 } +.terminal-1961129517-r5 { fill: #68a0b3;font-weight: bold } +.terminal-1961129517-r6 { fill: #98a84b;font-weight: bold } +.terminal-1961129517-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: release-management generate-constraints + Command: release-management generate-constraints - + - - -Usage: breeze release-management generate-constraints [OPTIONS] - -Generates pinned constraint files with all extras from setup.py in parallel. - -╭─ Generate constraints flags ─────────────────────────────────────────────────────────────────────────────────────────╮ ---image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip). -(TEXT)                                                                          -[default: latest]                                                               ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---airflow-constraints-modeMode of constraints for CI image building.                              -(constraints-source-providers | constraints | constraints-no-providers) -[default: constraints-source-providers]                                 ---debugDrop user in shell instead of running the command. Useful for debugging. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Parallel running ───────────────────────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel.(INTEGER RANGE) -[default: 4; 1<=x<=8]                                                       ---python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) -[default: 3.7 3.8 3.9 3.10]                                                    ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze release-management generate-constraints [OPTIONS] + +Generates pinned constraint files with all extras from setup.py in parallel. + +╭─ Generate constraints flags ─────────────────────────────────────────────────────────────────────────────────────────╮ +--image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip). +(TEXT)                                                                          +[default: latest]                                                               +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--airflow-constraints-modeMode of constraints for CI image building.                              +(constraints-source-providers | constraints | constraints-no-providers) +[default: constraints-source-providers]                                 +--debugDrop user in shell instead of running the command. Useful for debugging. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Parallel running ───────────────────────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel.(INTEGER RANGE) +[default: 4; 1<=x<=8]                                                       +--python-versionsSpace separated list of python versions used for build with multiple versions.(TEXT) +[default: 3.7 3.8 3.9 3.10 3.11]                                               +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_release-management_prepare-airflow-package.svg b/images/breeze/output_release-management_prepare-airflow-package.svg index b7126cac0c5e3..cae0c6b7c89f3 100644 --- a/images/breeze/output_release-management_prepare-airflow-package.svg +++ b/images/breeze/output_release-management_prepare-airflow-package.svg @@ -35,8 +35,8 @@ .terminal-276230213-r1 { fill: #c5c8c6;font-weight: bold } .terminal-276230213-r2 { fill: #c5c8c6 } .terminal-276230213-r3 { fill: #d0b344;font-weight: bold } -.terminal-276230213-r4 { fill: #868887 } -.terminal-276230213-r5 { fill: #68a0b3;font-weight: bold } +.terminal-276230213-r4 { fill: #68a0b3;font-weight: bold } +.terminal-276230213-r5 { fill: #868887 } .terminal-276230213-r6 { fill: #8d7b39 } .terminal-276230213-r7 { fill: #98a84b;font-weight: bold } @@ -103,21 +103,21 @@ -Usage: breeze release-management prepare-airflow-package [OPTIONS] +Usage: breeze release-management prepare-airflow-package [OPTIONS] Prepare sdist/whl package of Airflow. -╭─ Package flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---package-formatFormat of packages.(wheel | sdist | both)[default: wheel] ---version-suffix-for-pypiVersion suffix used for PyPI packages (alpha, beta, rc1, etc.).(TEXT) ---debugDrop user in shell instead of running the command. Useful for debugging. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Package flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--package-formatFormat of packages.(wheel | sdist | both)[default: wheel] +--version-suffix-for-pypiVersion suffix used for PyPI packages (alpha, beta, rc1, etc.).(TEXT) +--debugDrop user in shell instead of running the command. Useful for debugging. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_release-management_prepare-provider-documentation.svg b/images/breeze/output_release-management_prepare-provider-documentation.svg index e3c575a127a42..d74fe35a9ed46 100644 --- a/images/breeze/output_release-management_prepare-provider-documentation.svg +++ b/images/breeze/output_release-management_prepare-provider-documentation.svg @@ -35,8 +35,8 @@ .terminal-3926816982-r1 { fill: #c5c8c6;font-weight: bold } .terminal-3926816982-r2 { fill: #c5c8c6 } .terminal-3926816982-r3 { fill: #d0b344;font-weight: bold } -.terminal-3926816982-r4 { fill: #868887 } -.terminal-3926816982-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3926816982-r4 { fill: #68a0b3;font-weight: bold } +.terminal-3926816982-r5 { fill: #868887 } .terminal-3926816982-r6 { fill: #98a84b;font-weight: bold } .terminal-3926816982-r7 { fill: #8d7b39 } @@ -151,7 +151,7 @@ -Usage: breeze release-management prepare-provider-documentation [OPTIONS] [airbyte | alibaba | amazon | apache.beam | +Usage: breeze release-management prepare-provider-documentation [OPTIONS] [airbyte | alibaba | amazon | apache.beam |                                                                 apache.cassandra | apache.drill | apache.druid |                                                                 apache.hdfs | apache.hive | apache.kylin | apache.livy                                                                 | apache.pig | apache.pinot | apache.spark | @@ -169,19 +169,19 @@                                                                 sqlite | ssh | tableau | tabular | telegram | trino |                                                                 vertica | yandex | zendesk]... -Prepare CHANGELOG, README and COMMITS information for providers. +Prepare CHANGELOGREADME and COMMITS information for providers. -╭─ Provider documentation preparation flags ───────────────────────────────────────────────────────────────────────────╮ ---debugDrop user in shell instead of running the command. Useful for debugging. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---base-branch(TEXT) ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Provider documentation preparation flags ───────────────────────────────────────────────────────────────────────────╮ +--debugDrop user in shell instead of running the command. Useful for debugging. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--base-branch(TEXT) +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_release-management_prepare-provider-packages.svg b/images/breeze/output_release-management_prepare-provider-packages.svg index 8db498e25121e..c1bab8ccf93ba 100644 --- a/images/breeze/output_release-management_prepare-provider-packages.svg +++ b/images/breeze/output_release-management_prepare-provider-packages.svg @@ -35,8 +35,8 @@ .terminal-3787835496-r1 { fill: #c5c8c6;font-weight: bold } .terminal-3787835496-r2 { fill: #c5c8c6 } .terminal-3787835496-r3 { fill: #d0b344;font-weight: bold } -.terminal-3787835496-r4 { fill: #868887 } -.terminal-3787835496-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3787835496-r4 { fill: #68a0b3;font-weight: bold } +.terminal-3787835496-r5 { fill: #868887 } .terminal-3787835496-r6 { fill: #8d7b39 } .terminal-3787835496-r7 { fill: #98a84b;font-weight: bold } @@ -151,7 +151,7 @@ -Usage: breeze release-management prepare-provider-packages [OPTIONS] [airbyte | alibaba | amazon | apache.beam | +Usage: breeze release-management prepare-provider-packages [OPTIONS] [airbyte | alibaba | amazon | apache.beam |                                                            apache.cassandra | apache.drill | apache.druid |                                                            apache.hdfs | apache.hive | apache.kylin | apache.livy |                                                            apache.pig | apache.pinot | apache.spark | apache.sqoop | @@ -170,18 +170,18 @@ Prepare sdist/whl packages of Airflow Providers. -╭─ Package flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---package-formatFormat of packages.(wheel | sdist | both)[default: wheel] ---version-suffix-for-pypiVersion suffix used for PyPI packages (alpha, beta, rc1, etc.).(TEXT) ---package-list-fileRead list of packages from text file (one package per line).(FILENAME) ---debugDrop user in shell instead of running the command. Useful for debugging. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Package flags ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--package-formatFormat of packages.(wheel | sdist | both)[default: wheel] +--version-suffix-for-pypiVersion suffix used for PyPI packages (alpha, beta, rc1, etc.).(TEXT) +--package-list-fileRead list of packages from text file (one package per line).(FILENAME) +--debugDrop user in shell instead of running the command. Useful for debugging. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_release-management_release-prod-images.svg b/images/breeze/output_release-management_release-prod-images.svg index ef945e9fd0ed2..22dc259e44e16 100644 --- a/images/breeze/output_release-management_release-prod-images.svg +++ b/images/breeze/output_release-management_release-prod-images.svg @@ -19,139 +19,139 @@ font-weight: 700; } - .terminal-2418532981-matrix { + .terminal-560063252-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2418532981-title { + .terminal-560063252-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2418532981-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-2418532981-r2 { fill: #c5c8c6 } -.terminal-2418532981-r3 { fill: #d0b344;font-weight: bold } -.terminal-2418532981-r4 { fill: #868887 } -.terminal-2418532981-r5 { fill: #cc555a } -.terminal-2418532981-r6 { fill: #68a0b3;font-weight: bold } -.terminal-2418532981-r7 { fill: #8d7b39 } -.terminal-2418532981-r8 { fill: #8a4346 } -.terminal-2418532981-r9 { fill: #98a84b;font-weight: bold } + .terminal-560063252-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-560063252-r2 { fill: #c5c8c6 } +.terminal-560063252-r3 { fill: #d0b344;font-weight: bold } +.terminal-560063252-r4 { fill: #868887 } +.terminal-560063252-r5 { fill: #cc555a } +.terminal-560063252-r6 { fill: #68a0b3;font-weight: bold } +.terminal-560063252-r7 { fill: #8d7b39 } +.terminal-560063252-r8 { fill: #8a4346 } +.terminal-560063252-r9 { fill: #98a84b;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: release-management release-prod-images + Command: release-management release-prod-images - + - - -Usage: breeze release-management release-prod-images [OPTIONS] - -Release production images to DockerHub (needs DockerHub permissions). - -╭─ Release PROD IMAGE flags ───────────────────────────────────────────────────────────────────────────────────────────╮ -*--airflow-versionAirflow version to release (2.3.0, 2.3.0rc1 etc.)(TEXT)[required] ---dockerhub-repoDockerHub repository for the images(TEXT)[default: apache/airflow] ---slim-imagesWhether to prepare slim images instead of the regular ones. ---limit-pythonSpecific python to build slim images for (if not specified - the images are built for all    -available python versions)                                                                   -(3.7 | 3.8 | 3.9 | 3.10)                                                                     ---limit-platformSpecific platform to build images for (if not specified, multiplatform images will be built. -(linux/amd64 | linux/arm64 | linux/amd64,linux/arm64)                                        -[default: linux/amd64,linux/arm64]                                                           ---skip-latestWhether to skip publishing the latest images (so that 'latest' images are not updated). This -should only be used if you release image for previous branches. Automatically set when       -rc/alpha/beta images are built.                                                              -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze release-management release-prod-images [OPTIONS] + +Release production images to DockerHub (needs DockerHub permissions). + +╭─ Release PROD IMAGE flags ───────────────────────────────────────────────────────────────────────────────────────────╮ +*--airflow-versionAirflow version to release (2.3.0, 2.3.0rc1 etc.)(TEXT)[required] +--dockerhub-repoDockerHub repository for the images(TEXT)[default: apache/airflow] +--slim-imagesWhether to prepare slim images instead of the regular ones. +--limit-pythonSpecific python to build slim images for (if not specified - the images are built for all    +available python versions)                                                                   +(3.7 | 3.8 | 3.9 | 3.10 | 3.11)                                                              +--limit-platformSpecific platform to build images for (if not specified, multiplatform images will be built. +(linux/amd64 | linux/arm64 | linux/amd64,linux/arm64)                                        +[default: linux/amd64,linux/arm64]                                                           +--skip-latestWhether to skip publishing the latest images (so that 'latest' images are not updated). This +should only be used if you release image for previous branches. Automatically set when       +rc/alpha/beta images are built.                                                              +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_release-management_verify-provider-packages.svg b/images/breeze/output_release-management_verify-provider-packages.svg index 259e5b0b6a7a5..3ef83d1e7fbdf 100644 --- a/images/breeze/output_release-management_verify-provider-packages.svg +++ b/images/breeze/output_release-management_verify-provider-packages.svg @@ -35,8 +35,8 @@ .terminal-2456520215-r1 { fill: #c5c8c6;font-weight: bold } .terminal-2456520215-r2 { fill: #c5c8c6 } .terminal-2456520215-r3 { fill: #d0b344;font-weight: bold } -.terminal-2456520215-r4 { fill: #868887 } -.terminal-2456520215-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2456520215-r4 { fill: #68a0b3;font-weight: bold } +.terminal-2456520215-r5 { fill: #868887 } .terminal-2456520215-r6 { fill: #8d7b39 } .terminal-2456520215-r7 { fill: #98a84b;font-weight: bold } @@ -142,34 +142,34 @@ -Usage: breeze release-management verify-provider-packages [OPTIONS] +Usage: breeze release-management verify-provider-packages [OPTIONS] Verifies if all provider code is following expectations for providers. -╭─ Provider verification flags ────────────────────────────────────────────────────────────────────────────────────────╮ ---use-airflow-versionUse (reinstall at entry) Airflow version from PyPI. It can also be `none`,      -`wheel`, or `sdist` if Airflow should be removed, installed from wheel packages -or sdist packages available in dist folder respectively. Implies                ---mount-sources `remove`.                                                       -(none | wheel | sdist | <airflow_version>)                                      ---airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     -specify constraints for the installed version and to find newer dependencies    -(TEXT)                                                                          ---airflow-extrasAirflow extras to install when --use-airflow-version is used(TEXT) ---use-packages-from-distInstall all found packages (--package-format determines type) from 'dist'       -folder when entering breeze.                                                    ---package-formatFormat of packages that should be installed from dist.(wheel | sdist) -[default: wheel]                                       ---skip-constraintsDo not use constraints when installing providers. ---debugDrop user in shell instead of running the command. Useful for debugging. ---github-repository-gGitHub repository used to pull, push run images.(TEXT) -[default: apache/airflow]                        -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Provider verification flags ────────────────────────────────────────────────────────────────────────────────────────╮ +--use-airflow-versionUse (reinstall at entry) Airflow version from PyPI. It can also be `none`,      +`wheel`, or `sdist` if Airflow should be removed, installed from wheel packages +or sdist packages available in dist folder respectively. Implies                +--mount-sources `remove`.                                                       +(none | wheel | sdist | <airflow_version>)                                      +--airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     +specify constraints for the installed version and to find newer dependencies    +(TEXT)                                                                          +--airflow-extrasAirflow extras to install when --use-airflow-version is used(TEXT) +--use-packages-from-distInstall all found packages (--package-format determines type) from 'dist'       +folder when entering breeze.                                                    +--package-formatFormat of packages that should be installed from dist.(wheel | sdist) +[default: wheel]                                       +--skip-constraintsDo not use constraints when installing providers. +--debugDrop user in shell instead of running the command. Useful for debugging. +--github-repository-gGitHub repository used to pull, push run images.(TEXT) +[default: apache/airflow]                        +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_setup.svg b/images/breeze/output_setup.svg index 4ea9da3ed8a9e..40050418b0348 100644 --- a/images/breeze/output_setup.svg +++ b/images/breeze/output_setup.svg @@ -35,8 +35,8 @@ .terminal-563718598-r1 { fill: #c5c8c6;font-weight: bold } .terminal-563718598-r2 { fill: #c5c8c6 } .terminal-563718598-r3 { fill: #d0b344;font-weight: bold } -.terminal-563718598-r4 { fill: #68a0b3;font-weight: bold } -.terminal-563718598-r5 { fill: #868887 } +.terminal-563718598-r4 { fill: #868887 } +.terminal-563718598-r5 { fill: #68a0b3;font-weight: bold } .terminal-563718598-r6 { fill: #98a84b;font-weight: bold } @@ -99,20 +99,20 @@ -Usage: breeze setup [OPTIONSCOMMAND [ARGS]... +Usage: breeze setup [OPTIONS] COMMAND [ARGS]... Tools that developers can use to configure Breeze -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ -autocomplete                    Enables autocompletion of breeze commands.                                         -config                          Show/update configuration (Python, Backend, Cheatsheet, ASCIIART).                 -regenerate-command-images       Regenerate breeze command images.                                                  -self-upgrade                    Self upgrade Breeze.                                                               -version                         Print information about version of apache-airflow-breeze.                          -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +autocomplete                    Enables autocompletion of breeze commands.                                         +config                          Show/update configuration (Python, Backend, Cheatsheet, ASCIIART).                 +regenerate-command-images       Regenerate breeze command images.                                                  +self-upgrade                    Self upgrade Breeze.                                                               +version                         Print information about version of apache-airflow-breeze.                          +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_setup_autocomplete.svg b/images/breeze/output_setup_autocomplete.svg index 74efd13f6c770..c89803686feda 100644 --- a/images/breeze/output_setup_autocomplete.svg +++ b/images/breeze/output_setup_autocomplete.svg @@ -35,8 +35,8 @@ .terminal-2355068599-r1 { fill: #c5c8c6;font-weight: bold } .terminal-2355068599-r2 { fill: #c5c8c6 } .terminal-2355068599-r3 { fill: #d0b344;font-weight: bold } -.terminal-2355068599-r4 { fill: #868887 } -.terminal-2355068599-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2355068599-r4 { fill: #68a0b3;font-weight: bold } +.terminal-2355068599-r5 { fill: #868887 } .terminal-2355068599-r6 { fill: #98a84b;font-weight: bold } .terminal-2355068599-r7 { fill: #8d7b39 } @@ -97,19 +97,19 @@ -Usage: breeze setup autocomplete [OPTIONS] +Usage: breeze setup autocomplete [OPTIONS] Enables autocompletion of breeze commands. -╭─ Setup autocomplete flags ───────────────────────────────────────────────────────────────────────────────────────────╮ ---force-fForce autocomplete setup even if already setup before (overrides the setup). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Setup autocomplete flags ───────────────────────────────────────────────────────────────────────────────────────────╮ +--force-fForce autocomplete setup even if already setup before (overrides the setup). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_setup_config.svg b/images/breeze/output_setup_config.svg index 6e3ea427439fb..45544ddbb2b9e 100644 --- a/images/breeze/output_setup_config.svg +++ b/images/breeze/output_setup_config.svg @@ -19,125 +19,125 @@ font-weight: 700; } - .terminal-545217859-matrix { + .terminal-3856031202-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-545217859-title { + .terminal-3856031202-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-545217859-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-545217859-r2 { fill: #c5c8c6 } -.terminal-545217859-r3 { fill: #d0b344;font-weight: bold } -.terminal-545217859-r4 { fill: #68a0b3;font-weight: bold } -.terminal-545217859-r5 { fill: #868887 } -.terminal-545217859-r6 { fill: #98a84b;font-weight: bold } -.terminal-545217859-r7 { fill: #8d7b39 } + .terminal-3856031202-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-3856031202-r2 { fill: #c5c8c6 } +.terminal-3856031202-r3 { fill: #d0b344;font-weight: bold } +.terminal-3856031202-r4 { fill: #868887 } +.terminal-3856031202-r5 { fill: #68a0b3;font-weight: bold } +.terminal-3856031202-r6 { fill: #98a84b;font-weight: bold } +.terminal-3856031202-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: setup config + Command: setup config - + - - -Usage: breeze setup config [OPTIONS] - -Show/update configuration (Python, Backend, Cheatsheet, ASCIIART). - -╭─ Config flags ───────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql) -[default: sqlite]        ---postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] ---mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] ---mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] ---cheatsheet/--no-cheatsheet-C/-cEnable/disable cheatsheet. ---asciiart/--no-asciiart-A/-aEnable/disable ASCIIart. ---colour/--no-colourEnable/disable Colour mode (useful for colour blind-friendly communication). -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze setup config [OPTIONS] + +Show/update configuration (Python, Backend, Cheatsheet, ASCIIART). + +╭─ Config flags ───────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql) +[default: sqlite]        +--postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] +--mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] +--mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] +--cheatsheet/--no-cheatsheet-C/-cEnable/disable cheatsheet. +--asciiart/--no-asciiart-A/-aEnable/disable ASCIIart. +--colour/--no-colourEnable/disable Colour mode (useful for colour blind-friendly communication). +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_setup_regenerate-command-images.svg b/images/breeze/output_setup_regenerate-command-images.svg index 5ce1112d9a94d..08fc5dc584e9c 100644 --- a/images/breeze/output_setup_regenerate-command-images.svg +++ b/images/breeze/output_setup_regenerate-command-images.svg @@ -35,8 +35,8 @@ .terminal-2816716479-r1 { fill: #c5c8c6;font-weight: bold } .terminal-2816716479-r2 { fill: #c5c8c6 } .terminal-2816716479-r3 { fill: #d0b344;font-weight: bold } -.terminal-2816716479-r4 { fill: #868887 } -.terminal-2816716479-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2816716479-r4 { fill: #68a0b3;font-weight: bold } +.terminal-2816716479-r5 { fill: #868887 } .terminal-2816716479-r6 { fill: #8d7b39 } .terminal-2816716479-r7 { fill: #98a84b;font-weight: bold } @@ -139,33 +139,33 @@ -Usage: breeze setup regenerate-command-images [OPTIONS] +Usage: breeze setup regenerate-command-images [OPTIONS] Regenerate breeze command images. -╭─ Image regeneration option ──────────────────────────────────────────────────────────────────────────────────────────╮ ---forceForces regeneration of all images ---commandCommand(s) to regenerate images for (optional, might be repeated)                                    -(main | build-docs | ci:find-newer-dependencies | ci:fix-ownership | ci:free-space |                 -ci:get-workflow-info | ci:resource-check | ci:selective-check | ci | ci-image:build | ci-image:pull  -| ci-image:verify | ci-image | cleanup | compile-www-assets | exec | k8s:build-k8s-image |           -k8s:configure-cluster | k8s:create-cluster | k8s:delete-cluster | k8s:deploy-airflow | k8s:k9s |     -k8s:logs | k8s:run-complete-tests | k8s:setup-env | k8s:shell | k8s:status | k8s:tests |             -k8s:upload-k8s-image | k8s | prod-image:build | prod-image:pull | prod-image:verify | prod-image |   -release-management:generate-constraints | release-management:prepare-airflow-package |               -release-management:prepare-provider-documentation | release-management:prepare-provider-packages |   -release-management:release-prod-images | release-management:verify-provider-packages |               -release-management | setup:autocomplete | setup:config | setup:regenerate-command-images |           -setup:self-upgrade | setup:version | setup | shell | start-airflow | static-checks | stop |          -testing:docker-compose-tests | testing:helm-tests | testing:tests | testing)                         ---check-onlyOnly check if some images need to be regenerated. Return 0 if no need or 1 if needed. Cannot be used -together with --command flag or --force.                                                             -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Image regeneration option ──────────────────────────────────────────────────────────────────────────────────────────╮ +--forceForces regeneration of all images +--commandCommand(s) to regenerate images for (optional, might be repeated)                                    +(main | build-docs | ci:find-newer-dependencies | ci:fix-ownership | ci:free-space |                 +ci:get-workflow-info | ci:resource-check | ci:selective-check | ci | ci-image:build | ci-image:pull  +| ci-image:verify | ci-image | cleanup | compile-www-assets | exec | k8s:build-k8s-image |           +k8s:configure-cluster | k8s:create-cluster | k8s:delete-cluster | k8s:deploy-airflow | k8s:k9s |     +k8s:logs | k8s:run-complete-tests | k8s:setup-env | k8s:shell | k8s:status | k8s:tests |             +k8s:upload-k8s-image | k8s | prod-image:build | prod-image:pull | prod-image:verify | prod-image |   +release-management:generate-constraints | release-management:prepare-airflow-package |               +release-management:prepare-provider-documentation | release-management:prepare-provider-packages |   +release-management:release-prod-images | release-management:verify-provider-packages |               +release-management | setup:autocomplete | setup:config | setup:regenerate-command-images |           +setup:self-upgrade | setup:version | setup | shell | start-airflow | static-checks | stop |          +testing:docker-compose-tests | testing:helm-tests | testing:tests | testing)                         +--check-onlyOnly check if some images need to be regenerated. Return 0 if no need or 1 if needed. Cannot be used +together with --command flag or --force.                                                             +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_setup_version.svg b/images/breeze/output_setup_version.svg index 0c4918f318f8a..3bd7ed706ea03 100644 --- a/images/breeze/output_setup_version.svg +++ b/images/breeze/output_setup_version.svg @@ -35,8 +35,8 @@ .terminal-2681505854-r1 { fill: #c5c8c6;font-weight: bold } .terminal-2681505854-r2 { fill: #c5c8c6 } .terminal-2681505854-r3 { fill: #d0b344;font-weight: bold } -.terminal-2681505854-r4 { fill: #868887 } -.terminal-2681505854-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2681505854-r4 { fill: #68a0b3;font-weight: bold } +.terminal-2681505854-r5 { fill: #868887 } .terminal-2681505854-r6 { fill: #98a84b;font-weight: bold } @@ -84,15 +84,15 @@ -Usage: breeze setup version [OPTIONS] +Usage: breeze setup version [OPTIONS] Print information about version of apache-airflow-breeze. -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_shell.svg b/images/breeze/output_shell.svg index 26c8dee59d1f9..4bfc31b4d2f08 100644 --- a/images/breeze/output_shell.svg +++ b/images/breeze/output_shell.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: shell + Command: shell - + - - -Usage: breeze shell [OPTIONS] [EXTRA_ARGS]... - -Enter breeze environment. this is the default command use when no other is selected. - -╭─ Basic flags ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] ---postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] ---mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] ---mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] ---integrationIntegration(s) to enable when running (can be more than one).                             -(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino |    -all)                                                                                      ---forward-credentials-fForward local credentials to container when running. ---db-reset-dReset DB when entering the container. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Advanced flag for running ──────────────────────────────────────────────────────────────────────────────────────────╮ ---use-airflow-versionUse (reinstall at entry) Airflow version from PyPI. It can also be `none`,      -`wheel`, or `sdist` if Airflow should be removed, installed from wheel packages -or sdist packages available in dist folder respectively. Implies                ---mount-sources `remove`.                                                       -(none | wheel | sdist | <airflow_version>)                                      ---airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     -specify constraints for the installed version and to find newer dependencies    -(TEXT)                                                                          ---platformPlatform for Airflow image.(linux/amd64 | linux/arm64) ---airflow-extrasAirflow extras to install when --use-airflow-version is used(TEXT) ---use-packages-from-distInstall all found packages (--package-format determines type) from 'dist'       -folder when entering breeze.                                                    ---package-formatFormat of packages that should be installed from dist.(wheel | sdist) -[default: wheel]                                       ---force-buildForce image build no matter if it is determined as needed. ---image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip). -(TEXT)                                                                          -[default: latest]                                                               ---mount-sourcesChoose scope of local sources that should be mounted, skipped, or removed       -(default = selected).                                                           -(selected | all | skip | remove)                                                -[default: selected]                                                             ---include-mypy-volumeWhether to include mounting of the mypy volume (useful for debugging mypy). ---max-timeMaximum time that the command should take - if it takes longer, the command     -will fail.                                                                      -(INTEGER RANGE)                                                                 -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze shell [OPTIONS] [EXTRA_ARGS]... + +Enter breeze environment. this is the default command use when no other is selected. + +╭─ Basic flags ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] +--postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] +--mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] +--mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] +--integrationIntegration(s) to enable when running (can be more than one).                             +(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino |    +all)                                                                                      +--forward-credentials-fForward local credentials to container when running. +--db-reset-dReset DB when entering the container. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Advanced flag for running ──────────────────────────────────────────────────────────────────────────────────────────╮ +--use-airflow-versionUse (reinstall at entry) Airflow version from PyPI. It can also be `none`,      +`wheel`, or `sdist` if Airflow should be removed, installed from wheel packages +or sdist packages available in dist folder respectively. Implies                +--mount-sources `remove`.                                                       +(none | wheel | sdist | <airflow_version>)                                      +--airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     +specify constraints for the installed version and to find newer dependencies    +(TEXT)                                                                          +--platformPlatform for Airflow image.(linux/amd64 | linux/arm64) +--airflow-extrasAirflow extras to install when --use-airflow-version is used(TEXT) +--use-packages-from-distInstall all found packages (--package-format determines type) from 'dist'       +folder when entering breeze.                                                    +--package-formatFormat of packages that should be installed from dist.(wheel | sdist) +[default: wheel]                                       +--force-buildForce image build no matter if it is determined as needed. +--image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip). +(TEXT)                                                                          +[default: latest]                                                               +--mount-sourcesChoose scope of local sources that should be mounted, skipped, or removed       +(default = selected).                                                           +(selected | all | skip | remove)                                                +[default: selected]                                                             +--include-mypy-volumeWhether to include mounting of the mypy volume (useful for debugging mypy). +--max-timeMaximum time that the command should take - if it takes longer, the command     +will fail.                                                                      +(INTEGER RANGE)                                                                 +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_start-airflow.svg b/images/breeze/output_start-airflow.svg index 28832aef6a631..455629bcb564d 100644 --- a/images/breeze/output_start-airflow.svg +++ b/images/breeze/output_start-airflow.svg @@ -19,277 +19,277 @@ font-weight: 700; } - .terminal-1869625598-matrix { + .terminal-2032023965-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1869625598-title { + .terminal-2032023965-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1869625598-r1 { fill: #c5c8c6;font-weight: bold } -.terminal-1869625598-r2 { fill: #c5c8c6 } -.terminal-1869625598-r3 { fill: #d0b344;font-weight: bold } -.terminal-1869625598-r4 { fill: #68a0b3;font-weight: bold } -.terminal-1869625598-r5 { fill: #868887 } -.terminal-1869625598-r6 { fill: #98a84b;font-weight: bold } -.terminal-1869625598-r7 { fill: #8d7b39 } + .terminal-2032023965-r1 { fill: #c5c8c6;font-weight: bold } +.terminal-2032023965-r2 { fill: #c5c8c6 } +.terminal-2032023965-r3 { fill: #d0b344;font-weight: bold } +.terminal-2032023965-r4 { fill: #868887 } +.terminal-2032023965-r5 { fill: #68a0b3;font-weight: bold } +.terminal-2032023965-r6 { fill: #98a84b;font-weight: bold } +.terminal-2032023965-r7 { fill: #8d7b39 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Command: start-airflow + Command: start-airflow - + - - -Usage: breeze start-airflow [OPTIONS] [EXTRA_ARGS]... - -Enter breeze environment and starts all Airflow components in the tmux session. Compile assets if contents of www  -directory changed. - -╭─ Basic flags ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---python-pPython major/minor version used in Airflow image for images. -(>3.7< | 3.8 | 3.9 | 3.10)                                   -[default: 3.7]                                               ---load-example-dags-eEnable configuration to load example DAGs when starting Airflow. ---load-default-connections-cEnable configuration to load default connections when starting Airflow. ---backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] ---platformPlatform for Airflow image.(linux/amd64 | linux/arm64) ---postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] ---mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] ---mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] ---integrationIntegration(s) to enable when running (can be more than one).                        -(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino -| all)                                                                               ---forward-credentials-fForward local credentials to container when running. ---db-reset-dReset DB when entering the container. ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Asset compilation options ──────────────────────────────────────────────────────────────────────────────────────────╮ ---skip-asset-compilationSkips compilation of assets when starting airflow even if the content of www changed     -(mutually exclusive with --dev-mode).                                                    ---dev-modeStarts webserver in dev mode (assets are always recompiled in this case when starting)   -(mutually exclusive with --skip-asset-compilation).                                      -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Advanced flag for running ──────────────────────────────────────────────────────────────────────────────────────────╮ ---use-airflow-versionUse (reinstall at entry) Airflow version from PyPI. It can also be `none`,      -`wheel`, or `sdist` if Airflow should be removed, installed from wheel packages -or sdist packages available in dist folder respectively. Implies                ---mount-sources `remove`.                                                       -(none | wheel | sdist | <airflow_version>)                                      ---airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     -specify constraints for the installed version and to find newer dependencies    -(TEXT)                                                                          ---airflow-extrasAirflow extras to install when --use-airflow-version is used(TEXT) ---use-packages-from-distInstall all found packages (--package-format determines type) from 'dist'       -folder when entering breeze.                                                    ---package-formatFormat of packages that should be installed from dist.(wheel | sdist) -[default: wheel]                                       ---force-buildForce image build no matter if it is determined as needed. ---image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip). -(TEXT)                                                                          -[default: latest]                                                               ---mount-sourcesChoose scope of local sources that should be mounted, skipped, or removed       -(default = selected).                                                           -(selected | all | skip | remove)                                                -[default: selected]                                                             -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---answer-aForce answer to questions.(y | n | q | yes | no | quit) ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze start-airflow [OPTIONS] [EXTRA_ARGS]... + +Enter breeze environment and starts all Airflow components in the tmux session. Compile assets if contents of www  +directory changed. + +╭─ Basic flags ────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--load-example-dags-eEnable configuration to load example DAGs when starting Airflow. +--load-default-connections-cEnable configuration to load default connections when starting Airflow. +--backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] +--platformPlatform for Airflow image.(linux/amd64 | linux/arm64) +--postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] +--mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] +--mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] +--integrationIntegration(s) to enable when running (can be more than one).                        +(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino +| all)                                                                               +--forward-credentials-fForward local credentials to container when running. +--db-reset-dReset DB when entering the container. +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Asset compilation options ──────────────────────────────────────────────────────────────────────────────────────────╮ +--skip-asset-compilationSkips compilation of assets when starting airflow even if the content of www changed     +(mutually exclusive with --dev-mode).                                                    +--dev-modeStarts webserver in dev mode (assets are always recompiled in this case when starting)   +(mutually exclusive with --skip-asset-compilation).                                      +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Advanced flag for running ──────────────────────────────────────────────────────────────────────────────────────────╮ +--use-airflow-versionUse (reinstall at entry) Airflow version from PyPI. It can also be `none`,      +`wheel`, or `sdist` if Airflow should be removed, installed from wheel packages +or sdist packages available in dist folder respectively. Implies                +--mount-sources `remove`.                                                       +(none | wheel | sdist | <airflow_version>)                                      +--airflow-constraints-referenceConstraint reference to use. Useful with --use-airflow-version parameter to     +specify constraints for the installed version and to find newer dependencies    +(TEXT)                                                                          +--airflow-extrasAirflow extras to install when --use-airflow-version is used(TEXT) +--use-packages-from-distInstall all found packages (--package-format determines type) from 'dist'       +folder when entering breeze.                                                    +--package-formatFormat of packages that should be installed from dist.(wheel | sdist) +[default: wheel]                                       +--force-buildForce image build no matter if it is determined as needed. +--image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip). +(TEXT)                                                                          +[default: latest]                                                               +--mount-sourcesChoose scope of local sources that should be mounted, skipped, or removed       +(default = selected).                                                           +(selected | all | skip | remove)                                                +[default: selected]                                                             +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--answer-aForce answer to questions.(y | n | q | yes | no | quit) +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_stop.svg b/images/breeze/output_stop.svg index 54785bed03598..51b1bfab3a7e5 100644 --- a/images/breeze/output_stop.svg +++ b/images/breeze/output_stop.svg @@ -35,8 +35,8 @@ .terminal-893805321-r1 { fill: #c5c8c6;font-weight: bold } .terminal-893805321-r2 { fill: #c5c8c6 } .terminal-893805321-r3 { fill: #d0b344;font-weight: bold } -.terminal-893805321-r4 { fill: #868887 } -.terminal-893805321-r5 { fill: #68a0b3;font-weight: bold } +.terminal-893805321-r4 { fill: #68a0b3;font-weight: bold } +.terminal-893805321-r5 { fill: #868887 } .terminal-893805321-r6 { fill: #98a84b;font-weight: bold } @@ -93,18 +93,18 @@ -Usage: breeze stop [OPTIONS] +Usage: breeze stop [OPTIONS] Stop running breeze environment. -╭─ Stop flags ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---preserve-volumes-pSkip removing volumes when stopping Breeze. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Stop flags ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--preserve-volumes-pSkip removing volumes when stopping Breeze. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_testing.svg b/images/breeze/output_testing.svg index ed5d5d1ccb92f..a22633da5fb84 100644 --- a/images/breeze/output_testing.svg +++ b/images/breeze/output_testing.svg @@ -35,8 +35,8 @@ .terminal-3208273230-r1 { fill: #c5c8c6;font-weight: bold } .terminal-3208273230-r2 { fill: #c5c8c6 } .terminal-3208273230-r3 { fill: #d0b344;font-weight: bold } -.terminal-3208273230-r4 { fill: #68a0b3;font-weight: bold } -.terminal-3208273230-r5 { fill: #868887 } +.terminal-3208273230-r4 { fill: #868887 } +.terminal-3208273230-r5 { fill: #68a0b3;font-weight: bold } .terminal-3208273230-r6 { fill: #98a84b;font-weight: bold } @@ -93,18 +93,18 @@ -Usage: breeze testing [OPTIONSCOMMAND [ARGS]... +Usage: breeze testing [OPTIONS] COMMAND [ARGS]... Tools that developers can use to run tests -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Testing ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ -tests                                    Run the specified unit test targets.                                      -helm-tests                               Run Helm chart tests.                                                     -docker-compose-tests                     Run docker-compose tests.                                                 -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Testing ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +tests                                    Run the specified unit test targets.                                      +helm-tests                               Run Helm chart tests.                                                     +docker-compose-tests                     Run docker-compose tests.                                                 +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_testing_docker-compose-tests.svg b/images/breeze/output_testing_docker-compose-tests.svg index 78c8b50b68c0a..6a840bd576f1e 100644 --- a/images/breeze/output_testing_docker-compose-tests.svg +++ b/images/breeze/output_testing_docker-compose-tests.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: testing docker-compose-tests + Command: testing docker-compose-tests - + - - -Usage: breeze testing docker-compose-tests [OPTIONS] [EXTRA_PYTEST_ARGS]... - -Run docker-compose tests. - -╭─ Docker-compose tests flag ──────────────────────────────────────────────────────────────────────────────────────────╮ ---image-name-nName of the image to verify (overrides --python and --image-tag).(TEXT) ---image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip).(TEXT) -[default: latest]                                                               ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze testing docker-compose-tests [OPTIONS] [EXTRA_PYTEST_ARGS]... + +Run docker-compose tests. + +╭─ Docker-compose tests flag ──────────────────────────────────────────────────────────────────────────────────────────╮ +--image-name-nName of the image to verify (overrides --python and --image-tag).(TEXT) +--image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip).(TEXT) +[default: latest]                                                               +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--github-repository-gGitHub repository used to pull, push run images.(TEXT)[default: apache/airflow] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/images/breeze/output_testing_tests.svg b/images/breeze/output_testing_tests.svg index 4c30bc457656d..39e581ff81411 100644 --- a/images/breeze/output_testing_tests.svg +++ b/images/breeze/output_testing_tests.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - Command: testing tests + Command: testing tests - + - - -Usage: breeze testing tests [OPTIONS] [EXTRA_PYTEST_ARGS]... - -Run the specified unit test targets. - -╭─ Basic flag for tests command ───────────────────────────────────────────────────────────────────────────────────────╮ ---integrationIntegration(s) to enable when running (can be more than one).                               -(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino | all) ---test-typeType of test to run. Note that with Providers, you can also specify which provider tests     -should be run - for example --test-type "Providers[airbyte,http]"                            -(All | API | Always | CLI | Core | Integration | Other | Providers | WWW | Helm | Postgres | -MySQL | Quarantine)                                                                          ---test-timeoutTest timeout. Set the pytest setup, execution and teardown timeouts to this value -(INTEGER RANGE)                                                                   -[default: 60; x>=0]                                                               ---db-reset-dReset DB when entering the container. ---backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] ---python-pPython major/minor version used in Airflow image for images.(>3.7< | 3.8 | 3.9 | 3.10) -[default: 3.7]                                               ---postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] ---mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] ---mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Options for parallel test commands ─────────────────────────────────────────────────────────────────────────────────╮ ---run-in-parallelRun the operation in parallel on all or selected subset of Python versions. ---parallelismMaximum number of processes to use while running the operation in parallel. -(INTEGER RANGE)                                                             -[default: 4; 1<=x<=8]                                                       ---test-typesSpace separated list of test types used for testing in parallel.(TEXT) -[default: API Always CLI Core Integration Other Providers WWW]   ---skip-cleanupSkip cleanup of temporary files created during parallel run. ---debug-resourcesWhether to show resource information while running in parallel. ---include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). ---full-tests-neededWhether full set of tests is run. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Advanced flag for tests command ────────────────────────────────────────────────────────────────────────────────────╮ ---image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip).(TEXT) -[default: latest]                                                               ---mount-sourcesChoose scope of local sources that should be mounted, skipped, or removed (default = selected). -(selected | all | skip | remove)                                                                -[default: selected]                                                                             -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ ---verbose-vPrint verbose information about performed steps. ---dry-run-DIf dry-run is set, commands are only printed, not executed. ---help-hShow this message and exit. -╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +Usage: breeze testing tests [OPTIONS] [EXTRA_PYTEST_ARGS]... + +Run the specified unit test targets. + +╭─ Basic flag for tests command ───────────────────────────────────────────────────────────────────────────────────────╮ +--integrationIntegration(s) to enable when running (can be more than one).                               +(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino | all) +--test-typeType of test to run. Note that with Providers, you can also specify which provider tests     +should be run - for example --test-type "Providers[airbyte,http]"                            +(All | API | Always | CLI | Core | Integration | Other | Providers | WWW | Helm | Postgres | +MySQL | Quarantine)                                                                          +--test-timeoutTest timeout. Set the pytest setup, execution and teardown timeouts to this value +(INTEGER RANGE)                                                                   +[default: 60; x>=0]                                                               +--db-reset-dReset DB when entering the container. +--backend-bDatabase backend to use.(>sqlite< | mysql | postgres | mssql)[default: sqlite] +--python-pPython major/minor version used in Airflow image for images. +(>3.7< | 3.8 | 3.9 | 3.10 | 3.11)                            +[default: 3.7]                                               +--postgres-version-PVersion of Postgres used.(>11< | 12 | 13 | 14 | 15)[default: 11] +--mysql-version-MVersion of MySQL used.(>5.7< | 8)[default: 5.7] +--mssql-version-SVersion of MsSQL used.(>2017-latest< | 2019-latest)[default: 2017-latest] +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Options for parallel test commands ─────────────────────────────────────────────────────────────────────────────────╮ +--run-in-parallelRun the operation in parallel on all or selected subset of Python versions. +--parallelismMaximum number of processes to use while running the operation in parallel. +(INTEGER RANGE)                                                             +[default: 4; 1<=x<=8]                                                       +--test-typesSpace separated list of test types used for testing in parallel.(TEXT) +[default: API Always CLI Core Integration Other Providers WWW]   +--skip-cleanupSkip cleanup of temporary files created during parallel run. +--debug-resourcesWhether to show resource information while running in parallel. +--include-success-outputsWhether to include outputs of successful parallel runs (skipped by default). +--full-tests-neededWhether full set of tests is run. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Advanced flag for tests command ────────────────────────────────────────────────────────────────────────────────────╮ +--image-tag-tTag of the image which is used to run the image (implies --mount-sources=skip).(TEXT) +[default: latest]                                                               +--mount-sourcesChoose scope of local sources that should be mounted, skipped, or removed (default = selected). +(selected | all | skip | remove)                                                                +[default: selected]                                                                             +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─ Common options ─────────────────────────────────────────────────────────────────────────────────────────────────────╮ +--verbose-vPrint verbose information about performed steps. +--dry-run-DIf dry-run is set, commands are only printed, not executed. +--help-hShow this message and exit. +╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ diff --git a/scripts/ci/pre_commit/pre_commit_update_providers_dependencies.py b/scripts/ci/pre_commit/pre_commit_update_providers_dependencies.py index b3782955a64d5..8ecdb513906b1 100755 --- a/scripts/ci/pre_commit/pre_commit_update_providers_dependencies.py +++ b/scripts/ci/pre_commit/pre_commit_update_providers_dependencies.py @@ -45,9 +45,6 @@ warnings: list[str] = [] errors: list[str] = [] -CROSS_PROVIDERS_DEPS = "cross-providers-deps" -DEPS = "deps" - ALL_DEPENDENCIES: dict[str, dict[str, list[str]]] = defaultdict(lambda: defaultdict(list)) ALL_PROVIDERS: dict[str, dict[str, Any]] = defaultdict(lambda: defaultdict()) @@ -160,7 +157,7 @@ def check_if_different_provider_used(file_path: Path) -> None: if imported_provider is not None and imported_provider not in ALL_PROVIDERS: warnings.append(f"The provider {imported_provider} from {file_path} cannot be found.") elif imported_provider and file_provider != imported_provider: - ALL_DEPENDENCIES[file_provider][CROSS_PROVIDERS_DEPS].append(imported_provider) + ALL_DEPENDENCIES[file_provider]["cross-providers-deps"].append(imported_provider) if __name__ == "__main__": @@ -173,7 +170,7 @@ def check_if_different_provider_used(file_path: Path) -> None: check_if_different_provider_used(file) for provider, provider_yaml_content in ALL_PROVIDERS.items(): - ALL_DEPENDENCIES[provider][DEPS].extend(provider_yaml_content["dependencies"]) + ALL_DEPENDENCIES[provider]["deps"].extend(provider_yaml_content["dependencies"]) if warnings: console.print("[yellow]Warnings!\n") @@ -187,9 +184,13 @@ def check_if_different_provider_used(file_path: Path) -> None: console.print(f"[bright_blue]Total: {len(errors)} errors.") unique_sorted_dependencies: dict[str, dict[str, list[str]]] = defaultdict(dict) for key in sorted(ALL_DEPENDENCIES.keys()): - unique_sorted_dependencies[key][DEPS] = sorted(ALL_DEPENDENCIES[key][DEPS]) - unique_sorted_dependencies[key][CROSS_PROVIDERS_DEPS] = sorted( - set(ALL_DEPENDENCIES[key][CROSS_PROVIDERS_DEPS]) + unique_sorted_dependencies[key]["deps"] = sorted(ALL_DEPENDENCIES[key]["deps"]) + unique_sorted_dependencies[key]["cross-providers-deps"] = sorted( + set(ALL_DEPENDENCIES[key]["cross-providers-deps"]) + ) + excluded_versions = ALL_PROVIDERS[key].get("excluded-python-versions") + unique_sorted_dependencies[key]["excluded-python-versions"] = ( + excluded_versions if excluded_versions else [] ) if errors: console.print() diff --git a/setup.cfg b/setup.cfg index 59e6686ab55a8..6bd3817ccb842 100644 --- a/setup.cfg +++ b/setup.cfg @@ -39,6 +39,7 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 Topic :: System :: Monitoring Framework :: Apache Airflow project_urls = diff --git a/setup.py b/setup.py index f40be59dc95fe..bddcb0c0e2711 100644 --- a/setup.py +++ b/setup.py @@ -54,8 +54,7 @@ AIRFLOW_SOURCES_ROOT = Path(__file__).parent.resolve() PROVIDERS_ROOT = AIRFLOW_SOURCES_ROOT / "airflow" / "providers" -CROSS_PROVIDERS_DEPS = "cross-providers-deps" -DEPS = "deps" +CURRENT_PYTHON_VERSION = f"{sys.version_info.major}.{sys.version_info.minor}" # @@ -65,7 +64,17 @@ # def fill_provider_dependencies() -> dict[str, dict[str, list[str]]]: try: - return json.loads((AIRFLOW_SOURCES_ROOT / "generated" / "provider_dependencies.json").read_text()) + dependencies = json.loads( + (AIRFLOW_SOURCES_ROOT / "generated" / "provider_dependencies.json").read_text() + ) + for key in list(dependencies.keys()): + if CURRENT_PYTHON_VERSION in dependencies[key]["excluded-python-versions"]: + print( + f"Excluding provider {key} because it is not " + f"compatible with Python {CURRENT_PYTHON_VERSION}" + ) + del dependencies[key] + return dependencies except Exception as e: print(f"Exception while loading provider dependencies {e}") # we can ignore loading dependencies when they are missing - they are only used to generate @@ -413,7 +422,10 @@ def write_version(filename: str = str(AIRFLOW_SOURCES_ROOT / "airflow" / "git_ve def get_provider_dependencies(provider_name: str) -> list[str]: - return PROVIDER_DEPENDENCIES[provider_name][DEPS] + provider_dict = PROVIDER_DEPENDENCIES.get(provider_name) + if provider_dict: + return PROVIDER_DEPENDENCIES[provider_name]["deps"] + return [] def get_unique_dependency_list(req_list_iterable: Iterable[list[str]]): @@ -449,7 +461,7 @@ def get_unique_dependency_list(req_list_iterable: Iterable[list[str]]): ) # Those are all additional extras which do not have their own 'providers' -# The 'apache.atlas' and 'apache.webhdfs' are extras that provide additional libraries +# The 'apache.atlas' and 'apache.webhdfs' are extras that provide additional libraries, # but they do not have separate providers (yet?), they are merely there to add extra libraries # That can be used in custom python/bash operators. ADDITIONAL_EXTRAS_DEPENDENCIES: dict[str, list[str]] = { @@ -479,12 +491,17 @@ def get_unique_dependency_list(req_list_iterable: Iterable[list[str]]): "virtualenv": virtualenv, } +for key in list(CORE_EXTRAS_DEPENDENCIES.keys()): + if not CORE_EXTRAS_DEPENDENCIES[key]: + print(f"Removing extra {key} as it has been excluded") + del CORE_EXTRAS_DEPENDENCIES[key] + EXTRAS_DEPENDENCIES: dict[str, list[str]] = deepcopy(CORE_EXTRAS_DEPENDENCIES) def add_extras_for_all_providers() -> None: for (provider_name, provider_dict) in PROVIDER_DEPENDENCIES.items(): - EXTRAS_DEPENDENCIES[provider_name] = provider_dict[DEPS] + EXTRAS_DEPENDENCIES[provider_name] = provider_dict["deps"] def add_additional_extras() -> None: @@ -541,8 +558,9 @@ def add_extras_for_all_deprecated_aliases() -> None: for alias, extra in EXTRAS_DEPRECATED_ALIASES.items(): dependencies = EXTRAS_DEPENDENCIES.get(extra) if extra != "" else [] if dependencies is None: - raise Exception(f"The extra {extra} is missing for deprecated alias {alias}") - EXTRAS_DEPENDENCIES[alias] = dependencies + print(f"Skipping adding {alias} alias because {extra} has been excluded") + else: + EXTRAS_DEPENDENCIES[alias] = dependencies def add_all_deprecated_provider_packages() -> None: @@ -595,8 +613,12 @@ def add_all_deprecated_provider_packages() -> None: def get_all_db_dependencies() -> list[str]: _all_db_reqs: set[str] = set() for provider in ALL_DB_PROVIDERS: - for req in PROVIDER_DEPENDENCIES[provider][DEPS]: - _all_db_reqs.add(req) + dependencies = PROVIDER_DEPENDENCIES.get(provider) + if dependencies is None: + print(f"Not adding {provider} dependencies to all_db as it has been excluded") + else: + for req in PROVIDER_DEPENDENCIES[provider]["deps"]: + _all_db_reqs.add(req) return list(_all_db_reqs)