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 0e8bff9c4e Switch build-info and build images to run on public runners
(#31451)
0e8bff9c4e is described below
commit 0e8bff9c4ec837d086dbe49b3d583a8d23f49e0e
Author: Jarek Potiuk <[email protected]>
AuthorDate: Mon May 22 19:41:24 2023 +0200
Switch build-info and build images to run on public runners (#31451)
We used to have low number of Public runners on GitHub actions and
Apache Software Foundation projects were competing for them, that's
why we switched `build-images` workflow to run on self-hosted
runners, and we had to add workflow-embedded list of committers to
make sure that build-info also uses self-hosted runners.
Recently however the ASF has 900 runners and if anything, it's the
public runners that are in abundance, while self-hosted runners are
limited, which sometimes leads to "Wait for CI images" jobs timeout
while waiting for self-hosted runners to build the image.
Those "wait-for-ci-images" jobs do almost nothing, just waiting, so
using self-hosted runners for those is not needed, we can easily
switch those to public runners as well.
Also "wait-for-ci-images" currently performs "test-pytest-collection"
as an optimisation - preventing multiple "test" jobs from failing in
case of pytest collection fails, however with public runners, it adds
extra 4 minutes to tests, and failing pytest collection is rather rare
case, so we can safely remove this step.
This PR does the following changes:
* build-info jobs always run on public runners
* wait-for-ci-images job are always run on public runners
* wait-for-ci-images does not run test for pytest collection
* all the other jobs run on either self-hosted or public runners
depending who the actor is (committers - run on self-hosted,
non-committers, run on public runners)
---
.github/workflows/build-images.yml | 4 +-
.github/workflows/ci.yml | 70 +----------------
.../src/airflow_breeze/commands/ci_commands.py | 13 ++++
.../airflow_breeze/commands/ci_commands_config.py | 9 ++-
dev/breeze/src/airflow_breeze/global_constants.py | 54 ++++++++++++-
.../src/airflow_breeze/utils/selective_checks.py | 24 +++++-
images/breeze/output-commands-hash.txt | 4 +-
images/breeze/output-commands.svg | 90 +++++++++++-----------
images/breeze/output_ci_selective-check.svg | 60 +++++++++------
9 files changed, 186 insertions(+), 142 deletions(-)
diff --git a/.github/workflows/build-images.yml
b/.github/workflows/build-images.yml
index fa8686890d..76073bbe90 100644
--- a/.github/workflows/build-images.yml
+++ b/.github/workflows/build-images.yml
@@ -50,11 +50,10 @@ jobs:
build-info:
timeout-minutes: 10
name: "Build Info"
- runs-on: ${{ github.repository == 'apache/airflow' && 'self-hosted' ||
'ubuntu-20.04' }}
+ runs-on: 'ubuntu-20.04'
env:
TARGET_BRANCH: ${{ github.event.pull_request.base.ref }}
outputs:
- runs-on: ${{ github.repository == 'apache/airflow' && 'self-hosted' ||
'ubuntu-20.04' }}
python-versions: "${{ steps.selective-checks.python-versions }}"
upgrade-to-newer-dependencies: ${{
steps.selective-checks.outputs.upgrade-to-newer-dependencies }}
all-python-versions-list-as-string: >-
@@ -66,6 +65,7 @@ jobs:
cache-directive: ${{ steps.selective-checks.outputs.cache-directive }}
default-branch: ${{ steps.selective-checks.outputs.default-branch }}
default-constraints-branch: ${{
steps.selective-checks.outputs.default-constraints-branch }}
+ runs-on: ${{ steps.selective-checks.outputs.runs-on }}
target-commit-sha:
"${{steps.discover-pr-merge-commit.outputs.target-commit-sha ||
github.event.pull_request.head.sha ||
github.sha
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e31afad5d2..3c19cf0217 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -65,64 +65,7 @@ jobs:
# to find the list of authors and replace them, so any changes to the
# formatting of the contains(fromJSON()) structure below will need to be
# reflected in that workflow too.
- runs-on: >-
- ${{ (
- (
- github.event_name == 'push' ||
- github.event_name == 'schedule' ||
- contains(fromJSON('[
- "BasPH",
- "Fokko",
- "KevinYang21",
- "Taragolis",
- "XD-DENG",
- "aijamalnk",
- "alexvanboxel",
- "aoen",
- "artwr",
- "ashb",
- "bbovenzi",
- "bolkedebruin",
- "criccomini",
- "dimberman",
- "dstandish",
- "eladkal",
- "ephraimbuddy",
- "feluelle",
- "feng-tao",
- "houqp",
- "hussein-awala",
- "jedcunningham",
- "jgao54",
- "jghoman",
- "jhtimmins",
- "jmcarp",
- "josh-fell",
- "kaxil",
- "leahecole",
- "malthe",
- "mik-laj",
- "milton0825",
- "mistercrunch",
- "msumit",
- "o-nikolas",
- "pierrejeambrun",
- "pingzh",
- "potiuk",
- "r39132",
- "ryanahamilton",
- "ryw",
- "saguziel",
- "sekikn",
- "turbaszek",
- "uranusjr",
- "vikramkoka",
- "xinbinhuang",
- "yuqian90",
- "zhongjiajie"
- ]'), github.event.pull_request.user.login)
- ) && github.repository == 'apache/airflow'
- ) && 'self-hosted' || 'ubuntu-20.04' }}
+ runs-on: "ubuntu-20.04"
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
outputs:
@@ -171,11 +114,11 @@ jobs:
skip-pre-commits: ${{ steps.selective-checks.outputs.skip-pre-commits }}
helm-test-packages: ${{
steps.selective-checks.outputs.helm-test-packages }}
debug-resources: ${{ steps.selective-checks.outputs.debug-resources }}
+ runs-on: ${{ steps.selective-checks.outputs.runs-on }}
source-head-repo: ${{ steps.source-run-info.outputs.source-head-repo }}
pull-request-labels: ${{ steps.source-run-info.outputs.pr-labels }}
in-workflow-build: ${{ steps.source-run-info.outputs.in-workflow-build }}
build-job-description: ${{
steps.source-run-info.outputs.build-job-description }}
- runs-on: ${{ steps.source-run-info.outputs.runs-on }}
canary-run: ${{ steps.source-run-info.outputs.canary-run }}
run-coverage: ${{ steps.source-run-info.outputs.run-coverage }}
steps:
@@ -525,7 +468,7 @@ jobs:
wait-for-ci-images:
timeout-minutes: 120
name: "Wait for CI images"
- runs-on: "${{needs.build-info.outputs.runs-on}}"
+ runs-on: "ubuntu-20.04"
needs: [build-info, build-ci-images]
if: needs.build-info.outputs.image-build == 'true'
env:
@@ -548,13 +491,6 @@ jobs:
env:
PYTHON_VERSIONS: ${{
needs.build-info.outputs.python-versions-list-as-string }}
DEBUG_RESOURCES: ${{needs.build-info.outputs.debug-resources}}
- - name: "Tests Pytest collection"
- run: breeze testing tests --run-in-parallel --collect-only
- if: needs.build-info.outputs.run-tests == 'true'
- env:
- PYTHON_MAJOR_MINOR_VERSION:
"${{needs.build-info.outputs.default-python-version}}"
- BACKEND: sqlite
- PARALLEL_TEST_TYPES:
"${{needs.build-info.outputs.parallel-test-types-list-as-string}}"
- name: "Fix ownership"
run: breeze ci fix-ownership
if: always()
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_commands.py
b/dev/breeze/src/airflow_breeze/commands/ci_commands.py
index 02692b3c2b..5987cbb54a 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_commands.py
@@ -42,6 +42,7 @@ from airflow_breeze.utils.click_utils import BreezeGroup
from airflow_breeze.utils.common_options import (
option_answer,
option_dry_run,
+ option_github_repository,
option_verbose,
)
from airflow_breeze.utils.confirm import Answer, user_confirm
@@ -220,6 +221,14 @@ def get_changed_files(commit_ref: str | None) ->
tuple[str, ...]:
envvar="GITHUB_EVENT_NAME",
show_default=True,
)
+@option_github_repository
[email protected](
+ "--github-actor",
+ help="Actor that triggered the event (Github user)",
+ envvar="GITHUB_ACTOR",
+ type=str,
+ default="",
+)
@option_verbose
@option_dry_run
def selective_check(
@@ -228,6 +237,8 @@ def selective_check(
default_branch: str,
default_constraints_branch: str,
github_event_name: str,
+ github_repository: str,
+ github_actor: str,
):
from airflow_breeze.utils.selective_checks import SelectiveChecks
@@ -243,6 +254,8 @@ def selective_check(
default_constraints_branch=default_constraints_branch,
pr_labels=tuple(ast.literal_eval(pr_labels)) if pr_labels else (),
github_event=github_event,
+ github_repository=github_repository,
+ github_actor=github_actor,
)
print(str(sc), file=sys.stderr)
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_commands_config.py
b/dev/breeze/src/airflow_breeze/commands/ci_commands_config.py
index 964e33bcb9..d2dda5ff28 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_commands_config.py
@@ -44,9 +44,16 @@ CI_PARAMETERS: dict[str, list[dict[str, str | list[str]]]] =
{
"--pr-labels",
"--default-branch",
"--default-constraints-branch",
+ ],
+ },
+ {
+ "name": "Github parameters",
+ "options": [
"--github-event-name",
+ "--github-repository",
+ "--github-actor",
],
- }
+ },
],
"breeze ci get-workflow-info": [
{
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py
b/dev/breeze/src/airflow_breeze/global_constants.py
index d1ccc8dab4..eec14c2951 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -193,7 +193,59 @@ INIT_SCRIPT_FILE = ""
BREEZE_INIT_COMMAND = ""
DRY_RUN_DOCKER = False
INSTALL_AIRFLOW_VERSION = ""
-SQLITE_URL = "sqlite:////root/airflow/airflow.db"
+
+
+COMMITTERS = [
+ "BasPH",
+ "Fokko",
+ "KevinYang21",
+ "Taragolis",
+ "XD-DENG",
+ "aijamalnk",
+ "alexvanboxel",
+ "aoen",
+ "artwr",
+ "ashb",
+ "bbovenzi",
+ "bolkedebruin",
+ "criccomini",
+ "dimberman",
+ "dstandish",
+ "eladkal",
+ "ephraimbuddy",
+ "feluelle",
+ "feng-tao",
+ "houqp",
+ "hussein-awala",
+ "jedcunningham",
+ "jgao54",
+ "jghoman",
+ "jhtimmins",
+ "jmcarp",
+ "josh-fell",
+ "kaxil",
+ "leahecole",
+ "malthe",
+ "mik-laj",
+ "milton0825",
+ "mistercrunch",
+ "msumit",
+ "o-nikolas",
+ "pierrejeambrun",
+ "pingzh",
+ "potiuk",
+ "r39132",
+ "ryanahamilton",
+ "ryw",
+ "saguziel",
+ "sekikn",
+ "turbaszek",
+ "uranusjr",
+ "vikramkoka",
+ "xinbinhuang",
+ "yuqian90",
+ "zhongjiajie",
+]
def get_airflow_version():
diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
index 04c90d5562..0f23845ad5 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -43,10 +43,15 @@ from functools import lru_cache
from re import match
from typing import Any, Dict, List, TypeVar
-from typing_extensions import Literal
+if sys.version_info >= (3, 9):
+ from typing import Literal
+else:
+ from typing_extensions import Literal
from airflow_breeze.global_constants import (
ALL_PYTHON_MAJOR_MINOR_VERSIONS,
+ APACHE_AIRFLOW_GITHUB_REPOSITORY,
+ COMMITTERS,
CURRENT_KUBERNETES_VERSIONS,
CURRENT_MSSQL_VERSIONS,
CURRENT_MYSQL_VERSIONS,
@@ -59,6 +64,8 @@ from airflow_breeze.global_constants import (
DEFAULT_PYTHON_MAJOR_MINOR_VERSION,
HELM_VERSION,
KIND_VERSION,
+ RUNS_ON_PUBLIC_RUNNER,
+ RUNS_ON_SELF_HOSTED_RUNNER,
GithubEvents,
SelectiveUnitTestTypes,
all_helm_test_packages,
@@ -295,6 +302,8 @@ class SelectiveChecks:
commit_ref: str | None = None,
pr_labels: tuple[str, ...] = (),
github_event: GithubEvents = GithubEvents.PULL_REQUEST,
+ github_repository: str = APACHE_AIRFLOW_GITHUB_REPOSITORY,
+ github_actor: str = "",
):
self._files = files
self._default_branch = default_branch
@@ -302,6 +311,8 @@ class SelectiveChecks:
self._commit_ref = commit_ref
self._pr_labels = pr_labels
self._github_event = github_event
+ self._github_repository = github_repository
+ self._github_actor = github_actor
def __important_attributes(self) -> tuple[Any, ...]:
return tuple(getattr(self, f) for f in self.__HASHABLE_FIELDS)
@@ -618,7 +629,7 @@ class SelectiveChecks:
@staticmethod
def _extract_long_provider_tests(current_test_types: set[str]):
"""
- In case there are Provider tests in the list of test to run (either in
the form of
+ In case there are Provider tests in the list of test to run - either
in the form of
Providers or Providers[...] we subtract them from the test type,
and add them to the list of tests to run individually.
@@ -765,3 +776,12 @@ class SelectiveChecks:
if affected_providers == "ALL_PROVIDERS":
return _ALL_PROVIDERS_LIST
return " ".join(sorted(affected_providers))
+
+ @cached_property
+ def runs_on(self) -> str:
+ if self._github_repository == APACHE_AIRFLOW_GITHUB_REPOSITORY:
+ if self._github_event in [GithubEvents.SCHEDULE,
GithubEvents.PUSH]:
+ return RUNS_ON_SELF_HOSTED_RUNNER
+ if self._github_actor in COMMITTERS:
+ return RUNS_ON_SELF_HOSTED_RUNNER
+ return RUNS_ON_PUBLIC_RUNNER
diff --git a/images/breeze/output-commands-hash.txt
b/images/breeze/output-commands-hash.txt
index bb1a3b5ca9..519db1894e 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -7,8 +7,8 @@ ci:fix-ownership:fee2c9ec9ef19686792002ae054fecdd
ci:free-space:47234aa0a60b0efd84972e6e797379f8
ci:get-workflow-info:01ee34c33ad62fa5dc33e0ac8773223f
ci:resource-check:1d4fe47dff9fc64ac1648ec4beb2d85c
-ci:selective-check:3a085894f24cb909812fbc8253a21e13
-ci:e51cbc38a202b92b7dc6288f6344c412
+ci:selective-check:8a39978ee69d496dae2533d37a48b137
+ci:2868dbcdd482663e9d6ccd00055b9cac
ci-image:build:3ffe4dd24ae7090415543e27d8504955
ci-image:pull:c16c6e57c748bfe9b365b4ffafb18472
ci-image:verify:aee88f55e8837028d19316356e29b009
diff --git a/images/breeze/output-commands.svg
b/images/breeze/output-commands.svg
index 876133e651..ba821bd664 100644
--- a/images/breeze/output-commands.svg
+++ b/images/breeze/output-commands.svg
@@ -35,8 +35,8 @@
.breeze-help-r1 { fill: #c5c8c6;font-weight: bold }
.breeze-help-r2 { fill: #c5c8c6 }
.breeze-help-r3 { fill: #d0b344;font-weight: bold }
-.breeze-help-r4 { fill: #68a0b3;font-weight: bold }
-.breeze-help-r5 { fill: #868887 }
+.breeze-help-r4 { fill: #868887 }
+.breeze-help-r5 { fill: #68a0b3;font-weight: bold }
.breeze-help-r6 { fill: #98a84b;font-weight: bold }
.breeze-help-r7 { fill: #8d7b39 }
</style>
@@ -190,50 +190,50 @@
<g class="breeze-help-matrix">
<text class="breeze-help-r2" x="1464" y="20" textLength="12.2"
clip-path="url(#breeze-help-line-0)">
-</text><text class="breeze-help-r3" x="12.2" y="44.4" textLength="85.4"
clip-path="url(#breeze-help-line-1)">Usage: </text><text
class="breeze-help-r1" x="97.6" y="44.4" textLength="97.6"
clip-path="url(#breeze-help-line-1)">breeze [</text><text
class="breeze-help-r4" x="195.2" y="44.4" textLength="85.4"
clip-path="url(#breeze-help-line-1)">OPTIONS</text><text class="breeze-help-r1"
x="280.6" y="44.4" textLength="24.4"
clip-path="url(#breeze-help-line-1)">] </text><text cl [...]
+</text><text class="breeze-help-r3" x="12.2" y="44.4" textLength="85.4"
clip-path="url(#breeze-help-line-1)">Usage: </text><text
class="breeze-help-r1" x="97.6" y="44.4" textLength="414.8"
clip-path="url(#breeze-help-line-1)">breeze [OPTIONS] COMMAND [ARGS]...</text><text
class="breeze-help-r2" x="1464" y="44.4" textLength="12.2"
clip-path="url(#breeze-help-line-1)">
</text><text class="breeze-help-r2" x="1464" y="68.8" textLength="12.2"
clip-path="url(#breeze-help-line-2)">
-</text><text class="breeze-help-r5" x="0" y="93.2" textLength="24.4"
clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r5"
x="24.4" y="93.2" textLength="158.6"
clip-path="url(#breeze-help-line-3)"> Basic flags </text><text
class="breeze-help-r5" x="183" y="93.2" textLength="1256.6"
clip-path="url(#breeze-help-line-3)">───────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze-help-r [...]
-</text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4"
x="24.4" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r4"
x="36.6" y="117.6" textLength="85.4"
clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6"
x="305" y="117.6" textLength="24.4"
clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r2"
x="353.8" [...]
-</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.7]                                           &
[...]
-</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="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 [...]
-</text><text class="breeze-help-r5" x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-help-line-12)">│</text><text class="breeze-help-r7"
x="353.8" y="312.8" textLength="1085.8"
clip-path="url(#breeze-help-line-12)">statsd | statsd | trino)                                     
[...]
-</text><text class="breeze-help-r5" x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-help-line-13)">│</text><text class="breeze-help-r4"
x="24.4" y="337.2" textLength="12.2"
clip-path="url(#breeze-help-line-13)">-</text><text class="breeze-help-r4"
x="36.6" y="337.2" textLength="97.6"
clip-path="url(#breeze-help-line-13)">-forward</text><text
class="breeze-help-r4" x="134.2" y="337.2" textLength="146.4"
clip-path="url(#breeze-help-line-13)">-credentials</text><text class="breeze-
[...]
-</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r4"
x="24.4" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">-</text><text class="breeze-help-r4"
x="36.6" y="361.6" textLength="36.6"
clip-path="url(#breeze-help-line-14)">-db</text><text class="breeze-help-r4"
x="73.2" y="361.6" textLength="73.2"
clip-path="url(#breeze-help-line-14)">-reset</text><text class="breeze-help-r6"
x="3 [...]
-</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r4"
x="24.4" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">-</text><text class="breeze-help-r4"
x="36.6" y="386" textLength="48.8"
clip-path="url(#breeze-help-line-15)">-max</text><text class="breeze-help-r4"
x="85.4" y="386" textLength="61"
clip-path="url(#breeze-help-line-15)">-time</text><text class="breeze-help-r2"
x="353.8" y="3 [...]
-</text><text class="breeze-help-r5" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r7"
x="353.8" y="410.4" textLength="1049.2"
clip-path="url(#breeze-help-line-16)">(INTEGER RANGE)                                         
[...]
-</text><text class="breeze-help-r5" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r4"
x="24.4" y="434.8" textLength="12.2"
clip-path="url(#breeze-help-line-17)">-</text><text class="breeze-help-r4"
x="36.6" y="434.8" textLength="85.4"
clip-path="url(#breeze-help-line-17)">-github</text><text
class="breeze-help-r4" x="122" y="434.8" textLength="134.2"
clip-path="url(#breeze-help-line-17)">-repository</text><text
class="breeze-help [...]
-</text><text class="breeze-help-r5" x="0" y="459.2" textLength="1464"
clip-path="url(#breeze-help-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="459.2" textLength="12.2"
clip-path="url(#breeze-help-line-18)">
-</text><text class="breeze-help-r5" x="0" y="483.6" textLength="24.4"
clip-path="url(#breeze-help-line-19)">╭─</text><text class="breeze-help-r5"
x="24.4" y="483.6" textLength="195.2"
clip-path="url(#breeze-help-line-19)"> Common options </text><text
class="breeze-help-r5" x="219.6" y="483.6" textLength="1220"
clip-path="url(#breeze-help-line-19)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze- [...]
-</text><text class="breeze-help-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r4"
x="24.4" y="508" textLength="12.2"
clip-path="url(#breeze-help-line-20)">-</text><text class="breeze-help-r4"
x="36.6" y="508" textLength="97.6"
clip-path="url(#breeze-help-line-20)">-verbose</text><text
class="breeze-help-r6" x="158.6" y="508" textLength="24.4"
clip-path="url(#breeze-help-line-20)">-v</text><text class="breeze-help-r2"
x="207.4" [...]
-</text><text class="breeze-help-r5" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-help-line-21)">│</text><text class="breeze-help-r4"
x="24.4" y="532.4" textLength="12.2"
clip-path="url(#breeze-help-line-21)">-</text><text class="breeze-help-r4"
x="36.6" y="532.4" textLength="48.8"
clip-path="url(#breeze-help-line-21)">-dry</text><text class="breeze-help-r4"
x="85.4" y="532.4" textLength="48.8"
clip-path="url(#breeze-help-line-21)">-run</text><text class="breeze-help-r6"
x="15 [...]
-</text><text class="breeze-help-r5" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-help-line-22)">│</text><text class="breeze-help-r4"
x="24.4" y="556.8" textLength="12.2"
clip-path="url(#breeze-help-line-22)">-</text><text class="breeze-help-r4"
x="36.6" y="556.8" textLength="85.4"
clip-path="url(#breeze-help-line-22)">-answer</text><text
class="breeze-help-r6" x="158.6" y="556.8" textLength="24.4"
clip-path="url(#breeze-help-line-22)">-a</text><text class="breeze-help-r2" x="
[...]
-</text><text class="breeze-help-r5" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-help-line-23)">│</text><text class="breeze-help-r4"
x="24.4" y="581.2" textLength="12.2"
clip-path="url(#breeze-help-line-23)">-</text><text class="breeze-help-r4"
x="36.6" y="581.2" textLength="61"
clip-path="url(#breeze-help-line-23)">-help</text><text class="breeze-help-r6"
x="158.6" y="581.2" textLength="24.4"
clip-path="url(#breeze-help-line-23)">-h</text><text class="breeze-help-r2"
x="207. [...]
-</text><text class="breeze-help-r5" x="0" y="605.6" textLength="1464"
clip-path="url(#breeze-help-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="605.6" textLength="12.2"
clip-path="url(#breeze-help-line-24)">
-</text><text class="breeze-help-r5" x="0" y="630" textLength="24.4"
clip-path="url(#breeze-help-line-25)">╭─</text><text class="breeze-help-r5"
x="24.4" y="630" textLength="317.2"
clip-path="url(#breeze-help-line-25)"> Basic developer commands </text><text
class="breeze-help-r5" x="341.6" y="630" textLength="1098"
clip-path="url(#breeze-help-line-25)">──────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze-h [...]
-</text><text class="breeze-help-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-help-line-26)">│</text><text class="breeze-help-r4"
x="24.4" y="654.4" textLength="219.6"
clip-path="url(#breeze-help-line-26)">start-airflow     </text><text
class="breeze-help-r2" x="268.4" y="654.4" textLength="1171.2"
clip-path="url(#breeze-help-line-26)">Enter breeze environment and starts all Airflow components in the
[...]
-</text><text class="breeze-help-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-help-line-27)">│</text><text class="breeze-help-r2"
x="268.4" y="678.8" textLength="1171.2"
clip-path="url(#breeze-help-line-27)">if contents of www directory changed.                                  
[...]
-</text><text class="breeze-help-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r4"
x="24.4" y="703.2" textLength="219.6"
clip-path="url(#breeze-help-line-28)">static-checks     </text><text
class="breeze-help-r2" x="268.4" y="703.2" textLength="1171.2"
clip-path="url(#breeze-help-line-28)">Run static checks.              &#
[...]
-</text><text class="breeze-help-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r4"
x="24.4" y="727.6" textLength="219.6"
clip-path="url(#breeze-help-line-29)">build-docs        </text><text
class="breeze-help-r2" x="268.4" y="727.6" textLength="1171.2"
clip-path="url(#breeze-help-line-29)">Build documentation in the container.       
[...]
-</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4"
x="24.4" y="752" textLength="219.6"
clip-path="url(#breeze-help-line-30)">down              </text><text
class="breeze-help-r2" x="268.4" y="752" textLength="1171.2"
clip-path="url(#breeze-help-line-30)">Stop running breeze environment.    
[...]
-</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4"
x="24.4" y="776.4" textLength="219.6"
clip-path="url(#breeze-help-line-31)">shell             </text><text
class="breeze-help-r2" x="268.4" y="776.4" textLength="1171.2"
clip-path="url(#breeze-help-line-31)">Enter breeze environment. this is the defaul
[...]
-</text><text class="breeze-help-r5" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-help-line-32)">│</text><text class="breeze-help-r4"
x="24.4" y="800.8" textLength="219.6"
clip-path="url(#breeze-help-line-32)">exec              </text><text
class="breeze-help-r2" x="268.4" y="800.8" textLength="1171.2"
clip-path="url(#breeze-help-line-32)">Joins the interactive shell of running 
[...]
-</text><text class="breeze-help-r5" x="0" y="825.2" textLength="12.2"
clip-path="url(#breeze-help-line-33)">│</text><text class="breeze-help-r4"
x="24.4" y="825.2" textLength="219.6"
clip-path="url(#breeze-help-line-33)">compile-www-assets</text><text
class="breeze-help-r2" x="268.4" y="825.2" textLength="1171.2"
clip-path="url(#breeze-help-line-33)">Compiles www assets.                  &
[...]
-</text><text class="breeze-help-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r4"
x="24.4" y="849.6" textLength="219.6"
clip-path="url(#breeze-help-line-34)">cleanup           </text><text
class="breeze-help-r2" x="268.4" y="849.6" textLength="805.2"
clip-path="url(#breeze-help-line-34)">Cleans the cache of parameters, docker cache and&#
[...]
-</text><text class="breeze-help-r5" x="0" y="874" textLength="1464"
clip-path="url(#breeze-help-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="874" textLength="12.2"
clip-path="url(#breeze-help-line-35)">
-</text><text class="breeze-help-r5" x="0" y="898.4" textLength="24.4"
clip-path="url(#breeze-help-line-36)">╭─</text><text class="breeze-help-r5"
x="24.4" y="898.4" textLength="305"
clip-path="url(#breeze-help-line-36)"> Advanced command groups </text><text
class="breeze-help-r5" x="329.4" y="898.4" textLength="1110.2"
clip-path="url(#breeze-help-line-36)">───────────────────────────────────────────────────────────────────────────────────────────</text><text
class="br [...]
-</text><text class="breeze-help-r5" x="0" y="922.8" textLength="12.2"
clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r4"
x="24.4" y="922.8" textLength="280.6"
clip-path="url(#breeze-help-line-37)">testing                </text><text
class="breeze-help-r2" x="329.4" y="922.8" textLength="1110.2"
clip-path="url(#breeze-help-line-37)">Tools that developers can use 
[...]
-</text><text class="breeze-help-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r4"
x="24.4" y="947.2" textLength="280.6"
clip-path="url(#breeze-help-line-38)">ci-image               </text><text
class="breeze-help-r2" x="329.4" y="947.2" textLength="597.8"
clip-path="url(#breeze-help-line-38)">Tools that developers can use to
[...]
-</text><text class="breeze-help-r5" x="0" y="971.6" textLength="12.2"
clip-path="url(#breeze-help-line-39)">│</text><text class="breeze-help-r4"
x="24.4" y="971.6" textLength="280.6"
clip-path="url(#breeze-help-line-39)">k8s                    </text><text
class="breeze-help-r2" x="329.4" y="971.6" textLength="1110.2"
clip-path="url(#breeze-help-line-39)">Tools that developers [...]
-</text><text class="breeze-help-r5" x="0" y="996" textLength="12.2"
clip-path="url(#breeze-help-line-40)">│</text><text class="breeze-help-r4"
x="24.4" y="996" textLength="280.6"
clip-path="url(#breeze-help-line-40)">prod-image             </text><text
class="breeze-help-r2" x="329.4" y="996" textLength="597.8"
clip-path="url(#breeze-help-line-40)">Tools that developers can use to manually 
[...]
-</text><text class="breeze-help-r5" x="0" y="1020.4" textLength="12.2"
clip-path="url(#breeze-help-line-41)">│</text><text class="breeze-help-r4"
x="24.4" y="1020.4" textLength="280.6"
clip-path="url(#breeze-help-line-41)">setup                  </text><text
class="breeze-help-r2" x="329.4" y="1020.4" textLength="1110.2"
clip-path="url(#breeze-help-line-41)">Tools that developers can&
[...]
-</text><text class="breeze-help-r5" x="0" y="1044.8" textLength="12.2"
clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r4"
x="24.4" y="1044.8" textLength="280.6"
clip-path="url(#breeze-help-line-42)">release-management     </text><text
class="breeze-help-r2" x="329.4" y="1044.8" textLength="1110.2"
clip-path="url(#breeze-help-line-42)">Tools that release managers can use to prepare and manage
[...]
-</text><text class="breeze-help-r5" x="0" y="1069.2" textLength="12.2"
clip-path="url(#breeze-help-line-43)">│</text><text class="breeze-help-r4"
x="24.4" y="1069.2" textLength="280.6"
clip-path="url(#breeze-help-line-43)">ci                     </text><text
class="breeze-help-r2" x="329.4" y="1069.2" textLength="134.2"
clip-path="url(#breeze-help-line-43)">Tools that </text [...]
-</text><text class="breeze-help-r5" x="0" y="1093.6" textLength="1464"
clip-path="url(#breeze-help-line-44)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="1093.6" textLength="12.2"
clip-path="url(#breeze-help-line-44)">
+</text><text class="breeze-help-r4" x="0" y="93.2" textLength="24.4"
clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r4"
x="24.4" y="93.2" textLength="158.6"
clip-path="url(#breeze-help-line-3)"> Basic flags </text><text
class="breeze-help-r4" x="183" y="93.2" textLength="1256.6"
clip-path="url(#breeze-help-line-3)">───────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze-help-r [...]
+</text><text class="breeze-help-r4" x="0" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r5"
x="24.4" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r5"
x="36.6" y="117.6" textLength="85.4"
clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6"
x="305" y="117.6" textLength="24.4"
clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r2"
x="353.8" [...]
+</text><text class="breeze-help-r4" x="0" y="142" textLength="12.2"
clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r4"
x="353.8" y="142" textLength="732"
clip-path="url(#breeze-help-line-5)">[default: 3.7]                                           &
[...]
+</text><text class="breeze-help-r4" x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r5"
x="24.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-help-line-6)">-</text><text class="breeze-help-r5"
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-r4" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r5"
x="24.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r5"
x="36.6" y="190.8" textLength="109.8"
clip-path="url(#breeze-help-line-7)">-postgres</text><text
class="breeze-help-r5" 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-r4" x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r5"
x="24.4" y="215.2" textLength="12.2"
clip-path="url(#breeze-help-line-8)">-</text><text class="breeze-help-r5"
x="36.6" y="215.2" textLength="73.2"
clip-path="url(#breeze-help-line-8)">-mysql</text><text class="breeze-help-r5"
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-r4" x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r5"
x="24.4" y="239.6" textLength="12.2"
clip-path="url(#breeze-help-line-9)">-</text><text class="breeze-help-r5"
x="36.6" y="239.6" textLength="73.2"
clip-path="url(#breeze-help-line-9)">-mssql</text><text class="breeze-help-r5"
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-r4" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r5"
x="24.4" y="264" textLength="12.2"
clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r5"
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-r4" 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-r4" x="1451.8" y="288.4" textLength="1 [...]
+</text><text class="breeze-help-r4" x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-help-line-12)">│</text><text class="breeze-help-r7"
x="353.8" y="312.8" textLength="1085.8"
clip-path="url(#breeze-help-line-12)">statsd | statsd | trino)                                     
[...]
+</text><text class="breeze-help-r4" x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-help-line-13)">│</text><text class="breeze-help-r5"
x="24.4" y="337.2" textLength="12.2"
clip-path="url(#breeze-help-line-13)">-</text><text class="breeze-help-r5"
x="36.6" y="337.2" textLength="97.6"
clip-path="url(#breeze-help-line-13)">-forward</text><text
class="breeze-help-r5" x="134.2" y="337.2" textLength="146.4"
clip-path="url(#breeze-help-line-13)">-credentials</text><text class="breeze-
[...]
+</text><text class="breeze-help-r4" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r5"
x="24.4" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">-</text><text class="breeze-help-r5"
x="36.6" y="361.6" textLength="36.6"
clip-path="url(#breeze-help-line-14)">-db</text><text class="breeze-help-r5"
x="73.2" y="361.6" textLength="73.2"
clip-path="url(#breeze-help-line-14)">-reset</text><text class="breeze-help-r6"
x="3 [...]
+</text><text class="breeze-help-r4" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r5"
x="24.4" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">-</text><text class="breeze-help-r5"
x="36.6" y="386" textLength="48.8"
clip-path="url(#breeze-help-line-15)">-max</text><text class="breeze-help-r5"
x="85.4" y="386" textLength="61"
clip-path="url(#breeze-help-line-15)">-time</text><text class="breeze-help-r2"
x="353.8" y="3 [...]
+</text><text class="breeze-help-r4" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r7"
x="353.8" y="410.4" textLength="1049.2"
clip-path="url(#breeze-help-line-16)">(INTEGER RANGE)                                         
[...]
+</text><text class="breeze-help-r4" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r5"
x="24.4" y="434.8" textLength="12.2"
clip-path="url(#breeze-help-line-17)">-</text><text class="breeze-help-r5"
x="36.6" y="434.8" textLength="85.4"
clip-path="url(#breeze-help-line-17)">-github</text><text
class="breeze-help-r5" x="122" y="434.8" textLength="134.2"
clip-path="url(#breeze-help-line-17)">-repository</text><text
class="breeze-help [...]
+</text><text class="breeze-help-r4" x="0" y="459.2" textLength="1464"
clip-path="url(#breeze-help-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="459.2" textLength="12.2"
clip-path="url(#breeze-help-line-18)">
+</text><text class="breeze-help-r4" x="0" y="483.6" textLength="24.4"
clip-path="url(#breeze-help-line-19)">╭─</text><text class="breeze-help-r4"
x="24.4" y="483.6" textLength="195.2"
clip-path="url(#breeze-help-line-19)"> Common options </text><text
class="breeze-help-r4" x="219.6" y="483.6" textLength="1220"
clip-path="url(#breeze-help-line-19)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze- [...]
+</text><text class="breeze-help-r4" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r5"
x="24.4" y="508" textLength="12.2"
clip-path="url(#breeze-help-line-20)">-</text><text class="breeze-help-r5"
x="36.6" y="508" textLength="97.6"
clip-path="url(#breeze-help-line-20)">-verbose</text><text
class="breeze-help-r6" x="158.6" y="508" textLength="24.4"
clip-path="url(#breeze-help-line-20)">-v</text><text class="breeze-help-r2"
x="207.4" [...]
+</text><text class="breeze-help-r4" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-help-line-21)">│</text><text class="breeze-help-r5"
x="24.4" y="532.4" textLength="12.2"
clip-path="url(#breeze-help-line-21)">-</text><text class="breeze-help-r5"
x="36.6" y="532.4" textLength="48.8"
clip-path="url(#breeze-help-line-21)">-dry</text><text class="breeze-help-r5"
x="85.4" y="532.4" textLength="48.8"
clip-path="url(#breeze-help-line-21)">-run</text><text class="breeze-help-r6"
x="15 [...]
+</text><text class="breeze-help-r4" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-help-line-22)">│</text><text class="breeze-help-r5"
x="24.4" y="556.8" textLength="12.2"
clip-path="url(#breeze-help-line-22)">-</text><text class="breeze-help-r5"
x="36.6" y="556.8" textLength="85.4"
clip-path="url(#breeze-help-line-22)">-answer</text><text
class="breeze-help-r6" x="158.6" y="556.8" textLength="24.4"
clip-path="url(#breeze-help-line-22)">-a</text><text class="breeze-help-r2" x="
[...]
+</text><text class="breeze-help-r4" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-help-line-23)">│</text><text class="breeze-help-r5"
x="24.4" y="581.2" textLength="12.2"
clip-path="url(#breeze-help-line-23)">-</text><text class="breeze-help-r5"
x="36.6" y="581.2" textLength="61"
clip-path="url(#breeze-help-line-23)">-help</text><text class="breeze-help-r6"
x="158.6" y="581.2" textLength="24.4"
clip-path="url(#breeze-help-line-23)">-h</text><text class="breeze-help-r2"
x="207. [...]
+</text><text class="breeze-help-r4" x="0" y="605.6" textLength="1464"
clip-path="url(#breeze-help-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="605.6" textLength="12.2"
clip-path="url(#breeze-help-line-24)">
+</text><text class="breeze-help-r4" x="0" y="630" textLength="24.4"
clip-path="url(#breeze-help-line-25)">╭─</text><text class="breeze-help-r4"
x="24.4" y="630" textLength="317.2"
clip-path="url(#breeze-help-line-25)"> Basic developer commands </text><text
class="breeze-help-r4" x="341.6" y="630" textLength="1098"
clip-path="url(#breeze-help-line-25)">──────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze-h [...]
+</text><text class="breeze-help-r4" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-help-line-26)">│</text><text class="breeze-help-r5"
x="24.4" y="654.4" textLength="219.6"
clip-path="url(#breeze-help-line-26)">start-airflow     </text><text
class="breeze-help-r2" x="268.4" y="654.4" textLength="1171.2"
clip-path="url(#breeze-help-line-26)">Enter breeze environment and starts all Airflow components in the
[...]
+</text><text class="breeze-help-r4" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-help-line-27)">│</text><text class="breeze-help-r2"
x="268.4" y="678.8" textLength="1171.2"
clip-path="url(#breeze-help-line-27)">if contents of www directory changed.                                  
[...]
+</text><text class="breeze-help-r4" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r5"
x="24.4" y="703.2" textLength="219.6"
clip-path="url(#breeze-help-line-28)">static-checks     </text><text
class="breeze-help-r2" x="268.4" y="703.2" textLength="1171.2"
clip-path="url(#breeze-help-line-28)">Run static checks.              &#
[...]
+</text><text class="breeze-help-r4" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r5"
x="24.4" y="727.6" textLength="219.6"
clip-path="url(#breeze-help-line-29)">build-docs        </text><text
class="breeze-help-r2" x="268.4" y="727.6" textLength="1171.2"
clip-path="url(#breeze-help-line-29)">Build documentation in the container.       
[...]
+</text><text class="breeze-help-r4" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r5"
x="24.4" y="752" textLength="219.6"
clip-path="url(#breeze-help-line-30)">down              </text><text
class="breeze-help-r2" x="268.4" y="752" textLength="1171.2"
clip-path="url(#breeze-help-line-30)">Stop running breeze environment.    
[...]
+</text><text class="breeze-help-r4" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r5"
x="24.4" y="776.4" textLength="219.6"
clip-path="url(#breeze-help-line-31)">shell             </text><text
class="breeze-help-r2" x="268.4" y="776.4" textLength="1171.2"
clip-path="url(#breeze-help-line-31)">Enter breeze environment. this is the defaul
[...]
+</text><text class="breeze-help-r4" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-help-line-32)">│</text><text class="breeze-help-r5"
x="24.4" y="800.8" textLength="219.6"
clip-path="url(#breeze-help-line-32)">exec              </text><text
class="breeze-help-r2" x="268.4" y="800.8" textLength="1171.2"
clip-path="url(#breeze-help-line-32)">Joins the interactive shell of running 
[...]
+</text><text class="breeze-help-r4" x="0" y="825.2" textLength="12.2"
clip-path="url(#breeze-help-line-33)">│</text><text class="breeze-help-r5"
x="24.4" y="825.2" textLength="219.6"
clip-path="url(#breeze-help-line-33)">compile-www-assets</text><text
class="breeze-help-r2" x="268.4" y="825.2" textLength="1171.2"
clip-path="url(#breeze-help-line-33)">Compiles www assets.                  &
[...]
+</text><text class="breeze-help-r4" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r5"
x="24.4" y="849.6" textLength="219.6"
clip-path="url(#breeze-help-line-34)">cleanup           </text><text
class="breeze-help-r2" x="268.4" y="849.6" textLength="1171.2"
clip-path="url(#breeze-help-line-34)">Cleans the cache of parameters, docker cache and&
[...]
+</text><text class="breeze-help-r4" x="0" y="874" textLength="1464"
clip-path="url(#breeze-help-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="874" textLength="12.2"
clip-path="url(#breeze-help-line-35)">
+</text><text class="breeze-help-r4" x="0" y="898.4" textLength="24.4"
clip-path="url(#breeze-help-line-36)">╭─</text><text class="breeze-help-r4"
x="24.4" y="898.4" textLength="305"
clip-path="url(#breeze-help-line-36)"> Advanced command groups </text><text
class="breeze-help-r4" x="329.4" y="898.4" textLength="1110.2"
clip-path="url(#breeze-help-line-36)">───────────────────────────────────────────────────────────────────────────────────────────</text><text
class="br [...]
+</text><text class="breeze-help-r4" x="0" y="922.8" textLength="12.2"
clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r5"
x="24.4" y="922.8" textLength="280.6"
clip-path="url(#breeze-help-line-37)">testing                </text><text
class="breeze-help-r2" x="329.4" y="922.8" textLength="1110.2"
clip-path="url(#breeze-help-line-37)">Tools that developers can use 
[...]
+</text><text class="breeze-help-r4" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r5"
x="24.4" y="947.2" textLength="280.6"
clip-path="url(#breeze-help-line-38)">ci-image               </text><text
class="breeze-help-r2" x="329.4" y="947.2" textLength="1110.2"
clip-path="url(#breeze-help-line-38)">Tools that developers can use to&#
[...]
+</text><text class="breeze-help-r4" x="0" y="971.6" textLength="12.2"
clip-path="url(#breeze-help-line-39)">│</text><text class="breeze-help-r5"
x="24.4" y="971.6" textLength="280.6"
clip-path="url(#breeze-help-line-39)">k8s                    </text><text
class="breeze-help-r2" x="329.4" y="971.6" textLength="1110.2"
clip-path="url(#breeze-help-line-39)">Tools that developers [...]
+</text><text class="breeze-help-r4" x="0" y="996" textLength="12.2"
clip-path="url(#breeze-help-line-40)">│</text><text class="breeze-help-r5"
x="24.4" y="996" textLength="280.6"
clip-path="url(#breeze-help-line-40)">prod-image             </text><text
class="breeze-help-r2" x="329.4" y="996" textLength="1110.2"
clip-path="url(#breeze-help-line-40)">Tools that developers can use to manually
[...]
+</text><text class="breeze-help-r4" x="0" y="1020.4" textLength="12.2"
clip-path="url(#breeze-help-line-41)">│</text><text class="breeze-help-r5"
x="24.4" y="1020.4" textLength="280.6"
clip-path="url(#breeze-help-line-41)">setup                  </text><text
class="breeze-help-r2" x="329.4" y="1020.4" textLength="1110.2"
clip-path="url(#breeze-help-line-41)">Tools that developers can&
[...]
+</text><text class="breeze-help-r4" x="0" y="1044.8" textLength="12.2"
clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r5"
x="24.4" y="1044.8" textLength="280.6"
clip-path="url(#breeze-help-line-42)">release-management     </text><text
class="breeze-help-r2" x="329.4" y="1044.8" textLength="1110.2"
clip-path="url(#breeze-help-line-42)">Tools that release managers can use to prepare and manage
[...]
+</text><text class="breeze-help-r4" x="0" y="1069.2" textLength="12.2"
clip-path="url(#breeze-help-line-43)">│</text><text class="breeze-help-r5"
x="24.4" y="1069.2" textLength="280.6"
clip-path="url(#breeze-help-line-43)">ci                     </text><text
class="breeze-help-r2" x="329.4" y="1069.2" textLength="1110.2"
clip-path="url(#breeze-help-line-43)">Tools that CI [...]
+</text><text class="breeze-help-r4" x="0" y="1093.6" textLength="1464"
clip-path="url(#breeze-help-line-44)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r2" x="1464" y="1093.6" textLength="12.2"
clip-path="url(#breeze-help-line-44)">
</text>
</g>
</g>
diff --git a/images/breeze/output_ci_selective-check.svg
b/images/breeze/output_ci_selective-check.svg
index 0d1250f1e2..186e49cce9 100644
--- a/images/breeze/output_ci_selective-check.svg
+++ b/images/breeze/output_ci_selective-check.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 562.4"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 660.0"
xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -35,15 +35,15 @@
.breeze-ci-selective-check-r1 { fill: #c5c8c6;font-weight: bold }
.breeze-ci-selective-check-r2 { fill: #c5c8c6 }
.breeze-ci-selective-check-r3 { fill: #d0b344;font-weight: bold }
-.breeze-ci-selective-check-r4 { fill: #68a0b3;font-weight: bold }
-.breeze-ci-selective-check-r5 { fill: #868887 }
+.breeze-ci-selective-check-r4 { fill: #868887 }
+.breeze-ci-selective-check-r5 { fill: #68a0b3;font-weight: bold }
.breeze-ci-selective-check-r6 { fill: #8d7b39 }
.breeze-ci-selective-check-r7 { fill: #98a84b;font-weight: bold }
</style>
<defs>
<clipPath id="breeze-ci-selective-check-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="511.4" />
+ <rect x="0" y="0" width="1463.0" height="609.0" />
</clipPath>
<clipPath id="breeze-ci-selective-check-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -105,9 +105,21 @@
<clipPath id="breeze-ci-selective-check-line-19">
<rect x="0" y="465.1" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="breeze-ci-selective-check-line-20">
+ <rect x="0" y="489.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-ci-selective-check-line-21">
+ <rect x="0" y="513.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-ci-selective-check-line-22">
+ <rect x="0" y="538.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-ci-selective-check-line-23">
+ <rect x="0" y="562.7" width="1464" height="24.65"/>
+ </clipPath>
</defs>
- <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="560.4" rx="8"/><text
class="breeze-ci-selective-check-title" fill="#c5c8c6" text-anchor="middle"
x="740" y="27">Command: ci selective-check</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="658" rx="8"/><text
class="breeze-ci-selective-check-title" fill="#c5c8c6" text-anchor="middle"
x="740" y="27">Command: ci selective-check</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -118,26 +130,30 @@
<g class="breeze-ci-selective-check-matrix">
<text class="breeze-ci-selective-check-r2" x="1464" y="20"
textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-0)">
-</text><text class="breeze-ci-selective-check-r3" x="12.2" y="44.4"
textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-1)">Usage: </text><text
class="breeze-ci-selective-check-r1" x="97.6" y="44.4" textLength="329.4"
clip-path="url(#breeze-ci-selective-check-line-1)">breeze ci selective-check [</text><text
class="breeze-ci-selective-check-r4" x="427" y="44.4" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-1)">OPTIONS</text><text class="
[...]
+</text><text class="breeze-ci-selective-check-r3" x="12.2" y="44.4"
textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-1)">Usage: </text><text
class="breeze-ci-selective-check-r1" x="97.6" y="44.4" textLength="427"
clip-path="url(#breeze-ci-selective-check-line-1)">breeze ci selective-check [OPTIONS]</text><text
class="breeze-ci-selective-check-r2" x="1464" y="44.4" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-1)">
</text><text class="breeze-ci-selective-check-r2" x="1464" y="68.8"
textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-2)">
</text><text class="breeze-ci-selective-check-r2" x="12.2" y="93.2"
textLength="768.6"
clip-path="url(#breeze-ci-selective-check-line-3)">Checks what kind of tests should be run for an incoming commit.</text><text
class="breeze-ci-selective-check-r2" x="1464" y="93.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-3)">
</text><text class="breeze-ci-selective-check-r2" x="1464" y="117.6"
textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-4)">
-</text><text class="breeze-ci-selective-check-r5" x="0" y="142"
textLength="24.4"
clip-path="url(#breeze-ci-selective-check-line-5)">╭─</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="142" textLength="280.6"
clip-path="url(#breeze-ci-selective-check-line-5)"> Selective check flags </text><text
class="breeze-ci-selective-check-r5" x="305" y="142" textLength="1134.6"
clip-path="url(#breeze-ci-selective-check-line-5)">────────────────────────────────────────
[...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="166.4"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-6)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-6)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="166.4" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-6)">-commit</text><text
class="breeze-ci-selective-check-r4" x="122" y="166.4" text [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="190.8"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-7)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-7)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="190.8" textLength="36.6"
clip-path="url(#breeze-ci-selective-check-line-7)">-pr</text><text
class="breeze-ci-selective-check-r4" x="73.2" y="190.8" textLen [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="215.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-8)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="215.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-8)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="215.2" textLength="97.6"
clip-path="url(#breeze-ci-selective-check-line-8)">-default</text><text
class="breeze-ci-selective-check-r4" x="134.2" y="215.2" t [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="239.6"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-9)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="239.6" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-9)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="239.6" textLength="97.6"
clip-path="url(#breeze-ci-selective-check-line-9)">-default</text><text
class="breeze-ci-selective-check-r4" x="134.2" y="239.6" t [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="264"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-10)">│</text><text
class="breeze-ci-selective-check-r5" x="414.8" y="264" textLength="646.6"
clip-path="url(#breeze-ci-selective-check-line-10)">[default: constraints-main]                          </text><text
class="breeze-ci- [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="288.4"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-11)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="288.4" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-11)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="288.4" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-11)">-github</text><text
class="breeze-ci-selective-check-r4" x="122" y="288.4" t [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="312.8"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-12)">│</text><text
class="breeze-ci-selective-check-r6" x="414.8" y="312.8" textLength="1024.8"
clip-path="url(#breeze-ci-selective-check-line-12)">(pull_request | pull_request_review | pull_request_target | pull_request_workflow | </text><text
class="breeze-ci-selective-check-r5" x="1451.8" y="312.8" textLength="12.2"
[...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="337.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-13)">│</text><text
class="breeze-ci-selective-check-r6" x="414.8" y="337.2" textLength="1024.8"
clip-path="url(#breeze-ci-selective-check-line-13)">push | schedule | workflow_dispatch | workflow_run)                      
[...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="361.6"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-14)">│</text><text
class="breeze-ci-selective-check-r5" x="414.8" y="361.6" textLength="1024.8"
clip-path="url(#breeze-ci-selective-check-line-14)">[default: pull_request]                               
[...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="386"
textLength="1464"
clip-path="url(#breeze-ci-selective-check-line-15)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-selective-check-r2" x="1464" y="386" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-15)">
-</text><text class="breeze-ci-selective-check-r5" x="0" y="410.4"
textLength="24.4"
clip-path="url(#breeze-ci-selective-check-line-16)">╭─</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="410.4" textLength="195.2"
clip-path="url(#breeze-ci-selective-check-line-16)"> Common options </text><text
class="breeze-ci-selective-check-r5" x="219.6" y="410.4" textLength="1220"
clip-path="url(#breeze-ci-selective-check-line-16)">───────────────────────────────────────────
[...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="434.8"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-17)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="434.8" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-17)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="434.8" textLength="97.6"
clip-path="url(#breeze-ci-selective-check-line-17)">-verbose</text><text
class="breeze-ci-selective-check-r7" x="158.6" y="434.8 [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="459.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-18)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="459.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-18)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="459.2" textLength="48.8"
clip-path="url(#breeze-ci-selective-check-line-18)">-dry</text><text
class="breeze-ci-selective-check-r4" x="85.4" y="459.2" tex [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="483.6"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-19)">│</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="483.6" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-19)">-</text><text
class="breeze-ci-selective-check-r4" x="36.6" y="483.6" textLength="61"
clip-path="url(#breeze-ci-selective-check-line-19)">-help</text><text
class="breeze-ci-selective-check-r7" x="158.6" y="483.6" tex [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="508"
textLength="1464"
clip-path="url(#breeze-ci-selective-check-line-20)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-selective-check-r2" x="1464" y="508" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-20)">
+</text><text class="breeze-ci-selective-check-r4" x="0" y="142"
textLength="24.4"
clip-path="url(#breeze-ci-selective-check-line-5)">╭─</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="142" textLength="280.6"
clip-path="url(#breeze-ci-selective-check-line-5)"> Selective check flags </text><text
class="breeze-ci-selective-check-r4" x="305" y="142" textLength="1134.6"
clip-path="url(#breeze-ci-selective-check-line-5)">────────────────────────────────────────
[...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="166.4"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-6)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-6)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="166.4" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-6)">-commit</text><text
class="breeze-ci-selective-check-r5" x="122" y="166.4" text [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="190.8"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-7)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-7)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="190.8" textLength="36.6"
clip-path="url(#breeze-ci-selective-check-line-7)">-pr</text><text
class="breeze-ci-selective-check-r5" x="73.2" y="190.8" textLen [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="215.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-8)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="215.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-8)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="215.2" textLength="97.6"
clip-path="url(#breeze-ci-selective-check-line-8)">-default</text><text
class="breeze-ci-selective-check-r5" x="134.2" y="215.2" t [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="239.6"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-9)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="239.6" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-9)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="239.6" textLength="97.6"
clip-path="url(#breeze-ci-selective-check-line-9)">-default</text><text
class="breeze-ci-selective-check-r5" x="134.2" y="239.6" t [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="264"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-10)">│</text><text
class="breeze-ci-selective-check-r4" x="414.8" y="264" textLength="646.6"
clip-path="url(#breeze-ci-selective-check-line-10)">[default: constraints-main]                          </text><text
class="breeze-ci- [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="288.4"
textLength="1464"
clip-path="url(#breeze-ci-selective-check-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-selective-check-r2" x="1464" y="288.4" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-11)">
+</text><text class="breeze-ci-selective-check-r4" x="0" y="312.8"
textLength="24.4"
clip-path="url(#breeze-ci-selective-check-line-12)">╭─</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="312.8" textLength="231.8"
clip-path="url(#breeze-ci-selective-check-line-12)"> Github parameters </text><text
class="breeze-ci-selective-check-r4" x="256.2" y="312.8" textLength="1183.4"
clip-path="url(#breeze-ci-selective-check-line-12)">──────────────────────────────────────
[...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="337.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-13)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="337.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-13)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="337.2" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-13)">-github</text><text
class="breeze-ci-selective-check-r5" x="122" y="337.2" t [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="361.6"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-14)">│</text><text
class="breeze-ci-selective-check-r6" x="329.4" y="361.6" textLength="1110.2"
clip-path="url(#breeze-ci-selective-check-line-14)">(pull_request | pull_request_review | pull_request_target | pull_request_workflow | push | </text><text
class="breeze-ci-selective-check-r4" x="1451.8" y="361.6" t [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="386"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-15)">│</text><text
class="breeze-ci-selective-check-r6" x="329.4" y="386" textLength="1110.2"
clip-path="url(#breeze-ci-selective-check-line-15)">schedule | workflow_dispatch | workflow_run)                         
[...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="410.4"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-16)">│</text><text
class="breeze-ci-selective-check-r4" x="329.4" y="410.4" textLength="1110.2"
clip-path="url(#breeze-ci-selective-check-line-16)">[default: pull_request]                               
[...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="434.8"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-17)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="434.8" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-17)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="434.8" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-17)">-github</text><text
class="breeze-ci-selective-check-r5" x="122" y="434.8" t [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="459.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-18)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="459.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-18)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="459.2" textLength="85.4"
clip-path="url(#breeze-ci-selective-check-line-18)">-github</text><text
class="breeze-ci-selective-check-r5" x="122" y="459.2" t [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="483.6"
textLength="1464"
clip-path="url(#breeze-ci-selective-check-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-selective-check-r2" x="1464" y="483.6" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-19)">
+</text><text class="breeze-ci-selective-check-r4" x="0" y="508"
textLength="24.4"
clip-path="url(#breeze-ci-selective-check-line-20)">╭─</text><text
class="breeze-ci-selective-check-r4" x="24.4" y="508" textLength="195.2"
clip-path="url(#breeze-ci-selective-check-line-20)"> Common options </text><text
class="breeze-ci-selective-check-r4" x="219.6" y="508" textLength="1220"
clip-path="url(#breeze-ci-selective-check-line-20)">─────────────────────────────────────────────────
[...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="532.4"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-21)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="532.4" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-21)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="532.4" textLength="97.6"
clip-path="url(#breeze-ci-selective-check-line-21)">-verbose</text><text
class="breeze-ci-selective-check-r7" x="158.6" y="532.4 [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="556.8"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-22)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="556.8" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-22)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="556.8" textLength="48.8"
clip-path="url(#breeze-ci-selective-check-line-22)">-dry</text><text
class="breeze-ci-selective-check-r5" x="85.4" y="556.8" tex [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="581.2"
textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-23)">│</text><text
class="breeze-ci-selective-check-r5" x="24.4" y="581.2" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-23)">-</text><text
class="breeze-ci-selective-check-r5" x="36.6" y="581.2" textLength="61"
clip-path="url(#breeze-ci-selective-check-line-23)">-help</text><text
class="breeze-ci-selective-check-r7" x="158.6" y="581.2" tex [...]
+</text><text class="breeze-ci-selective-check-r4" x="0" y="605.6"
textLength="1464"
clip-path="url(#breeze-ci-selective-check-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-ci-selective-check-r2" x="1464" y="605.6" textLength="12.2"
clip-path="url(#breeze-ci-selective-check-line-24)">
</text>
</g>
</g>