You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2023/08/20 17:28:41 UTC
[airflow] branch main updated: Separate Innovation, LTS and old releases of MySQL backend (#33522)
This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 7d352e20f5 Separate Innovation, LTS and old releases of MySQL backend (#33522)
7d352e20f5 is described below
commit 7d352e20f5d21e6fef607832f3501d8199932f9f
Author: Andrey Anshin <An...@taragol.is>
AuthorDate: Sun Aug 20 21:28:33 2023 +0400
Separate Innovation, LTS and old releases of MySQL backend (#33522)
* Separate Innovation, LTS and old releases of MySQL backend
* Run tests against 'innovation' mysql releases
---
.../airflow_breeze/commands/developer_commands.py | 4 ++--
dev/breeze/src/airflow_breeze/global_constants.py | 20 ++++++++++++++++++--
.../src/airflow_breeze/utils/common_options.py | 3 ++-
.../src/airflow_breeze/utils/custom_param_types.py | 22 ++++++++++++++++++++++
images/breeze/output-commands-hash.txt | 16 ++++++++--------
images/breeze/output-commands.svg | 2 +-
images/breeze/output_setup_config.svg | 2 +-
images/breeze/output_shell.svg | 2 +-
images/breeze/output_start-airflow.svg | 2 +-
images/breeze/output_testing_integration-tests.svg | 2 +-
images/breeze/output_testing_tests.svg | 2 +-
11 files changed, 58 insertions(+), 19 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
index 71c6fc85e0..59671a273f 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
@@ -730,11 +730,11 @@ def enter_shell(**kwargs) -> RunCommandResult:
cmd.extend(["-c", cmd_added])
if "arm64" in DOCKER_DEFAULT_PLATFORM:
if shell_params.backend == "mysql":
- if shell_params.mysql_version == "8":
+ if not shell_params.mysql_version.startswith("5"):
get_console().print("\n[warn]MySQL use MariaDB client binaries on ARM architecture.[/]\n")
else:
get_console().print(
- f"\n[error]Only MySQL 8.0 is supported on ARM architecture, "
+ f"\n[error]Only MySQL 8.x is supported on ARM architecture, "
f"but got {shell_params.mysql_version}[/]\n"
)
sys.exit(1)
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py
index 766dc094ec..ceafd6c43f 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -84,7 +84,19 @@ MOUNT_REMOVE = "remove"
ALLOWED_MOUNT_OPTIONS = [MOUNT_SELECTED, MOUNT_ALL, MOUNT_SKIP, MOUNT_REMOVE]
ALLOWED_POSTGRES_VERSIONS = ["11", "12", "13", "14", "15"]
-ALLOWED_MYSQL_VERSIONS = ["5.7", "8"]
+# Oracle introduced new release model for MySQL
+# - LTS: Long Time Support releases, new release approx every 2 year,
+# with 5 year premier and 3 year extended support, no new features/removals during current LTS release.
+# the first LTS release should be in summer/fall 2024.
+# - Innovations: Shot living releases with short support cycle - only until next Innovation/LTS release.
+# See: https://dev.mysql.com/blog-archive/introducing-mysql-innovation-and-long-term-support-lts-versions/
+MYSQL_LTS_RELEASES: list[str] = []
+MYSQL_OLD_RELEASES = ["5.7", "8.0"]
+MYSQL_INNOVATION_RELEASE = "8.1"
+ALLOWED_MYSQL_VERSIONS = [*MYSQL_OLD_RELEASES, *MYSQL_LTS_RELEASES]
+if MYSQL_INNOVATION_RELEASE:
+ ALLOWED_MYSQL_VERSIONS.append(MYSQL_INNOVATION_RELEASE)
+
ALLOWED_MSSQL_VERSIONS = ["2017-latest", "2019-latest"]
PIP_VERSION = "23.2.1"
@@ -190,7 +202,11 @@ ALL_PYTHON_MAJOR_MINOR_VERSIONS = ["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]
-CURRENT_MYSQL_VERSIONS = ["5.7", "8"]
+USE_MYSQL_INNOVATION_RELEASE = True
+if USE_MYSQL_INNOVATION_RELEASE:
+ CURRENT_MYSQL_VERSIONS = ALLOWED_MYSQL_VERSIONS.copy()
+else:
+ CURRENT_MYSQL_VERSIONS = [*MYSQL_OLD_RELEASES, *MYSQL_LTS_RELEASES]
DEFAULT_MYSQL_VERSION = CURRENT_MYSQL_VERSIONS[0]
CURRENT_MSSQL_VERSIONS = ["2017-latest", "2019-latest"]
DEFAULT_MSSQL_VERSION = CURRENT_MSSQL_VERSIONS[0]
diff --git a/dev/breeze/src/airflow_breeze/utils/common_options.py b/dev/breeze/src/airflow_breeze/utils/common_options.py
index 19dc387c32..c5bfe688f2 100644
--- a/dev/breeze/src/airflow_breeze/utils/common_options.py
+++ b/dev/breeze/src/airflow_breeze/utils/common_options.py
@@ -51,6 +51,7 @@ from airflow_breeze.utils.custom_param_types import (
CacheableChoice,
CacheableDefault,
DryRunOption,
+ MySQLBackendVersionType,
UseAirflowVersionType,
VerboseOption,
)
@@ -151,7 +152,7 @@ option_mysql_version = click.option(
"-M",
"--mysql-version",
help="Version of MySQL used.",
- type=CacheableChoice(ALLOWED_MYSQL_VERSIONS),
+ type=MySQLBackendVersionType(ALLOWED_MYSQL_VERSIONS),
default=CacheableDefault(ALLOWED_MYSQL_VERSIONS[0]),
show_default=True,
)
diff --git a/dev/breeze/src/airflow_breeze/utils/custom_param_types.py b/dev/breeze/src/airflow_breeze/utils/custom_param_types.py
index 5fca204a4d..d2be85aa3b 100644
--- a/dev/breeze/src/airflow_breeze/utils/custom_param_types.py
+++ b/dev/breeze/src/airflow_breeze/utils/custom_param_types.py
@@ -191,6 +191,28 @@ class CacheableChoice(click.Choice):
super().__init__(choices=choices, case_sensitive=case_sensitive)
+class MySQLBackendVersionType(CacheableChoice):
+ def convert(self, value, param, ctx):
+ if isinstance(value, CacheableDefault):
+ param_name = param.envvar if param.envvar else param.name.upper()
+ mysql_version = read_from_cache_file(param_name)
+ if mysql_version == "8":
+ value = "8.0"
+ get_console().print(
+ f"\n[warning]Found outdated cached value {mysql_version} for parameter {param.name}. "
+ f"Replaced by {value}"
+ )
+ write_to_cache_file(param_name, "8.0", check_allowed_values=False)
+ else:
+ if value == "8":
+ value = "8.0"
+ get_console().print(
+ f"\n[warning]Provided outdated value {8} for parameter {param.name}. "
+ f"Will use {value} instead"
+ )
+ return super().convert(value, param, ctx)
+
+
class UseAirflowVersionType(BetterChoice):
"""Extends choice with dynamic version number."""
diff --git a/images/breeze/output-commands-hash.txt b/images/breeze/output-commands-hash.txt
index 0ecce01fda..5c81b1f825 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -1,7 +1,7 @@
# 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:344261ca3aa7ff31e098b1d88280566a
+main:42493af4045e28dcf52040810fbb7036
build-docs:bfc91db55c595516fe84d56c96a5a8e0
ci:find-backtracking-candidates:17fe56b867a745e5032a08dfcd3f73ee
ci:fix-ownership:3e5a73533cc96045e72cb258783cfc96
@@ -57,16 +57,16 @@ sbom:update-sbom-information:0ce56884e5f842e3e80d6619df1ccc64
sbom:935d041028e847d3faf763a95b51063e
setup:autocomplete:fffcd49e102e09ccd69b3841a9e3ea8e
setup:check-all-params-in-groups:639dfb061b8da02dcaa4a57b567ff42a
-setup:config:38ebaaf93ed42bc7b2a3000eeea2631d
+setup:config:fd32471ee31894decf91984615771add
setup:regenerate-command-images:d5e29ec6acb1a6af7d83772c2962f89d
setup:self-upgrade:4af905a147fcd6670a0e33d3d369a94b
setup:version:be116d90a21c2afe01087f7609774e1e
-setup:8de3ed2645928e8f9f89c58f0ccd2a60
-shell:87e7bdcebe1180395adfec86b2a065f5
-start-airflow:f7216a8126ecf14b033e2ea677e1a105
+setup:fd391bab5277ad3aca65987a84144d51
+shell:c7adf57a354ecb496ae12fc0b9eaea80
+start-airflow:23df4528b3972977e58f7d29336500f7
static-checks:5ded21248cd4f5617779f58ecf6c554c
testing:docker-compose-tests:0c810047fc66a0cfe91119e2d08b3507
testing:helm-tests:8e491da2e01ebd815322c37562059d77
-testing:integration-tests:486e4d91449ecdb7630ef2a470d705a3
-testing:tests:3c202e65824e405269e78f58936980e0
-testing:68a089bc30e0e60f834f205df1e9f086
+testing:integration-tests:f2a400ac9f722b9c279abbd4e3313e71
+testing:tests:abc232b1a9b416928ccc0a7dd904ed18
+testing:e6d79999174876ea42e73454f0ba9342
diff --git a/images/breeze/output-commands.svg b/images/breeze/output-commands.svg
index 65ed6cdbb0..51829ca34b 100644
--- a/images/breeze/output-commands.svg
+++ b/images/breeze/output-commands.svg
@@ -224,7 +224,7 @@
</text><text class="breeze-help-r5" x="0" y="142" textLength="12.2" clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r5" x="353.8" y="142" textLength="732" clip-path="url(#breeze-help-line-5)">[default: 3.8]                                           & [...]
</text><text class="breeze-help-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">-</text><text class="breeze-help-r4" x="36.6" y="166.4" textLength="97.6" clip-path="url(#breeze-help-line-6)">-backend</text><text class="breeze-help-r6" x="305" y="166.4" textLength="24.4" clip-path="url(#breeze-help-line-6)">-b</text><text class="breeze-help-r2" x="353.8 [...]
</text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r4" x="36.6" y="190.8" textLength="109.8" clip-path="url(#breeze-help-line-7)">-postgres</text><text class="breeze-help-r4" x="146.4" y="190.8" textLength="97.6" clip-path="url(#breeze-help-line-7)">-version</text><text class="breeze-help-r6 [...]
-</text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">-</text><text class="breeze-help-r4" x="36.6" y="215.2" textLength="73.2" clip-path="url(#breeze-help-line-8)">-mysql</text><text class="breeze-help-r4" x="109.8" y="215.2" textLength="97.6" clip-path="url(#breeze-help-line-8)">-version</text><text class="breeze-help-r6" x= [...]
+</text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">-</text><text class="breeze-help-r4" x="36.6" y="215.2" textLength="73.2" clip-path="url(#breeze-help-line-8)">-mysql</text><text class="breeze-help-r4" x="109.8" y="215.2" textLength="97.6" clip-path="url(#breeze-help-line-8)">-version</text><text class="breeze-help-r6" x= [...]
</text><text class="breeze-help-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-help-line-9)">-</text><text class="breeze-help-r4" x="36.6" y="239.6" textLength="73.2" clip-path="url(#breeze-help-line-9)">-mssql</text><text class="breeze-help-r4" x="109.8" y="239.6" textLength="97.6" clip-path="url(#breeze-help-line-9)">-version</text><text class="breeze-help-r6" x= [...]
</text><text class="breeze-help-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r4" x="36.6" y="264" textLength="146.4" clip-path="url(#breeze-help-line-10)">-integration</text><text class="breeze-help-r2" x="353.8" y="264" textLength="1085.8" clip-path="url(#breeze-help-line-10)">Integration(s) to enable w [...]
</text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r7" x="353.8" y="288.4" textLength="1085.8" clip-path="url(#breeze-help-line-11)">(all | all-testable | cassandra | celery | kafka | kerberos | mongo | otel | pinot |     </text><text class="breeze-help-r5" x="1451.8" y="288.4" textLength="1 [...]
diff --git a/images/breeze/output_setup_config.svg b/images/breeze/output_setup_config.svg
index 43fcb8bc98..65f4338133 100644
--- a/images/breeze/output_setup_config.svg
+++ b/images/breeze/output_setup_config.svg
@@ -129,7 +129,7 @@
</text><text class="breeze-setup-config-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-9)">│</text><text class="breeze-setup-config-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-9)">-</text><text class="breeze-setup-config-r4" x="36.6" y="239.6" textLength="97.6" clip-path="url(#breeze-setup-config-line-9)">-backend</text><text class="breeze-setup-config-r6" x="390.4" y="239.6" textLength="24.4" clip-path="url(#breeze-se [...]
</text><text class="breeze-setup-config-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-config-line-10)">│</text><text class="breeze-setup-config-r5" x="475.8" y="264" textLength="292.8" clip-path="url(#breeze-setup-config-line-10)">[default: sqlite]       </text><text class="breeze-setup-config-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-setup-config-line-10)">│</text><text class="breeze-setup-config-r2" x="146 [...]
</text><text class="breeze-setup-config-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-config-line-11)">│</text><text class="breeze-setup-config-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-config-line-11)">-</text><text class="breeze-setup-config-r4" x="36.6" y="288.4" textLength="109.8" clip-path="url(#breeze-setup-config-line-11)">-postgres</text><text class="breeze-setup-config-r4" x="146.4" y="288.4" textLength="97.6" clip-path="url(#bree [...]
-</text><text class="breeze-setup-config-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-config-line-12)">│</text><text class="breeze-setup-config-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-config-line-12)">-</text><text class="breeze-setup-config-r4" x="36.6" y="312.8" textLength="73.2" clip-path="url(#breeze-setup-config-line-12)">-mysql</text><text class="breeze-setup-config-r4" x="109.8" y="312.8" textLength="97.6" clip-path="url(#breeze-s [...]
+</text><text class="breeze-setup-config-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-config-line-12)">│</text><text class="breeze-setup-config-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-config-line-12)">-</text><text class="breeze-setup-config-r4" x="36.6" y="312.8" textLength="73.2" clip-path="url(#breeze-setup-config-line-12)">-mysql</text><text class="breeze-setup-config-r4" x="109.8" y="312.8" textLength="97.6" clip-path="url(#breeze-s [...]
</text><text class="breeze-setup-config-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-config-line-13)">│</text><text class="breeze-setup-config-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-config-line-13)">-</text><text class="breeze-setup-config-r4" x="36.6" y="337.2" textLength="73.2" clip-path="url(#breeze-setup-config-line-13)">-mssql</text><text class="breeze-setup-config-r4" x="109.8" y="337.2" textLength="97.6" clip-path="url(#breeze-s [...]
</text><text class="breeze-setup-config-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-14)">│</text><text class="breeze-setup-config-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-14)">-</text><text class="breeze-setup-config-r4" x="36.6" y="361.6" textLength="134.2" clip-path="url(#breeze-setup-config-line-14)">-cheatsheet</text><text class="breeze-setup-config-r2" x="170.8" y="361.6" textLength="12.2" clip-path="url(#br [...]
</text><text class="breeze-setup-config-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-config-line-15)">│</text><text class="breeze-setup-config-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-setup-config-line-15)">-</text><text class="breeze-setup-config-r4" x="36.6" y="386" textLength="109.8" clip-path="url(#breeze-setup-config-line-15)">-asciiart</text><text class="breeze-setup-config-r2" x="146.4" y="386" textLength="12.2" clip-path="url(#breeze-setup [...]
diff --git a/images/breeze/output_shell.svg b/images/breeze/output_shell.svg
index a8dd2ecd2e..eae573b528 100644
--- a/images/breeze/output_shell.svg
+++ b/images/breeze/output_shell.svg
@@ -256,7 +256,7 @@
</text><text class="breeze-shell-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-shell-line-7)">│</text><text class="breeze-shell-r5" x="353.8" y="190.8" textLength="732" clip-path="url(#breeze-shell-line-7)">[default: 3.8]                                           [...]
</text><text class="breeze-shell-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-shell-line-8)">│</text><text class="breeze-shell-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-shell-line-8)">-</text><text class="breeze-shell-r4" x="36.6" y="215.2" textLength="97.6" clip-path="url(#breeze-shell-line-8)">-backend</text><text class="breeze-shell-r6" x="305" y="215.2" textLength="24.4" clip-path="url(#breeze-shell-line-8)">-b</text><text class="breeze-shell-r2" [...]
</text><text class="breeze-shell-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-shell-line-9)">│</text><text class="breeze-shell-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-shell-line-9)">-</text><text class="breeze-shell-r4" x="36.6" y="239.6" textLength="109.8" clip-path="url(#breeze-shell-line-9)">-postgres</text><text class="breeze-shell-r4" x="146.4" y="239.6" textLength="97.6" clip-path="url(#breeze-shell-line-9)">-version</text><text class="breeze [...]
-</text><text class="breeze-shell-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">│</text><text class="breeze-shell-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">-</text><text class="breeze-shell-r4" x="36.6" y="264" textLength="73.2" clip-path="url(#breeze-shell-line-10)">-mysql</text><text class="breeze-shell-r4" x="109.8" y="264" textLength="97.6" clip-path="url(#breeze-shell-line-10)">-version</text><text class="breeze-shell-r [...]
+</text><text class="breeze-shell-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">│</text><text class="breeze-shell-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">-</text><text class="breeze-shell-r4" x="36.6" y="264" textLength="73.2" clip-path="url(#breeze-shell-line-10)">-mysql</text><text class="breeze-shell-r4" x="109.8" y="264" textLength="97.6" clip-path="url(#breeze-shell-line-10)">-version</text><text class="breeze-shell-r [...]
</text><text class="breeze-shell-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-shell-line-11)">│</text><text class="breeze-shell-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-shell-line-11)">-</text><text class="breeze-shell-r4" x="36.6" y="288.4" textLength="73.2" clip-path="url(#breeze-shell-line-11)">-mssql</text><text class="breeze-shell-r4" x="109.8" y="288.4" textLength="97.6" clip-path="url(#breeze-shell-line-11)">-version</text><text class="breeze [...]
</text><text class="breeze-shell-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-shell-line-12)">│</text><text class="breeze-shell-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-shell-line-12)">-</text><text class="breeze-shell-r4" x="36.6" y="312.8" textLength="146.4" clip-path="url(#breeze-shell-line-12)">-integration</text><text class="breeze-shell-r2" x="353.8" y="312.8" textLength="1085.8" clip-path="url(#breeze-shell-line-12)">Integration(s) to [...]
</text><text class="breeze-shell-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-shell-line-13)">│</text><text class="breeze-shell-r7" x="353.8" y="337.2" textLength="1085.8" clip-path="url(#breeze-shell-line-13)">(all | all-testable | cassandra | celery | kafka | kerberos | mongo | otel | pinot |     </text><text class="breeze-shell-r5" x="1451.8" y="337.2" textLeng [...]
diff --git a/images/breeze/output_start-airflow.svg b/images/breeze/output_start-airflow.svg
index 0773980eef..e7b45c11c1 100644
--- a/images/breeze/output_start-airflow.svg
+++ b/images/breeze/output_start-airflow.svg
@@ -270,7 +270,7 @@
</text><text class="breeze-start-airflow-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-12)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-12)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="312.8" textLength="97.6" clip-path="url(#breeze-start-airflow-line-12)">-backend</text><text class="breeze-start-airflow-r6" x="366" y="312.8" textLength="24.4" clip-path="url(#b [...]
</text><text class="breeze-start-airflow-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-13)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-13)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="337.2" textLength="109.8" clip-path="url(#breeze-start-airflow-line-13)">-platform</text><text class="breeze-start-airflow-r2" x="414.8" y="337.2" textLength="329.4" clip-path="u [...]
</text><text class="breeze-start-airflow-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-14)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-14)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="361.6" textLength="109.8" clip-path="url(#breeze-start-airflow-line-14)">-postgres</text><text class="breeze-start-airflow-r4" x="146.4" y="361.6" textLength="97.6" clip-path="ur [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="386" textLength="73.2" clip-path="url(#breeze-start-airflow-line-15)">-mysql</text><text class="breeze-start-airflow-r4" x="109.8" y="386" textLength="97.6" clip-path="url(#breeze-st [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-start-airflow-line-15)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="386" textLength="73.2" clip-path="url(#breeze-start-airflow-line-15)">-mysql</text><text class="breeze-start-airflow-r4" x="109.8" y="386" textLength="97.6" clip-path="url(#breeze-st [...]
</text><text class="breeze-start-airflow-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-16)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-16)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="410.4" textLength="73.2" clip-path="url(#breeze-start-airflow-line-16)">-mssql</text><text class="breeze-start-airflow-r4" x="109.8" y="410.4" textLength="97.6" clip-path="url(#b [...]
</text><text class="breeze-start-airflow-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-17)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-17)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="434.8" textLength="146.4" clip-path="url(#breeze-start-airflow-line-17)">-integration</text><text class="breeze-start-airflow-r2" x="414.8" y="434.8" textLength="1024.8" clip-pat [...]
</text><text class="breeze-start-airflow-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-18)">│</text><text class="breeze-start-airflow-r7" x="414.8" y="459.2" textLength="1024.8" clip-path="url(#breeze-start-airflow-line-18)">(all | all-testable | cassandra | celery | kafka | kerberos | mongo | otel | pinot |</text><text class="breeze-start-airflow-r5" x="1451.8" y="459.2 [...]
diff --git a/images/breeze/output_testing_integration-tests.svg b/images/breeze/output_testing_integration-tests.svg
index be4d37e6e6..970eca9210 100644
--- a/images/breeze/output_testing_integration-tests.svg
+++ b/images/breeze/output_testing_integration-tests.svg
@@ -176,7 +176,7 @@
</text><text class="breeze-testing-integration-tests-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-14)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-14)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="361.6" textLength="85.4" clip-path="url(#breeze-testing-integration-tests-line-14)">-python</text><text class="breeze- [...]
</text><text class="breeze-testing-integration-tests-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-15)">│</text><text class="breeze-testing-integration-tests-r5" x="329.4" y="386" textLength="732" clip-path="url(#breeze-testing-integration-tests-line-15)">[default: 3.8]                              [...]
</text><text class="breeze-testing-integration-tests-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-16)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-16)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="410.4" textLength="109.8" clip-path="url(#breeze-testing-integration-tests-line-16)">-postgres</text><text class="bree [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-17)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-17)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="434.8" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-17)">-mysql</text><text class="breeze-t [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-17)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-17)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="434.8" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-17)">-mysql</text><text class="breeze-t [...]
</text><text class="breeze-testing-integration-tests-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-18)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-18)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="459.2" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-18)">-mssql</text><text class="breeze-t [...]
</text><text class="breeze-testing-integration-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-19)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-19)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="483.6" textLength="85.4" clip-path="url(#breeze-testing-integration-tests-line-19)">-github</text><text class="breeze- [...]
</text><text class="breeze-testing-integration-tests-r5" x="0" y="508" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-20)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r2" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-20)">
diff --git a/images/breeze/output_testing_tests.svg b/images/breeze/output_testing_tests.svg
index ec3da499fa..c76674d090 100644
--- a/images/breeze/output_testing_tests.svg
+++ b/images/breeze/output_testing_tests.svg
@@ -251,7 +251,7 @@
</text><text class="breeze-testing-tests-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-17)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-17)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="434.8" textLength="85.4" clip-path="url(#breeze-testing-tests-line-17)">-python</text><text class="breeze-testing-tests-r6" x="280.6" y="434.8" textLength="24.4" clip-path="url(# [...]
</text><text class="breeze-testing-tests-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-18)">│</text><text class="breeze-testing-tests-r5" x="329.4" y="459.2" textLength="732" clip-path="url(#breeze-testing-tests-line-18)">[default: 3.8]                                    & [...]
</text><text class="breeze-testing-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-19)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-19)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="483.6" textLength="109.8" clip-path="url(#breeze-testing-tests-line-19)">-postgres</text><text class="breeze-testing-tests-r4" x="146.4" y="483.6" textLength="97.6" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-testing-tests-line-20)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-testing-tests-line-20)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="508" textLength="73.2" clip-path="url(#breeze-testing-tests-line-20)">-mysql</text><text class="breeze-testing-tests-r4" x="109.8" y="508" textLength="97.6" clip-path="url(#breeze-te [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-testing-tests-line-20)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-testing-tests-line-20)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="508" textLength="73.2" clip-path="url(#breeze-testing-tests-line-20)">-mysql</text><text class="breeze-testing-tests-r4" x="109.8" y="508" textLength="97.6" clip-path="url(#breeze-te [...]
</text><text class="breeze-testing-tests-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-21)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-21)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="532.4" textLength="73.2" clip-path="url(#breeze-testing-tests-line-21)">-mssql</text><text class="breeze-testing-tests-r4" x="109.8" y="532.4" textLength="97.6" clip-path="url(#b [...]
</text><text class="breeze-testing-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-22)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-22)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="556.8" textLength="146.4" clip-path="url(#breeze-testing-tests-line-22)">-integration</text><text class="breeze-testing-tests-r2" x="329.4" y="556.8" textLength="1110.2" clip-pat [...]
</text><text class="breeze-testing-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-23)">│</text><text class="breeze-testing-tests-r7" x="329.4" y="581.2" textLength="1110.2" clip-path="url(#breeze-testing-tests-line-23)">(all | all-testable | cassandra | celery | kafka | kerberos | mongo | otel | pinot | statsd</text><text class="breeze-testing-tests-r5" x="1451 [...]