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 01b1b30b15 Organize the release Breeze commands better (#32556)
01b1b30b15 is described below
commit 01b1b30b158b7335ffe7d6bc9e1e8bdda9ce2bcf
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Jul 12 22:14:35 2023 +0200
Organize the release Breeze commands better (#32556)
The release commands in Breeze were somewhat disorganized, some of
them were hidden from the output of release-management command, and
they were connected to release-management group in a bit weird way.
They also did not have a chapter in BREEZE documentation
This PR makes all the release management commands more consistently
explained in documentation and help file:
* the list of release-management commands contains all of the commands
* they commands are grouped together in logical groups (Airflow,
providers, other)
* they are all linked to the common release_management group via
the same mechanism (``@release_management.command``)
* screenshots are generated for all of the commands and described
in BREEZE.rst
* the structure of documentation in BREEZE.rst reflects the logical
grouping of commands
* references are added between BREEZE.rst and relase READMES when
needed.
---
BREEZE.rst | 314 ++++++++++++---------
dev/breeze/src/airflow_breeze/breeze.py | 3 +
.../commands/minor_release_command.py | 4 +-
.../commands/release_candidate_command.py | 4 +-
.../src/airflow_breeze/commands/release_command.py | 4 +-
.../commands/release_management_commands.py | 20 +-
.../commands/release_management_commands_config.py | 30 +-
.../commands/release_management_group.py | 30 ++
.../src/airflow_breeze/configure_rich_click.py | 10 +-
images/breeze/output-commands-hash.txt | 8 +-
images/breeze/output_release-management.svg | 54 ++--
...tput_release-management_create-minor-branch.svg | 110 ++++++++
.../output_release-management_start-rc-process.svg | 118 ++++++++
.../output_release-management_start-release.svg | 114 ++++++++
14 files changed, 635 insertions(+), 188 deletions(-)
diff --git a/BREEZE.rst b/BREEZE.rst
index b31e7886de..7805128776 100644
--- a/BREEZE.rst
+++ b/BREEZE.rst
@@ -462,51 +462,6 @@ Those are all available flags of ``build-docs`` command:
:width: 100%
:alt: Breeze build documentation
-Publishing the documentation
---------------------------
-
-To publish the documentation generated by ``build-docs`` in Breeze to
``airflow-site``,
-use the ``release-management publish-docs`` command:
-
-.. code-block:: bash
-
- breeze release-management publish-docs
-
-The publishing documentation consists steps:
-
-* checking out the latest ``main`` of cloned ``airflow-site``
-* copying the documentation to ``airflow-site``
-* running post-docs scripts on the docs to generate back referencing HTML for
new versions of docs
-
-.. code-block:: bash
-
- breeze release-management publish-docs --package-filter
apache-airflow-providers-amazon
-
-The flag ``--package-filter`` can be used to selectively publish docs during a
release. It can take
-values such as apache-airflow, helm-chart, apache-airflow-providers, or any
individual providers.
-The documentation publication happens based on this flag.
-
-.. code-block:: bash
-
- breeze release-management publish-docs --override-versioned
-
-The flag ``--override-versioned`` is a boolean flag that is used to override
the versioned directories
-while publishing the documentation.
-
-.. code-block:: bash
-
- breeze release-management publish-docs --airflow-site-directory
-
-The flag ``--airflow-site-directory`` takes the path of the cloned
``airflow-site``. The command will
-not proceed if this is an invalid path.
-
-Those are all available flags of ``release-management publish-docs`` command:
-
-.. image:: ./images/breeze/output_release-management_publish-docs.svg
- :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_publish-docs.svg
- :width: 100%
- :alt: Breeze Publish documentation
-
Running static checks
---------------------
@@ -1775,24 +1730,121 @@ do not need or have no access to run). Those are
usually connected with releasin
:width: 100%
:alt: Breeze release management
-Breeze can be used to prepare airflow packages - both "apache-airflow" main
package and
-provider packages.
+Airflow release commands
+........................
-Preparing provider documentation
-................................
+Running airflow release commands is part of the release procedure performed by
the release managers
+and it is described in detail in `dev <dev/README_RELEASE_AIRFLOW.md>`_ .
+
+Preparing airflow packages
+""""""""""""""""""""""""""
+
+You can prepare airflow packages using Breeze:
+
+.. code-block:: bash
+
+ breeze release-management prepare-airflow-package
+
+This prepares airflow .whl package in the dist folder.
+
+Again, you can specify optional ``--package-format`` flag to build selected
formats of airflow packages,
+default is to build ``both`` type of packages ``sdist`` and ``wheel``.
+
+.. code-block:: bash
+
+ breeze release-management prepare-airflow-package --package-format=wheel
+
+.. image::
./images/breeze/output_release-management_prepare-airflow-package.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_prepare-airflow-package.svg
+ :width: 100%
+ :alt: Breeze release-management prepare-airflow-package
+
+
+Start minor branch of Airflow
+"""""""""""""""""""""""""""""
+
+When we create a new minor branch of Airflow, we need to perform a few
maintenance tasks. This command
+automates it.
+
+.. code-block:: bash
+
+ breeze release-management create-minor-branch
+
+.. image:: ./images/breeze/output_release-management_create-minor-branch.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_create-minor-branch.svg
+ :width: 100%
+ :alt: Breeze release-management create-minor-branch
+
+
+Start release candidate process
+"""""""""""""""""""""""""""""""
+
+When we prepare release candidate, we automate some of the steps we need to do.
+
+.. code-block:: bash
+
+ breeze release-management start-rc-process
+
+.. image:: ./images/breeze/output_release-management_start-rc-process.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_start-rc-process.svg
+ :width: 100%
+ :alt: Breeze release-management start-rc-process
+
+Start release process
+"""""""""""""""""""""
+
+When we prepare final release, we automate some of the steps we need to do.
+
+.. code-block:: bash
+
+ breeze release-management start-release
+
+.. image:: ./images/breeze/output_release-management_start-release.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_start-rc-process.svg
+ :width: 100%
+ :alt: Breeze release-management start-rc-process
+
+Releasing Production images
+"""""""""""""""""""""""""""
+
+The **Production image** can be released by release managers who have
permissions to push the image. This
+happens only when there is an RC candidate or final version of Airflow
released.
+
+You release "regular" and "slim" images as separate steps.
-You can read more about testing provider packages in
-`TESTING.rst <TESTING.rst#running-tests-with-provider-packages>`_
+Releasing "regular" images:
-There are several commands that you can run in Breeze to manage and build
packages:
+.. code-block:: bash
-* preparing Provider documentation files
-* preparing Airflow packages
-* preparing Provider packages
+ breeze release-management release-prod-images --airflow-version 2.4.0
+
+Or "slim" images:
+
+.. code-block:: bash
+
+ breeze release-management release-prod-images --airflow-version 2.4.0
--slim-images
-Preparing provider documentation files is part of the release procedure by the
release managers
+By default when you are releasing the "final" image, we also tag image with
"latest" tags but this
+step can be skipped if you pass the ``--skip-latest`` flag.
+
+These are all of the available flags for the ``release-prod-images`` command:
+
+.. image:: ./images/breeze/output_release-management_release-prod-images.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_release-prod-images.svg
+ :width: 100%
+ :alt: Breeze release management release prod images
+
+Provider release commands
+.........................
+
+Preparing provider release is part of the release procedure by the release
managers
and it is described in detail in `dev
<dev/README_RELEASE_PROVIDER_PACKAGES.md>`_ .
+Preparing provider documentation
+""""""""""""""""""""""""""""""""
+
+You can use Breeze to prepare provider documentation.
+
The below example perform documentation preparation for provider packages.
.. code-block:: bash
@@ -1814,7 +1866,7 @@ You can also add ``--answer yes`` to perform
non-interactive build.
:alt: Breeze prepare-provider-documentation
Preparing provider packages
-...........................
+"""""""""""""""""""""""""""
You can use Breeze to prepare provider packages.
@@ -1846,58 +1898,71 @@ You can see all providers available by running this
command:
:width: 100%
:alt: Breeze prepare-provider-packages
-Verifying provider packages
-...........................
+Installing provider packages
+""""""""""""""""""""""""""""
-Breeze can also be used to verify if provider classes are importable and if
they are following the
-right naming conventions. This happens automatically on CI but you can also
run it manually if you
+In some cases we want to just see if the provider packages generated can be
installed with airflow without
+verifying them. This happens automatically on CI for sdist pcackages but you
can also run it manually if you
just prepared provider packages and they are present in ``dist`` folder.
.. code-block:: bash
- breeze release-management verify-provider-packages
+ breeze release-management install-provider-packages
You can also run the verification with an earlier airflow version to check for
compatibility.
.. code-block:: bash
- breeze release-management verify-provider-packages --use-airflow-version
2.4.0
+ breeze release-management install-provider-packages --use-airflow-version
2.4.0
All the command parameters are here:
-.. image::
./images/breeze/output_release-management_verify-provider-packages.svg
- :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_verify-provider-packages.svg
+.. image::
./images/breeze/output_release-management_install-provider-packages.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_install-provider-packages.svg
:width: 100%
- :alt: Breeze verify-provider-packages
-
+ :alt: Breeze install-provider-packages
-Installing provider packages
-............................
+Verifying provider packages
+"""""""""""""""""""""""""""
-In some cases we want to just see if the provider packages generated can be
installed with airflow without
-verifying them. This happens automatically on CI for sdist pcackages but you
can also run it manually if you
+Breeze can also be used to verify if provider classes are importable and if
they are following the
+right naming conventions. This happens automatically on CI but you can also
run it manually if you
just prepared provider packages and they are present in ``dist`` folder.
.. code-block:: bash
- breeze release-management install-provider-packages
+ breeze release-management verify-provider-packages
You can also run the verification with an earlier airflow version to check for
compatibility.
.. code-block:: bash
- breeze release-management install-provider-packages --use-airflow-version
2.4.0
+ breeze release-management verify-provider-packages --use-airflow-version
2.4.0
All the command parameters are here:
-.. image::
./images/breeze/output_release-management_install-provider-packages.svg
- :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_install-provider-packages.svg
+.. image::
./images/breeze/output_release-management_verify-provider-packages.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_verify-provider-packages.svg
:width: 100%
- :alt: Breeze install-provider-packages
+ :alt: Breeze verify-provider-packages
+
+Generating Providers Metadata
+"""""""""""""""""""""""""""""
+
+The release manager can generate providers metadata per provider version -
information about provider versions
+including the associated Airflow version for the provider version (i.e first
airflow version released after the
+provider has been released) and date of the release of the provider version.
+
+These are all of the available flags for the ``generate-providers-metadata``
command:
+
+.. image::
./images/breeze/output_release-management_generate-providers-metadata.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_generate-providers-metadata.svg
+ :width: 100%
+ :alt: Breeze release management generate providers metadata
Generating Provider Issue
-.........................
+"""""""""""""""""""""""""
You can use Breeze to generate a provider issue when you release new providers.
@@ -1906,31 +1971,57 @@ You can use Breeze to generate a provider issue when
you release new providers.
:width: 100%
:alt: Breeze generate-issue-content-providers
-Preparing airflow packages
-..........................
-You can prepare airflow packages using Breeze:
+Other release commands
+......................
+
+Publishing the documentation
+""""""""""""""""""""""""""""
+
+To publish the documentation generated by ``build-docs`` in Breeze to
``airflow-site``,
+use the ``release-management publish-docs`` command:
.. code-block:: bash
- breeze release-management prepare-airflow-package
+ breeze release-management publish-docs
-This prepares airflow .whl package in the dist folder.
+The publishing documentation consists steps:
-Again, you can specify optional ``--package-format`` flag to build selected
formats of airflow packages,
-default is to build ``both`` type of packages ``sdist`` and ``wheel``.
+* checking out the latest ``main`` of cloned ``airflow-site``
+* copying the documentation to ``airflow-site``
+* running post-docs scripts on the docs to generate back referencing HTML for
new versions of docs
.. code-block:: bash
- breeze release-management prepare-airflow-package --package-format=wheel
+ breeze release-management publish-docs --package-filter
apache-airflow-providers-amazon
-.. image::
./images/breeze/output_release-management_prepare-airflow-package.svg
- :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_prepare-airflow-package.svg
+The flag ``--package-filter`` can be used to selectively publish docs during a
release. It can take
+values such as apache-airflow, helm-chart, apache-airflow-providers, or any
individual providers.
+The documentation publication happens based on this flag.
+
+.. code-block:: bash
+
+ breeze release-management publish-docs --override-versioned
+
+The flag ``--override-versioned`` is a boolean flag that is used to override
the versioned directories
+while publishing the documentation.
+
+.. code-block:: bash
+
+ breeze release-management publish-docs --airflow-site-directory
+
+The flag ``--airflow-site-directory`` takes the path of the cloned
``airflow-site``. The command will
+not proceed if this is an invalid path.
+
+Those are all available flags of ``release-management publish-docs`` command:
+
+.. image:: ./images/breeze/output_release-management_publish-docs.svg
+ :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_publish-docs.svg
:width: 100%
- :alt: Breeze release-management prepare-airflow-package
+ :alt: Breeze Publish documentation
Generating constraints
-......................
+""""""""""""""""""""""
Whenever setup.py gets modified, the CI main job will re-generate constraint
files. Those constraint
files are stored in separated orphan branches: ``constraints-main``,
``constraints-2-0``.
@@ -1983,51 +2074,6 @@ This bumps the constraint files to latest versions and
stores hash of setup.py.
and setup.py hash files are stored in the ``files`` folder and while
generating the constraints diff
of changes vs the previous constraint files is printed.
-Generating Providers Metadata
-.............................
-
-The release manager can generate providers metadata per provider version -
information about provider versions
-including the associated Airflow version for the provider version (i.e first
airflow version released after the
-provider has been released) and date of the release of the provider version.
-
-These are all of the available flags for the ``generate-providers-metadata``
command:
-
-.. image::
./images/breeze/output_release-management_generate-providers-metadata.svg
- :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_generate-providers-metadata.svg
- :width: 100%
- :alt: Breeze release management generate providers metadata
-
-
-Releasing Production images
-...........................
-
-The **Production image** can be released by release managers who have
permissions to push the image. This
-happens only when there is an RC candidate or final version of Airflow
released.
-
-You release "regular" and "slim" images as separate steps.
-
-Releasing "regular" images:
-
-.. code-block:: bash
-
- breeze release-management release-prod-images --airflow-version 2.4.0
-
-Or "slim" images:
-
-.. code-block:: bash
-
- breeze release-management release-prod-images --airflow-version 2.4.0
--slim-images
-
-By default when you are releasing the "final" image, we also tag image with
"latest" tags but this
-step can be skipped if you pass the ``--skip-latest`` flag.
-
-These are all of the available flags for the ``release-prod-images`` command:
-
-.. image:: ./images/breeze/output_release-management_release-prod-images.svg
- :target:
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_release-prod-images.svg
- :width: 100%
- :alt: Breeze release management release prod images
-
SBOM generation tasks
----------------------
diff --git a/dev/breeze/src/airflow_breeze/breeze.py
b/dev/breeze/src/airflow_breeze/breeze.py
index f061952914..3217a3af80 100755
--- a/dev/breeze/src/airflow_breeze/breeze.py
+++ b/dev/breeze/src/airflow_breeze/breeze.py
@@ -34,6 +34,9 @@ from airflow_breeze.commands.ci_image_commands import
ci_image # noqa
from airflow_breeze.commands.kubernetes_commands import kubernetes_group #
noqa
from airflow_breeze.commands.production_image_commands import prod_image #
noqa
from airflow_breeze.commands.release_management_commands import
release_management # noqa
+from airflow_breeze.commands.minor_release_command import
create_minor_version_branch # noqa
+from airflow_breeze.commands.release_command import airflow_release # noqa
+from airflow_breeze.commands.release_candidate_command import
release_management # noqa
from airflow_breeze.commands.sbom_commands import sbom # noqa
from airflow_breeze.commands.setup_commands import setup # noqa
from airflow_breeze.commands.testing_commands import group_for_testing # noqa
diff --git a/dev/breeze/src/airflow_breeze/commands/minor_release_command.py
b/dev/breeze/src/airflow_breeze/commands/minor_release_command.py
index 3df2936257..0ccb9edb25 100644
--- a/dev/breeze/src/airflow_breeze/commands/minor_release_command.py
+++ b/dev/breeze/src/airflow_breeze/commands/minor_release_command.py
@@ -20,6 +20,7 @@ import os
import click
+from airflow_breeze.commands.release_management_group import release_management
from airflow_breeze.utils.common_options import option_answer
from airflow_breeze.utils.confirm import confirm_action
from airflow_breeze.utils.console import console_print
@@ -148,10 +149,9 @@ def create_constraints(version_branch):
)
[email protected](
+@release_management.command(
name="create-minor-branch",
help="Create a new version branch and update the default branches in main",
- hidden=True,
)
@click.option("--version-branch", help="The version branch you want to create
e.g 2-4", required=True)
@option_answer
diff --git
a/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
b/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
index f07f606188..b79c2fd8bb 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_candidate_command.py
@@ -20,6 +20,7 @@ import os
import click
+from airflow_breeze.commands.release_management_group import release_management
from airflow_breeze.utils.common_options import option_answer
from airflow_breeze.utils.confirm import confirm_action
from airflow_breeze.utils.console import console_print
@@ -294,11 +295,10 @@ def remove_old_releases(version, repo_root):
os.chdir(repo_root)
[email protected](
+@release_management.command(
name="start-rc-process",
short_help="Start RC process",
help="Start the process for releasing a new RC.",
- hidden=True,
)
@click.option("--version", required=True, help="The release candidate version
e.g. 2.4.3rc1")
@click.option("--previous-version", required=True, help="Previous version
released e.g. 2.4.2")
diff --git a/dev/breeze/src/airflow_breeze/commands/release_command.py
b/dev/breeze/src/airflow_breeze/commands/release_command.py
index 57c77d1c19..4fff09fdae 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_command.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_command.py
@@ -20,6 +20,7 @@ import os
import click
+from airflow_breeze.commands.release_management_group import release_management
from airflow_breeze.utils.common_options import option_answer
from airflow_breeze.utils.confirm import confirm_action
from airflow_breeze.utils.console import console_print
@@ -199,12 +200,11 @@ def push_tag_for_final_version(version,
release_candidate):
run_command(["git", "push", "origin", "tag", f"{version}"],
dry_run_override=DRY_RUN, check=True)
[email protected](
+@release_management.command(
name="start-release",
short_help="Start Airflow release process",
help="Start the process of releasing an Airflow version. "
"This command will guide you through the release process. ",
- hidden=True,
)
@click.option("--release-candidate", required=True)
@click.option("--previous-release", required=True)
diff --git
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 565e323c4d..a52eb9e595 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -34,9 +34,7 @@ from rich.progress import Progress
from rich.syntax import Syntax
from airflow_breeze.commands.ci_image_commands import
rebuild_or_pull_ci_image_if_needed
-from airflow_breeze.commands.minor_release_command import
create_minor_version_branch
-from airflow_breeze.commands.release_candidate_command import
publish_release_candidate
-from airflow_breeze.commands.release_command import airflow_release
+from airflow_breeze.commands.release_management_group import release_management
from airflow_breeze.global_constants import (
ALLOWED_PLATFORMS,
APACHE_AIRFLOW_GITHUB_REPOSITORY,
@@ -49,7 +47,6 @@ from airflow_breeze.global_constants import (
)
from airflow_breeze.params.shell_params import ShellParams
from airflow_breeze.utils.ci_group import ci_group
-from airflow_breeze.utils.click_utils import BreezeGroup
from airflow_breeze.utils.common_options import (
argument_packages,
option_airflow_constraints_mode_ci,
@@ -181,15 +178,6 @@ echo -e '\\e[34mRun this command to debug:
)
[email protected](
- cls=BreezeGroup,
- name="release-management",
- help="Tools that release managers can use to prepare and manage Airflow
releases",
-)
-def release_management():
- pass
-
-
@release_management.command(
name="prepare-airflow-package",
help="Prepare sdist/whl package of Airflow.",
@@ -1234,9 +1222,3 @@ def generate_providers_metadata(refresh_constraints:
bool, python: str | None):
import json
PROVIDER_METADATA_JSON_FILE_PATH.write_text(json.dumps(metadata_dict,
indent=4, sort_keys=True))
-
-
-# AIRFLOW RELEASE COMMANDS
-release_management.add_command(publish_release_candidate)
-release_management.add_command(airflow_release)
-release_management.add_command(create_minor_version_branch)
diff --git
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index dcf7b35b43..0bd911e745 100644
---
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -16,16 +16,34 @@
# under the License.
from __future__ import annotations
-RELEASE_MANAGEMENT_COMMANDS: dict[str, str | list[str]] = {
- "name": "Release management",
+RELEASE_AIRFLOW_COMMANDS: dict[str, str | list[str]] = {
+ "name": "Airflow release commands",
"commands": [
- "verify-provider-packages",
- "prepare-provider-documentation",
- "prepare-provider-packages",
"prepare-airflow-package",
+ "create-minor-branch",
+ "start-rc-process",
+ "start-release",
"release-prod-images",
- "generate-constraints",
+ ],
+}
+
+RELEASE_PROVIDERS_COMMANDS: dict[str, str | list[str]] = {
+ "name": "Providers release commands",
+ "commands": [
+ "prepare-provider-documentation",
+ "prepare-provider-packages",
+ "install-provider-packages",
+ "verify-provider-packages",
+ "generate-providers-metadata",
+ "generate-issue-content-providers",
+ ],
+}
+
+RELEASE_OTHER_COMMANDS: dict[str, str | list[str]] = {
+ "name": "Other release commands",
+ "commands": [
"publish-docs",
+ "generate-constraints",
],
}
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_group.py
b/dev/breeze/src/airflow_breeze/commands/release_management_group.py
new file mode 100644
index 0000000000..cf898623d8
--- /dev/null
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_group.py
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+import click
+
+from airflow_breeze.utils.click_utils import BreezeGroup
+
+
[email protected](
+ cls=BreezeGroup,
+ name="release-management",
+ help="Tools that release managers can use to prepare and manage Airflow
releases",
+)
+def release_management():
+ pass
diff --git a/dev/breeze/src/airflow_breeze/configure_rich_click.py
b/dev/breeze/src/airflow_breeze/configure_rich_click.py
index 385ed1d887..b10093a679 100644
--- a/dev/breeze/src/airflow_breeze/configure_rich_click.py
+++ b/dev/breeze/src/airflow_breeze/configure_rich_click.py
@@ -47,8 +47,10 @@ else:
PRODUCTION_IMAGE_TOOLS_PARAMETERS,
)
from airflow_breeze.commands.release_management_commands_config import (
- RELEASE_MANAGEMENT_COMMANDS,
+ RELEASE_AIRFLOW_COMMANDS,
RELEASE_MANAGEMENT_PARAMETERS,
+ RELEASE_OTHER_COMMANDS,
+ RELEASE_PROVIDERS_COMMANDS,
)
from airflow_breeze.commands.setup_commands_config import SETUP_COMMANDS,
SETUP_PARAMETERS
from airflow_breeze.commands.testing_commands_config import
TESTING_COMMANDS, TESTING_PARAMETERS
@@ -102,7 +104,11 @@ else:
"breeze ci-image": [CI_IMAGE_TOOLS_COMMANDS],
"breeze prod-image": [PRODUCTION_IMAGE_TOOLS_COMMANDS],
"breeze setup": [SETUP_COMMANDS],
- "breeze release-management": [RELEASE_MANAGEMENT_COMMANDS],
+ "breeze release-management": [
+ RELEASE_AIRFLOW_COMMANDS,
+ RELEASE_PROVIDERS_COMMANDS,
+ RELEASE_OTHER_COMMANDS,
+ ],
"breeze sbom": [SBOM_COMMANDS],
"breeze ci": [CI_COMMANDS],
}
diff --git a/images/breeze/output-commands-hash.txt
b/images/breeze/output-commands-hash.txt
index a1cd835a9a..1890af0540 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -35,7 +35,7 @@ prod-image:build:58ab53c2f5e799bbe05d6fac26d001bf
prod-image:pull:76f1f27e6119928412abecf153fce4bb
prod-image:verify:bd2b78738a7c388dbad6076c41a9f906
prod-image:2da480c21d7eb120075489dc1da0f55b
-release-management:create-minor-branch:91d4727f5d95df6eed6c09a5408fda08
+release-management:create-minor-branch:a3834afc4aa5d1e98002c9e9e7a9931d
release-management:generate-constraints:b8fcaf8f0acd35ed5dbd48659bdb6485
release-management:generate-issue-content-providers:9cea234261547208ac812464d3e4a598
release-management:generate-providers-metadata:d4e8e5cfaa024e3963af02d7a873048d
@@ -45,10 +45,10 @@
release-management:prepare-provider-documentation:bc0b95c6a0f308273ab25f728afdb0
release-management:prepare-provider-packages:3e19a787c71d5515a2bc05539da0022f
release-management:publish-docs:4a7d78a846f7e58c6af4a55cbdf7104b
release-management:release-prod-images:4d85a23a2175bf8894de5aedbdd85614
-release-management:start-rc-process:108c9daabd5970fde86210b1669990cc
-release-management:start-release:ad13846c7573ddaaa59adc72f0f00284
+release-management:start-rc-process:b27bd524dd3c89f50a747b60a7e892c1
+release-management:start-release:419f48f6a4ff4457cb9de7ff496aebbe
release-management:verify-provider-packages:96dce5644aad6b37080acf77b3d8de3a
-release-management:473d554e19e108635deda89eb8e0bd05
+release-management:b53a6b829715075b5570de4760887a2a
sbom:generate-provider-requirements:1e7609a0ebafb839d30ec90e4254a628
sbom:update-sbom-information:0ce56884e5f842e3e80d6619df1ccc64
sbom:d9c57d78e23a29ec9cd0139e230e1811
diff --git a/images/breeze/output_release-management.svg
b/images/breeze/output_release-management.svg
index c02b1f93bf..e751de1f99 100644
--- a/images/breeze/output_release-management.svg
+++ b/images/breeze/output_release-management.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 586.8"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 708.8"
xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -42,7 +42,7 @@
<defs>
<clipPath id="breeze-release-management-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="535.8" />
+ <rect x="0" y="0" width="1463.0" height="657.8" />
</clipPath>
<clipPath id="breeze-release-management-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -107,9 +107,24 @@
<clipPath id="breeze-release-management-line-20">
<rect x="0" y="489.5" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="breeze-release-management-line-21">
+ <rect x="0" y="513.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-line-22">
+ <rect x="0" y="538.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-line-23">
+ <rect x="0" y="562.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-line-24">
+ <rect x="0" y="587.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-line-25">
+ <rect x="0" y="611.5" 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="584.8" rx="8"/><text
class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle"
x="740" y="27">Command: release-management</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="706.8" rx="8"/><text
class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle"
x="740" y="27">Command: release-management</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -127,20 +142,25 @@
</text><text class="breeze-release-management-r5" x="0" y="142"
textLength="24.4"
clip-path="url(#breeze-release-management-line-5)">╭─</text><text
class="breeze-release-management-r5" x="24.4" y="142" textLength="195.2"
clip-path="url(#breeze-release-management-line-5)"> Common options </text><text
class="breeze-release-management-r5" x="219.6" y="142" textLength="1220"
clip-path="url(#breeze-release-management-line-5)">────────────────────────────────────────────────────
[...]
</text><text class="breeze-release-management-r5" x="0" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-line-6)">│</text><text
class="breeze-release-management-r4" x="24.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-line-6)">-</text><text
class="breeze-release-management-r4" x="36.6" y="166.4" textLength="61"
clip-path="url(#breeze-release-management-line-6)">-help</text><text
class="breeze-release-management-r6" x="122" y="166.4" textLeng [...]
</text><text class="breeze-release-management-r5" x="0" y="190.8"
textLength="1464"
clip-path="url(#breeze-release-management-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-r2" x="1464" y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-line-7)">
-</text><text class="breeze-release-management-r5" x="0" y="215.2"
textLength="24.4"
clip-path="url(#breeze-release-management-line-8)">╭─</text><text
class="breeze-release-management-r5" x="24.4" y="215.2" textLength="244"
clip-path="url(#breeze-release-management-line-8)"> Release management </text><text
class="breeze-release-management-r5" x="268.4" y="215.2" textLength="1171.2"
clip-path="url(#breeze-release-management-line-8)">──────────────────────────────────────────
[...]
-</text><text class="breeze-release-management-r5" x="0" y="239.6"
textLength="12.2"
clip-path="url(#breeze-release-management-line-9)">│</text><text
class="breeze-release-management-r4" x="24.4" y="239.6" textLength="402.6"
clip-path="url(#breeze-release-management-line-9)">verify-provider-packages         </text><text
class="breeze-release-management-r2" x="451.4" y="239.6" textLength="988.2"
clip-path="url(#breeze-release-management-line-9)" [...]
-</text><text class="breeze-release-management-r5" x="0" y="264"
textLength="12.2"
clip-path="url(#breeze-release-management-line-10)">│</text><text
class="breeze-release-management-r4" x="24.4" y="264" textLength="402.6"
clip-path="url(#breeze-release-management-line-10)">prepare-provider-documentation   </text><text
class="breeze-release-management-r2" x="451.4" y="264" textLength="97.6"
clip-path="url(#breeze-release-management-line-10)">Prepare </text><text
class=" [...]
-</text><text class="breeze-release-management-r5" x="0" y="288.4"
textLength="12.2"
clip-path="url(#breeze-release-management-line-11)">│</text><text
class="breeze-release-management-r4" x="24.4" y="288.4" textLength="402.6"
clip-path="url(#breeze-release-management-line-11)">prepare-provider-packages        </text><text
class="breeze-release-management-r2" x="451.4" y="288.4" textLength="988.2"
clip-path="url(#breeze-release-management-line-11)">P [...]
-</text><text class="breeze-release-management-r5" x="0" y="312.8"
textLength="12.2"
clip-path="url(#breeze-release-management-line-12)">│</text><text
class="breeze-release-management-r4" x="24.4" y="312.8" textLength="402.6"
clip-path="url(#breeze-release-management-line-12)">prepare-airflow-package          </text><text
class="breeze-release-management-r2" x="451.4" y="312.8" textLength="988.2"
clip-path="url(#breeze-release-management-l [...]
-</text><text class="breeze-release-management-r5" x="0" y="337.2"
textLength="12.2"
clip-path="url(#breeze-release-management-line-13)">│</text><text
class="breeze-release-management-r4" x="24.4" y="337.2" textLength="402.6"
clip-path="url(#breeze-release-management-line-13)">release-prod-images              </text><text
class="breeze-release-management-r2" x="451.4" y="337.2" textLength="988.2"
clip-path="url(#breeze- [...]
-</text><text class="breeze-release-management-r5" x="0" y="361.6"
textLength="12.2"
clip-path="url(#breeze-release-management-line-14)">│</text><text
class="breeze-release-management-r4" x="24.4" y="361.6" textLength="402.6"
clip-path="url(#breeze-release-management-line-14)">generate-constraints             </text><text
class="breeze-release-management-r2" x="451.4" y="361.6" textLength="988.2"
clip-path="url(#breeze-relea [...]
-</text><text class="breeze-release-management-r5" x="0" y="386"
textLength="12.2"
clip-path="url(#breeze-release-management-line-15)">│</text><text
class="breeze-release-management-r4" x="24.4" y="386" textLength="402.6"
clip-path="url(#breeze-release-management-line-15)">publish-docs                     </text><text
class="breeze-release-management-r2" x="451.4" y="386" textLength="9 [...]
-</text><text class="breeze-release-management-r5" x="0" y="410.4"
textLength="1464"
clip-path="url(#breeze-release-management-line-16)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-r2" x="1464" y="410.4" textLength="12.2"
clip-path="url(#breeze-release-management-line-16)">
-</text><text class="breeze-release-management-r5" x="0" y="434.8"
textLength="24.4"
clip-path="url(#breeze-release-management-line-17)">╭─</text><text
class="breeze-release-management-r5" x="24.4" y="434.8" textLength="122"
clip-path="url(#breeze-release-management-line-17)"> Commands </text><text
class="breeze-release-management-r5" x="146.4" y="434.8" textLength="1293.2"
clip-path="url(#breeze-release-management-line-17)">──────────────────────────────────────────────────────
[...]
-</text><text class="breeze-release-management-r5" x="0" y="459.2"
textLength="12.2"
clip-path="url(#breeze-release-management-line-18)">│</text><text
class="breeze-release-management-r4" x="24.4" y="459.2" textLength="524.6"
clip-path="url(#breeze-release-management-line-18)">generate-issue-content-providers           </text><text
class="breeze-release-management-r2" x="573.4" y="459.2" textLength="866.2"
clip-path="url(#breeze-relea [...]
-</text><text class="breeze-release-management-r5" x="0" y="483.6"
textLength="12.2"
clip-path="url(#breeze-release-management-line-19)">│</text><text
class="breeze-release-management-r4" x="24.4" y="483.6" textLength="524.6"
clip-path="url(#breeze-release-management-line-19)">generate-providers-metadata                </text><text
class="breeze-release-management-r2" x="573.4" y="483.6" textLength="866.2"
cli [...]
-</text><text class="breeze-release-management-r5" x="0" y="508"
textLength="12.2"
clip-path="url(#breeze-release-management-line-20)">│</text><text
class="breeze-release-management-r4" x="24.4" y="508" textLength="524.6"
clip-path="url(#breeze-release-management-line-20)">install-provider-packages                  </text><text
class="breeze-release-management-r2" x="573.4" y="508" textLength="866.2" [...]
-</text><text class="breeze-release-management-r5" x="0" y="532.4"
textLength="1464"
clip-path="url(#breeze-release-management-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-r2" x="1464" y="532.4" textLength="12.2"
clip-path="url(#breeze-release-management-line-21)">
+</text><text class="breeze-release-management-r5" x="0" y="215.2"
textLength="24.4"
clip-path="url(#breeze-release-management-line-8)">╭─</text><text
class="breeze-release-management-r5" x="24.4" y="215.2" textLength="317.2"
clip-path="url(#breeze-release-management-line-8)"> Airflow release commands </text><text
class="breeze-release-management-r5" x="341.6" y="215.2" textLength="1098"
clip-path="url(#breeze-release-management-line-8)">───────────────────────────────
[...]
+</text><text class="breeze-release-management-r5" x="0" y="239.6"
textLength="12.2"
clip-path="url(#breeze-release-management-line-9)">│</text><text
class="breeze-release-management-r4" x="24.4" y="239.6" textLength="353.8"
clip-path="url(#breeze-release-management-line-9)">prepare-airflow-package      </text><text
class="breeze-release-management-r2" x="402.6" y="239.6" textLength="1037"
clip-path="url(#breeze-release-management-line-9)">Prepare sdist/ [...]
+</text><text class="breeze-release-management-r5" x="0" y="264"
textLength="12.2"
clip-path="url(#breeze-release-management-line-10)">│</text><text
class="breeze-release-management-r4" x="24.4" y="264" textLength="353.8"
clip-path="url(#breeze-release-management-line-10)">create-minor-branch          </text><text
class="breeze-release-management-r2" x="402.6" y="264" textLength="1037"
clip-path="url(#breeze-release-management-line-10)">Cr [...]
+</text><text class="breeze-release-management-r5" x="0" y="288.4"
textLength="12.2"
clip-path="url(#breeze-release-management-line-11)">│</text><text
class="breeze-release-management-r4" x="24.4" y="288.4" textLength="353.8"
clip-path="url(#breeze-release-management-line-11)">start-rc-process             </text><text
class="breeze-release-management-r2" x="402.6" y="288.4" textLength="73.2"
clip-path="url(#breeze-release-ma [...]
+</text><text class="breeze-release-management-r5" x="0" y="312.8"
textLength="12.2"
clip-path="url(#breeze-release-management-line-12)">│</text><text
class="breeze-release-management-r4" x="24.4" y="312.8" textLength="353.8"
clip-path="url(#breeze-release-management-line-12)">start-release                </text><text
class="breeze-release-management-r2" x="402.6" y="312.8" textLength="1037"
clip-path="url(#br [...]
+</text><text class="breeze-release-management-r5" x="0" y="337.2"
textLength="12.2"
clip-path="url(#breeze-release-management-line-13)">│</text><text
class="breeze-release-management-r4" x="24.4" y="337.2" textLength="353.8"
clip-path="url(#breeze-release-management-line-13)">release-prod-images          </text><text
class="breeze-release-management-r2" x="402.6" y="337.2" textLength="1037"
clip-path="url(#breeze-release-management-line-1 [...]
+</text><text class="breeze-release-management-r5" x="0" y="361.6"
textLength="1464"
clip-path="url(#breeze-release-management-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-r2" x="1464" y="361.6" textLength="12.2"
clip-path="url(#breeze-release-management-line-14)">
+</text><text class="breeze-release-management-r5" x="0" y="386"
textLength="24.4"
clip-path="url(#breeze-release-management-line-15)">╭─</text><text
class="breeze-release-management-r5" x="24.4" y="386" textLength="341.6"
clip-path="url(#breeze-release-management-line-15)"> Providers release commands </text><text
class="breeze-release-management-r5" x="366" y="386" textLength="1073.6"
clip-path="url(#breeze-release-management-line-15)">────────────────────────────────
[...]
+</text><text class="breeze-release-management-r5" x="0" y="410.4"
textLength="12.2"
clip-path="url(#breeze-release-management-line-16)">│</text><text
class="breeze-release-management-r4" x="24.4" y="410.4" textLength="439.2"
clip-path="url(#breeze-release-management-line-16)">prepare-provider-documentation      </text><text
class="breeze-release-management-r2" x="488" y="410.4" textLength="97.6"
clip-path="url(#breeze-release-management-line-16)">Prepare [...]
+</text><text class="breeze-release-management-r5" x="0" y="434.8"
textLength="12.2"
clip-path="url(#breeze-release-management-line-17)">│</text><text
class="breeze-release-management-r4" x="24.4" y="434.8" textLength="439.2"
clip-path="url(#breeze-release-management-line-17)">prepare-provider-packages           </text><text
class="breeze-release-management-r2" x="488" y="434.8" textLength="951.6"
clip-path="url(#breeze-release-manage [...]
+</text><text class="breeze-release-management-r5" x="0" y="459.2"
textLength="12.2"
clip-path="url(#breeze-release-management-line-18)">│</text><text
class="breeze-release-management-r4" x="24.4" y="459.2" textLength="439.2"
clip-path="url(#breeze-release-management-line-18)">install-provider-packages           </text><text
class="breeze-release-management-r2" x="488" y="459.2" textLength="951.6"
clip-path="url(#breeze-release-manage [...]
+</text><text class="breeze-release-management-r5" x="0" y="483.6"
textLength="12.2"
clip-path="url(#breeze-release-management-line-19)">│</text><text
class="breeze-release-management-r4" x="24.4" y="483.6" textLength="439.2"
clip-path="url(#breeze-release-management-line-19)">verify-provider-packages            </text><text
class="breeze-release-management-r2" x="488" y="483.6" textLength="951.6"
clip-path="url(#breeze-release-m [...]
+</text><text class="breeze-release-management-r5" x="0" y="508"
textLength="12.2"
clip-path="url(#breeze-release-management-line-20)">│</text><text
class="breeze-release-management-r4" x="24.4" y="508" textLength="439.2"
clip-path="url(#breeze-release-management-line-20)">generate-providers-metadata         </text><text
class="breeze-release-management-r2" x="488" y="508" textLength="951.6"
clip-path="url(#breeze-release-management-line-20)">G [...]
+</text><text class="breeze-release-management-r5" x="0" y="532.4"
textLength="12.2"
clip-path="url(#breeze-release-management-line-21)">│</text><text
class="breeze-release-management-r4" x="24.4" y="532.4" textLength="439.2"
clip-path="url(#breeze-release-management-line-21)">generate-issue-content-providers    </text><text
class="breeze-release-management-r2" x="488" y="532.4" textLength="951.6"
clip-path="url(#breeze-release-management-line-21)">Generates conte [...]
+</text><text class="breeze-release-management-r5" x="0" y="556.8"
textLength="1464"
clip-path="url(#breeze-release-management-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-r2" x="1464" y="556.8" textLength="12.2"
clip-path="url(#breeze-release-management-line-22)">
+</text><text class="breeze-release-management-r5" x="0" y="581.2"
textLength="24.4"
clip-path="url(#breeze-release-management-line-23)">╭─</text><text
class="breeze-release-management-r5" x="24.4" y="581.2" textLength="292.8"
clip-path="url(#breeze-release-management-line-23)"> Other release commands </text><text
class="breeze-release-management-r5" x="317.2" y="581.2" textLength="1122.4"
clip-path="url(#breeze-release-management-line-23)">────────────────────────────
[...]
+</text><text class="breeze-release-management-r5" x="0" y="605.6"
textLength="12.2"
clip-path="url(#breeze-release-management-line-24)">│</text><text
class="breeze-release-management-r4" x="24.4" y="605.6" textLength="292.8"
clip-path="url(#breeze-release-management-line-24)">generate-constraints    </text><text
class="breeze-release-management-r2" x="341.6" y="605.6" textLength="1098"
clip-path="url(#breeze-release-management-line-24)">Generates pinned cons
[...]
+</text><text class="breeze-release-management-r5" x="0" y="630"
textLength="12.2"
clip-path="url(#breeze-release-management-line-25)">│</text><text
class="breeze-release-management-r4" x="24.4" y="630" textLength="292.8"
clip-path="url(#breeze-release-management-line-25)">publish-docs            </text><text
class="breeze-release-management-r2" x="341.6" y="630" textLength="1098"
clip-path="url(#breeze-release-management-line-25 [...]
+</text><text class="breeze-release-management-r5" x="0" y="654.4"
textLength="1464"
clip-path="url(#breeze-release-management-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-r2" x="1464" y="654.4" textLength="12.2"
clip-path="url(#breeze-release-management-line-26)">
</text>
</g>
</g>
diff --git a/images/breeze/output_release-management_create-minor-branch.svg
b/images/breeze/output_release-management_create-minor-branch.svg
new file mode 100644
index 0000000000..8980e6598a
--- /dev/null
+++ b/images/breeze/output_release-management_create-minor-branch.svg
@@ -0,0 +1,110 @@
+<svg class="rich-terminal" viewBox="0 0 1482 342.79999999999995"
xmlns="http://www.w3.org/2000/svg">
+ <!-- Generated with Rich https://www.textualize.io -->
+ <style>
+
+ @font-face {
+ font-family: "Fira Code";
+ src: local("FiraCode-Regular"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2")
format("woff2"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff")
format("woff");
+ font-style: normal;
+ font-weight: 400;
+ }
+ @font-face {
+ font-family: "Fira Code";
+ src: local("FiraCode-Bold"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2")
format("woff2"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff")
format("woff");
+ font-style: bold;
+ font-weight: 700;
+ }
+
+ .breeze-release-management-create-minor-branch-matrix {
+ font-family: Fira Code, monospace;
+ font-size: 20px;
+ line-height: 24.4px;
+ font-variant-east-asian: full-width;
+ }
+
+ .breeze-release-management-create-minor-branch-title {
+ font-size: 18px;
+ font-weight: bold;
+ font-family: arial;
+ }
+
+ .breeze-release-management-create-minor-branch-r1 { fill:
#c5c8c6;font-weight: bold }
+.breeze-release-management-create-minor-branch-r2 { fill: #c5c8c6 }
+.breeze-release-management-create-minor-branch-r3 { fill: #d0b344;font-weight:
bold }
+.breeze-release-management-create-minor-branch-r4 { fill: #68a0b3;font-weight:
bold }
+.breeze-release-management-create-minor-branch-r5 { fill: #868887 }
+.breeze-release-management-create-minor-branch-r6 { fill: #cc555a }
+.breeze-release-management-create-minor-branch-r7 { fill: #8d7b39 }
+.breeze-release-management-create-minor-branch-r8 { fill: #8a4346 }
+.breeze-release-management-create-minor-branch-r9 { fill: #98a84b;font-weight:
bold }
+ </style>
+
+ <defs>
+ <clipPath id="breeze-release-management-create-minor-branch-clip-terminal">
+ <rect x="0" y="0" width="1463.0" height="291.79999999999995" />
+ </clipPath>
+ <clipPath id="breeze-release-management-create-minor-branch-line-0">
+ <rect x="0" y="1.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-1">
+ <rect x="0" y="25.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-2">
+ <rect x="0" y="50.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-3">
+ <rect x="0" y="74.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-4">
+ <rect x="0" y="99.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-5">
+ <rect x="0" y="123.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-6">
+ <rect x="0" y="147.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-7">
+ <rect x="0" y="172.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-8">
+ <rect x="0" y="196.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-9">
+ <rect x="0" y="221.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-create-minor-branch-line-10">
+ <rect x="0" y="245.5" 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="340.8" rx="8"/><text
class="breeze-release-management-create-minor-branch-title" fill="#c5c8c6"
text-anchor="middle" x="740"
y="27">Command: release-management create-minor-branch</text>
+ <g transform="translate(26,22)">
+ <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
+ <circle cx="22" cy="0" r="7" fill="#febc2e"/>
+ <circle cx="44" cy="0" r="7" fill="#28c840"/>
+ </g>
+
+ <g transform="translate(9, 41)"
clip-path="url(#breeze-release-management-create-minor-branch-clip-terminal)">
+
+ <g class="breeze-release-management-create-minor-branch-matrix">
+ <text class="breeze-release-management-create-minor-branch-r2" x="1464"
y="20" textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-0)">
+</text><text class="breeze-release-management-create-minor-branch-r3" x="12.2"
y="44.4" textLength="85.4"
clip-path="url(#breeze-release-management-create-minor-branch-line-1)">Usage: </text><text
class="breeze-release-management-create-minor-branch-r1" x="97.6" y="44.4"
textLength="573.4"
clip-path="url(#breeze-release-management-create-minor-branch-line-1)">breeze release-management create-minor-branch [</text><text
class="breeze-release-management-create-minor-bran [...]
+</text><text class="breeze-release-management-create-minor-branch-r2" x="1464"
y="68.8" textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-2)">
+</text><text class="breeze-release-management-create-minor-branch-r2" x="12.2"
y="93.2" textLength="817.4"
clip-path="url(#breeze-release-management-create-minor-branch-line-3)">Create a new version branch and update the default branches in main</text><text
class="breeze-release-management-create-minor-branch-r2" x="1464" y="93.2"
textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-3)">
+</text><text class="breeze-release-management-create-minor-branch-r2" x="1464"
y="117.6" textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-4)">
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="142" textLength="24.4"
clip-path="url(#breeze-release-management-create-minor-branch-line-5)">╭─</text><text
class="breeze-release-management-create-minor-branch-r5" x="24.4" y="142"
textLength="329.4"
clip-path="url(#breeze-release-management-create-minor-branch-line-5)"> Create minor branch flags </text><text
class="breeze-release-management-create-minor-branch-r5" x="353.8" y="142"
[...]
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-6)">│</text><text
class="breeze-release-management-create-minor-branch-r6" x="24.4" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-6)">*</text><text
class="breeze-release-management-create-minor-branch-r4" x="61" y="166.4"
textLength="12.2" clip-path="url(#breeze-release-m [...]
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="190.8" textLength="1464"
clip-path="url(#breeze-release-management-create-minor-branch-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-create-minor-branch-r2" x="1464" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-7)">
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="215.2" textLength="24.4"
clip-path="url(#breeze-release-management-create-minor-branch-line-8)">╭─</text><text
class="breeze-release-management-create-minor-branch-r5" x="24.4" y="215.2"
textLength="195.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-8)"> Common options </text><text
class="breeze-release-management-create-minor-branch-r5" x="219.6" y="215.2"
textLength="122 [...]
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="239.6" textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-9)">│</text><text
class="breeze-release-management-create-minor-branch-r4" x="24.4" y="239.6"
textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-9)">-</text><text
class="breeze-release-management-create-minor-branch-r4" x="36.6" y="239.6"
textLength="85.4" clip-path="url(#breeze-release [...]
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="264" textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-10)">│</text><text
class="breeze-release-management-create-minor-branch-r4" x="24.4" y="264"
textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-10)">-</text><text
class="breeze-release-management-create-minor-branch-r4" x="36.6" y="264"
textLength="61" clip-path="url(#breeze-release-manag [...]
+</text><text class="breeze-release-management-create-minor-branch-r5" x="0"
y="288.4" textLength="1464"
clip-path="url(#breeze-release-management-create-minor-branch-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-create-minor-branch-r2" x="1464" y="288.4"
textLength="12.2"
clip-path="url(#breeze-release-management-create-minor-branch-line-11)">
+</text>
+ </g>
+ </g>
+</svg>
diff --git a/images/breeze/output_release-management_start-rc-process.svg
b/images/breeze/output_release-management_start-rc-process.svg
new file mode 100644
index 0000000000..0d70e8a16f
--- /dev/null
+++ b/images/breeze/output_release-management_start-rc-process.svg
@@ -0,0 +1,118 @@
+<svg class="rich-terminal" viewBox="0 0 1482 391.59999999999997"
xmlns="http://www.w3.org/2000/svg">
+ <!-- Generated with Rich https://www.textualize.io -->
+ <style>
+
+ @font-face {
+ font-family: "Fira Code";
+ src: local("FiraCode-Regular"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2")
format("woff2"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff")
format("woff");
+ font-style: normal;
+ font-weight: 400;
+ }
+ @font-face {
+ font-family: "Fira Code";
+ src: local("FiraCode-Bold"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2")
format("woff2"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff")
format("woff");
+ font-style: bold;
+ font-weight: 700;
+ }
+
+ .breeze-release-management-start-rc-process-matrix {
+ font-family: Fira Code, monospace;
+ font-size: 20px;
+ line-height: 24.4px;
+ font-variant-east-asian: full-width;
+ }
+
+ .breeze-release-management-start-rc-process-title {
+ font-size: 18px;
+ font-weight: bold;
+ font-family: arial;
+ }
+
+ .breeze-release-management-start-rc-process-r1 { fill:
#c5c8c6;font-weight: bold }
+.breeze-release-management-start-rc-process-r2 { fill: #c5c8c6 }
+.breeze-release-management-start-rc-process-r3 { fill: #d0b344;font-weight:
bold }
+.breeze-release-management-start-rc-process-r4 { fill: #68a0b3;font-weight:
bold }
+.breeze-release-management-start-rc-process-r5 { fill: #868887 }
+.breeze-release-management-start-rc-process-r6 { fill: #cc555a }
+.breeze-release-management-start-rc-process-r7 { fill: #8d7b39 }
+.breeze-release-management-start-rc-process-r8 { fill: #8a4346 }
+.breeze-release-management-start-rc-process-r9 { fill: #98a84b;font-weight:
bold }
+ </style>
+
+ <defs>
+ <clipPath id="breeze-release-management-start-rc-process-clip-terminal">
+ <rect x="0" y="0" width="1463.0" height="340.59999999999997" />
+ </clipPath>
+ <clipPath id="breeze-release-management-start-rc-process-line-0">
+ <rect x="0" y="1.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-1">
+ <rect x="0" y="25.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-2">
+ <rect x="0" y="50.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-3">
+ <rect x="0" y="74.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-4">
+ <rect x="0" y="99.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-5">
+ <rect x="0" y="123.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-6">
+ <rect x="0" y="147.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-7">
+ <rect x="0" y="172.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-8">
+ <rect x="0" y="196.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-9">
+ <rect x="0" y="221.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-10">
+ <rect x="0" y="245.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-11">
+ <rect x="0" y="269.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-rc-process-line-12">
+ <rect x="0" y="294.3" 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="389.6" rx="8"/><text
class="breeze-release-management-start-rc-process-title" fill="#c5c8c6"
text-anchor="middle" x="740"
y="27">Command: release-management start-rc-process</text>
+ <g transform="translate(26,22)">
+ <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
+ <circle cx="22" cy="0" r="7" fill="#febc2e"/>
+ <circle cx="44" cy="0" r="7" fill="#28c840"/>
+ </g>
+
+ <g transform="translate(9, 41)"
clip-path="url(#breeze-release-management-start-rc-process-clip-terminal)">
+
+ <g class="breeze-release-management-start-rc-process-matrix">
+ <text class="breeze-release-management-start-rc-process-r2" x="1464"
y="20" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-0)">
+</text><text class="breeze-release-management-start-rc-process-r3" x="12.2"
y="44.4" textLength="85.4"
clip-path="url(#breeze-release-management-start-rc-process-line-1)">Usage: </text><text
class="breeze-release-management-start-rc-process-r1" x="97.6" y="44.4"
textLength="536.8"
clip-path="url(#breeze-release-management-start-rc-process-line-1)">breeze release-management start-rc-process [</text><text
class="breeze-release-management-start-rc-process-r4" x="634.4" y [...]
+</text><text class="breeze-release-management-start-rc-process-r2" x="1464"
y="68.8" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-2)">
+</text><text class="breeze-release-management-start-rc-process-r2" x="12.2"
y="93.2" textLength="463.6"
clip-path="url(#breeze-release-management-start-rc-process-line-3)">Start the process for releasing a new </text><text
class="breeze-release-management-start-rc-process-r4" x="475.8" y="93.2"
textLength="24.4"
clip-path="url(#breeze-release-management-start-rc-process-line-3)">RC</text><text
class="breeze-release-management-start-rc-process-r2" x="500 [...]
+</text><text class="breeze-release-management-start-rc-process-r2" x="1464"
y="117.6" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-4)">
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="142" textLength="24.4"
clip-path="url(#breeze-release-management-start-rc-process-line-5)">╭─</text><text
class="breeze-release-management-start-rc-process-r5" x="24.4" y="142"
textLength="292.8"
clip-path="url(#breeze-release-management-start-rc-process-line-5)"> Start RC process flags </text><text
class="breeze-release-management-start-rc-process-r5" x="317.2" y="142"
textLength="1122.4 [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-6)">│</text><text
class="breeze-release-management-start-rc-process-r6" x="24.4" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-6)">*</text><text
class="breeze-release-management-start-rc-process-r4" x="61" y="166.4"
textLength="12.2" clip-path="url(#breeze-release-management-start [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-7)">│</text><text
class="breeze-release-management-start-rc-process-r6" x="24.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-7)">*</text><text
class="breeze-release-management-start-rc-process-r4" x="61" y="190.8"
textLength="12.2" clip-path="url(#breeze-release-management-start [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="215.2" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-8)">│</text><text
class="breeze-release-management-start-rc-process-r4" x="61" y="215.2"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-8)">-</text><text
class="breeze-release-management-start-rc-process-r4" x="73.2" y="215.2"
textLength="85.4" clip-path="url(#breeze-release-management-start [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="239.6" textLength="1464"
clip-path="url(#breeze-release-management-start-rc-process-line-9)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-start-rc-process-r2" x="1464" y="239.6"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-9)">
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="264" textLength="24.4"
clip-path="url(#breeze-release-management-start-rc-process-line-10)">╭─</text><text
class="breeze-release-management-start-rc-process-r5" x="24.4" y="264"
textLength="195.2"
clip-path="url(#breeze-release-management-start-rc-process-line-10)"> Common options </text><text
class="breeze-release-management-start-rc-process-r5" x="219.6" y="264"
textLength="1220" clip-path="url(# [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="288.4" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-11)">│</text><text
class="breeze-release-management-start-rc-process-r4" x="24.4" y="288.4"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-11)">-</text><text
class="breeze-release-management-start-rc-process-r4" x="36.6" y="288.4"
textLength="85.4" clip-path="url(#breeze-release-management-s [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="312.8" textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-12)">│</text><text
class="breeze-release-management-start-rc-process-r4" x="24.4" y="312.8"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-12)">-</text><text
class="breeze-release-management-start-rc-process-r4" x="36.6" y="312.8"
textLength="61" clip-path="url(#breeze-release-management-sta [...]
+</text><text class="breeze-release-management-start-rc-process-r5" x="0"
y="337.2" textLength="1464"
clip-path="url(#breeze-release-management-start-rc-process-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-start-rc-process-r2" x="1464" y="337.2"
textLength="12.2"
clip-path="url(#breeze-release-management-start-rc-process-line-13)">
+</text>
+ </g>
+ </g>
+</svg>
diff --git a/images/breeze/output_release-management_start-release.svg
b/images/breeze/output_release-management_start-release.svg
new file mode 100644
index 0000000000..da50f43b4c
--- /dev/null
+++ b/images/breeze/output_release-management_start-release.svg
@@ -0,0 +1,114 @@
+<svg class="rich-terminal" viewBox="0 0 1482 367.2"
xmlns="http://www.w3.org/2000/svg">
+ <!-- Generated with Rich https://www.textualize.io -->
+ <style>
+
+ @font-face {
+ font-family: "Fira Code";
+ src: local("FiraCode-Regular"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2")
format("woff2"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff")
format("woff");
+ font-style: normal;
+ font-weight: 400;
+ }
+ @font-face {
+ font-family: "Fira Code";
+ src: local("FiraCode-Bold"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2")
format("woff2"),
+
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff")
format("woff");
+ font-style: bold;
+ font-weight: 700;
+ }
+
+ .breeze-release-management-start-release-matrix {
+ font-family: Fira Code, monospace;
+ font-size: 20px;
+ line-height: 24.4px;
+ font-variant-east-asian: full-width;
+ }
+
+ .breeze-release-management-start-release-title {
+ font-size: 18px;
+ font-weight: bold;
+ font-family: arial;
+ }
+
+ .breeze-release-management-start-release-r1 { fill: #c5c8c6;font-weight:
bold }
+.breeze-release-management-start-release-r2 { fill: #c5c8c6 }
+.breeze-release-management-start-release-r3 { fill: #d0b344;font-weight: bold }
+.breeze-release-management-start-release-r4 { fill: #68a0b3;font-weight: bold }
+.breeze-release-management-start-release-r5 { fill: #868887 }
+.breeze-release-management-start-release-r6 { fill: #cc555a }
+.breeze-release-management-start-release-r7 { fill: #8d7b39 }
+.breeze-release-management-start-release-r8 { fill: #8a4346 }
+.breeze-release-management-start-release-r9 { fill: #98a84b;font-weight: bold }
+ </style>
+
+ <defs>
+ <clipPath id="breeze-release-management-start-release-clip-terminal">
+ <rect x="0" y="0" width="1463.0" height="316.2" />
+ </clipPath>
+ <clipPath id="breeze-release-management-start-release-line-0">
+ <rect x="0" y="1.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-1">
+ <rect x="0" y="25.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-2">
+ <rect x="0" y="50.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-3">
+ <rect x="0" y="74.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-4">
+ <rect x="0" y="99.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-5">
+ <rect x="0" y="123.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-6">
+ <rect x="0" y="147.9" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-7">
+ <rect x="0" y="172.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-8">
+ <rect x="0" y="196.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-9">
+ <rect x="0" y="221.1" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-10">
+ <rect x="0" y="245.5" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-start-release-line-11">
+ <rect x="0" y="269.9" 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="365.2" rx="8"/><text
class="breeze-release-management-start-release-title" fill="#c5c8c6"
text-anchor="middle" x="740"
y="27">Command: release-management start-release</text>
+ <g transform="translate(26,22)">
+ <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
+ <circle cx="22" cy="0" r="7" fill="#febc2e"/>
+ <circle cx="44" cy="0" r="7" fill="#28c840"/>
+ </g>
+
+ <g transform="translate(9, 41)"
clip-path="url(#breeze-release-management-start-release-clip-terminal)">
+
+ <g class="breeze-release-management-start-release-matrix">
+ <text class="breeze-release-management-start-release-r2" x="1464" y="20"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-0)">
+</text><text class="breeze-release-management-start-release-r3" x="12.2"
y="44.4" textLength="85.4"
clip-path="url(#breeze-release-management-start-release-line-1)">Usage: </text><text
class="breeze-release-management-start-release-r1" x="97.6" y="44.4"
textLength="500.2"
clip-path="url(#breeze-release-management-start-release-line-1)">breeze release-management start-release [</text><text
class="breeze-release-management-start-release-r4" x="597.8" y="44.4"
textLength [...]
+</text><text class="breeze-release-management-start-release-r2" x="1464"
y="68.8" textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-2)">
+</text><text class="breeze-release-management-start-release-r2" x="12.2"
y="93.2" textLength="1305.4"
clip-path="url(#breeze-release-management-start-release-line-3)">Start the process of releasing an Airflow version. This command will guide you through the release process.</text><text
class="breeze-release-management-start-release-r2" x="1464" y="93.2"
textLength="12.2" clip-path="url(#breeze-release-managem [...]
+</text><text class="breeze-release-management-start-release-r2" x="1464"
y="117.6" textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-4)">
+</text><text class="breeze-release-management-start-release-r5" x="0" y="142"
textLength="24.4"
clip-path="url(#breeze-release-management-start-release-line-5)">╭─</text><text
class="breeze-release-management-start-release-r5" x="24.4" y="142"
textLength="256.2"
clip-path="url(#breeze-release-management-start-release-line-5)"> Start release flags </text><text
class="breeze-release-management-start-release-r5" x="280.6" y="142"
textLength="1159" clip-path="url(#breeze- [...]
+</text><text class="breeze-release-management-start-release-r5" x="0"
y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-6)">│</text><text
class="breeze-release-management-start-release-r6" x="24.4" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-6)">*</text><text
class="breeze-release-management-start-release-r4" x="61" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-6 [...]
+</text><text class="breeze-release-management-start-release-r5" x="0"
y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-7)">│</text><text
class="breeze-release-management-start-release-r6" x="24.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-7)">*</text><text
class="breeze-release-management-start-release-r4" x="61" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-7 [...]
+</text><text class="breeze-release-management-start-release-r5" x="0"
y="215.2" textLength="1464"
clip-path="url(#breeze-release-management-start-release-line-8)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-start-release-r2" x="1464" y="215.2"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-8)">
+</text><text class="breeze-release-management-start-release-r5" x="0"
y="239.6" textLength="24.4"
clip-path="url(#breeze-release-management-start-release-line-9)">╭─</text><text
class="breeze-release-management-start-release-r5" x="24.4" y="239.6"
textLength="195.2"
clip-path="url(#breeze-release-management-start-release-line-9)"> Common options </text><text
class="breeze-release-management-start-release-r5" x="219.6" y="239.6"
textLength="1220" clip-path="url(#breeze-rele [...]
+</text><text class="breeze-release-management-start-release-r5" x="0" y="264"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-10)">│</text><text
class="breeze-release-management-start-release-r4" x="24.4" y="264"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-10)">-</text><text
class="breeze-release-management-start-release-r4" x="36.6" y="264"
textLength="85.4"
clip-path="url(#breeze-release-management-start-release-line-10) [...]
+</text><text class="breeze-release-management-start-release-r5" x="0"
y="288.4" textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-11)">│</text><text
class="breeze-release-management-start-release-r4" x="24.4" y="288.4"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-11)">-</text><text
class="breeze-release-management-start-release-r4" x="36.6" y="288.4"
textLength="61" clip-path="url(#breeze-release-management-start-release-line
[...]
+</text><text class="breeze-release-management-start-release-r5" x="0"
y="312.8" textLength="1464"
clip-path="url(#breeze-release-management-start-release-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-start-release-r2" x="1464" y="312.8"
textLength="12.2"
clip-path="url(#breeze-release-management-start-release-line-12)">
+</text>
+ </g>
+ </g>
+</svg>