This is an automated email from the ASF dual-hosted git repository.
jscheffl 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 6018768a31c Fix Helm Chart RC Staging Documentation Links (#55677)
6018768a31c is described below
commit 6018768a31c372ee4ced99afbe4ea151c3a0a1e8
Author: Gary Hsu <[email protected]>
AuthorDate: Mon Nov 3 00:42:49 2025 +0800
Fix Helm Chart RC Staging Documentation Links (#55677)
* fix Replace Helm Chart RC docs links with staging URLs
Replace production documentation links (airflow.apache.org) with staging
links
(airflow.staged.apache.org) for Helm Chart release candidates.
- Add RC version detection (rc, alpha, beta releases)
- Modify prepare-helm-chart-tarball and prepare-helm-chart-package commands
- Implement safe backup/restore for Chart.yaml modifications
- Add --version-suffix option to helm chart package command
* Improve Helm chart RC version handling and testing
- Simplify RC version detection logic
- Add RC version test case to helm-tests.yml workflow
- Update documentation to include --version-suffix parameter usage
---
.github/workflows/helm-tests.yml | 4 +
dev/README_RELEASE_HELM_CHART.md | 7 +-
...lease-management_prepare-helm-chart-package.svg | 32 +++--
...lease-management_prepare-helm-chart-package.txt | 2 +-
.../commands/release_management_commands.py | 151 +++++++++++++--------
.../commands/release_management_commands_config.py | 1 +
6 files changed, 130 insertions(+), 67 deletions(-)
diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml
index ae78d644e6a..b908b73e73b 100644
--- a/.github/workflows/helm-tests.yml
+++ b/.github/workflows/helm-tests.yml
@@ -122,6 +122,10 @@ jobs:
- name: "Helm release package"
run: >
breeze release-management prepare-helm-chart-package --sign-email
[email protected]
+ - name: "Helm release package (RC version)"
+ run: >
+ breeze release-management prepare-helm-chart-package --sign-email
[email protected]
+ --version-suffix rc1
- name: "Sign artifacts for ASF distribution"
run: ./dev/sign.sh dist/airflow-*.tgz dist/airflow-*-source.tar.gz
env:
diff --git a/dev/README_RELEASE_HELM_CHART.md b/dev/README_RELEASE_HELM_CHART.md
index 57c0679c269..9afdc7a78ac 100644
--- a/dev/README_RELEASE_HELM_CHART.md
+++ b/dev/README_RELEASE_HELM_CHART.md
@@ -226,9 +226,12 @@ breeze release-management prepare-helm-chart-tarball
--version ${VERSION} --vers
- Generate the binary Helm Chart release:
```shell
-breeze release-management prepare-helm-chart-package --sign-email
[email protected]
+breeze release-management prepare-helm-chart-package --sign-email
[email protected] --version-suffix ${VERSION_SUFFIX}
```
+Note: The `--version-suffix` parameter is optional but recommended for RC
releases to ensure proper documentation
+links generation. When specified, it will generate staging documentation links
instead of production ones.
+
Warning: you need the `helm gpg` plugin to sign the chart (instructions to
install it above)
This should generate two files:
@@ -512,7 +515,7 @@ rm -rf dist/*
```shell
breeze release-management prepare-helm-chart-tarball --version-suffix rc1
--ignore-version-check --skip-tagging
-breeze release-management prepare-helm-chart-package
+breeze release-management prepare-helm-chart-package --version-suffix rc1
```
5. Compare the produced tarball binary with ones in SVN:
diff --git
a/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.svg
b/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.svg
index 996c438385a..f07b12057bd 100644
---
a/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.svg
+++
b/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 367.2"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 440.4"
xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -43,7 +43,7 @@
<defs>
<clipPath
id="breeze-release-management-prepare-helm-chart-package-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="316.2" />
+ <rect x="0" y="0" width="1463.0" height="389.4" />
</clipPath>
<clipPath id="breeze-release-management-prepare-helm-chart-package-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -81,9 +81,18 @@
<clipPath id="breeze-release-management-prepare-helm-chart-package-line-11">
<rect x="0" y="269.9" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="breeze-release-management-prepare-helm-chart-package-line-12">
+ <rect x="0" y="294.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-prepare-helm-chart-package-line-13">
+ <rect x="0" y="318.7" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="breeze-release-management-prepare-helm-chart-package-line-14">
+ <rect x="0" y="343.1" 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-prepare-helm-chart-package-title"
fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: release-management prepare-helm-chart-package</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="438.4" rx="8"/><text
class="breeze-release-management-prepare-helm-chart-package-title"
fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: release-management prepare-helm-chart-package</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -99,13 +108,16 @@
</text><text class="breeze-release-management-prepare-helm-chart-package-r1"
x="12.2" y="93.2" textLength="341.6"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-3)">Prepares helm chart package.</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="1464"
y="93.2" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-3)">
</text><text class="breeze-release-management-prepare-helm-chart-package-r1"
x="1464" y="117.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-4)">
</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="142" textLength="24.4"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-5)">╭─</text><text
class="breeze-release-management-prepare-helm-chart-package-r5" x="24.4"
y="142" textLength="183"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-5)"> Package flags </text><text
class="breeze-release-management-prepare-helm-chart-package-r5" x="207. [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-6)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="166.4" textLength="146.4"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-6)">--sign-email</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="219.6"
y="166.4" [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="190.8" textLength="1464"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="1464"
y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package- [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="215.2" textLength="24.4"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-8)">╭─</text><text
class="breeze-release-management-prepare-helm-chart-package-r5" x="24.4"
y="215.2" textLength="195.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-8)"> Common options </text><text
class="breeze-release-management-prepare-helm-chart-package-r5" [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-9)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-9)">--dry-run</text><text
class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6"
y="239.6" tex [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="264" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-10)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="264" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-10)">--verbose</text><text
class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6"
y="264" textLen [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-11)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="288.4" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-11)">--help</text><text
class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6"
y="288.4" textL [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="312.8" textLength="1464"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="1464"
y="312.8" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-6)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="166.4" textLength="146.4"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-6)">--sign-email</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="268.4"
y="166.4" [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-7)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="190.8" textLength="195.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-7)">--version-suffix</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="268.4"
y="190 [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-8)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="268.4"
y="215.2" textLength="1171.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-8)">replaced with staging URLs.           
[...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-9)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r6" x="268.4"
y="239.6" textLength="1171.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-9)">(TEXT)                 
[...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="264" textLength="1464"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-10)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="1464"
y="264" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-10)">
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="288.4" textLength="24.4"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-11)">╭─</text><text
class="breeze-release-management-prepare-helm-chart-package-r5" x="24.4"
y="288.4" textLength="195.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-11)"> Common options </text><text
class="breeze-release-management-prepare-helm-chart-package-r5 [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="312.8" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-12)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="312.8" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-12)">--dry-run</text><text
class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6"
y="312.8" t [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="337.2" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-13)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="337.2" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-13)">--verbose</text><text
class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6"
y="337.2" t [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-14)">│</text><text
class="breeze-release-management-prepare-helm-chart-package-r4" x="24.4"
y="361.6" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-14)">--help</text><text
class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6"
y="361.6" textL [...]
+</text><text class="breeze-release-management-prepare-helm-chart-package-r5"
x="0" y="386" textLength="1464"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-15)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-release-management-prepare-helm-chart-package-r1" x="1464"
y="386" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-15)">
</text>
</g>
</g>
diff --git
a/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.txt
b/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.txt
index 6051dbc2d79..73731275785 100644
---
a/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.txt
+++
b/dev/breeze/doc/images/output_release-management_prepare-helm-chart-package.txt
@@ -1 +1 @@
-27169c83fcbcca907a0b32a5c4faeb48
+4d19d7c6652330646ee94bf409c14787
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 f7e3e150ce5..641c7dd6992 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -3632,6 +3632,18 @@ def prepare_helm_chart_tarball(
values_content = yaml.safe_load(VALUES_YAML_FILE.read_text())
airflow_version_in_values = values_content["airflowVersion"]
default_airflow_tag_in_values = values_content["defaultAirflowTag"]
+
+ # Check if this is an RC version and replace documentation links with
staging URLs
+ is_rc_version = version_suffix and "rc" in version_suffix.lower()
+ if is_rc_version:
+ get_console().print(
+ f"[info]RC version detected ({version_suffix}). Replacing
documentation links with staging URLs.[/]"
+ )
+ # Replace production URLs with staging URLs for RC versions
+ chart_yaml_file_content = chart_yaml_file_content.replace(
+ "https://airflow.apache.org/", "https://airflow.staged.apache.org/"
+ )
+ get_console().print("[success]Documentation links updated to staging
environment for RC version.[/]")
if ignore_version_check:
if not version:
version = version_in_chart
@@ -3763,9 +3775,15 @@ def prepare_helm_chart_tarball(
envvar="SIGN_EMAIL",
default="",
)
[email protected](
+ "--version-suffix",
+ help="Version suffix used to determine if RC version. For RC versions,
documentation links will be replaced with staging URLs.",
+ default="",
+ envvar="VERSION_SUFFIX",
+)
@option_dry_run
@option_verbose
-def prepare_helm_chart_package(sign_email: str):
+def prepare_helm_chart_package(sign_email: str, version_suffix: str):
import yaml
from airflow_breeze.utils.kubernetes_utils import (
@@ -3774,71 +3792,96 @@ def prepare_helm_chart_package(sign_email: str):
sync_virtualenv,
)
- chart_yaml_dict = yaml.safe_load(CHART_YAML_FILE.read_text())
- version = chart_yaml_dict["version"]
- result = sync_virtualenv(force_venv_setup=False)
- if result.returncode != 0:
- sys.exit(result.returncode)
- make_sure_helm_installed()
- get_console().print(f"[info]Packaging the chart for Helm Chart
{version}[/]")
- k8s_env = os.environ.copy()
- k8s_env["PATH"] = str(K8S_BIN_BASE_PATH) + os.pathsep + k8s_env["PATH"]
- # Tar on modern unix options requires --wildcards parameter to work with
globs
- # See https://github.com/technosophos/helm-gpg/issues/1
- k8s_env["TAR_OPTIONS"] = "--wildcards"
- archive_name = f"airflow-{version}.tgz"
- OUT_PATH.mkdir(parents=True, exist_ok=True)
- result = run_command(
- cmd=["helm", "package", "chart", "--dependency-update",
"--destination", OUT_PATH.as_posix()],
- env=k8s_env,
- check=False,
- )
- if result.returncode != 0:
- get_console().print("[error]Error packaging the chart[/]")
- sys.exit(result.returncode)
- AIRFLOW_DIST_PATH.mkdir(parents=True, exist_ok=True)
- final_archive = AIRFLOW_DIST_PATH / archive_name
- final_archive.unlink(missing_ok=True)
- source_archive = OUT_PATH / archive_name
- result = repack_deterministically(
- source_archive=source_archive,
- dest_archive=final_archive,
- prepend_path=None,
- timestamp=get_source_date_epoch(CHART_DIR),
- )
- if result.returncode != 0:
+ # Check if this is an RC version and temporarily replace documentation
links
+ chart_yaml_backup = None
+ is_rc_version = version_suffix and "rc" in version_suffix.lower()
+
+ if is_rc_version:
get_console().print(
- f"[error]Error repackaging package for Helm Chart from
{source_archive} to {final_archive}[/]"
+ f"[info]RC version detected ({version_suffix}). Temporarily
replacing documentation links with staging URLs for packaging.[/]"
)
- sys.exit(result.returncode)
- else:
- get_console().print(f"[success]Package created in {final_archive}[/]")
- if sign_email:
- get_console().print(f"[info]Signing the package with {sign_email}[/]")
- prov_file = final_archive.with_suffix(".tgz.prov")
- if prov_file.exists():
- get_console().print(f"[warning]Removing existing {prov_file}[/]")
- prov_file.unlink()
- result = run_command(
- cmd=["helm", "gpg", "sign", "-u", sign_email, archive_name],
- cwd=AIRFLOW_DIST_PATH.as_posix(),
- env=k8s_env,
- check=False,
+ # Backup original content
+ chart_yaml_backup = CHART_YAML_FILE.read_text()
+ # Replace production URLs with staging URLs for RC versions
+ chart_yaml_content = chart_yaml_backup.replace(
+ "https://airflow.apache.org/", "https://airflow.staged.apache.org/"
+ )
+ CHART_YAML_FILE.write_text(chart_yaml_content)
+ get_console().print(
+ "[success]Documentation links temporarily updated to staging
environment for RC version packaging.[/]"
)
+
+ try:
+ chart_yaml_dict = yaml.safe_load(CHART_YAML_FILE.read_text())
+ version = chart_yaml_dict["version"]
+ result = sync_virtualenv(force_venv_setup=False)
if result.returncode != 0:
- get_console().print("[error]Error signing the chart[/]")
sys.exit(result.returncode)
+ make_sure_helm_installed()
+ get_console().print(f"[info]Packaging the chart for Helm Chart
{version}[/]")
+ k8s_env = os.environ.copy()
+ k8s_env["PATH"] = str(K8S_BIN_BASE_PATH) + os.pathsep + k8s_env["PATH"]
+ # Tar on modern unix options requires --wildcards parameter to work
with globs
+ # See https://github.com/technosophos/helm-gpg/issues/1
+ k8s_env["TAR_OPTIONS"] = "--wildcards"
+ archive_name = f"airflow-{version}.tgz"
+ OUT_PATH.mkdir(parents=True, exist_ok=True)
result = run_command(
- cmd=["helm", "gpg", "verify", archive_name],
- cwd=AIRFLOW_DIST_PATH.as_posix(),
+ cmd=["helm", "package", "chart", "--dependency-update",
"--destination", OUT_PATH.as_posix()],
env=k8s_env,
check=False,
)
if result.returncode != 0:
- get_console().print("[error]Error signing the chart[/]")
+ get_console().print("[error]Error packaging the chart[/]")
+ sys.exit(result.returncode)
+ AIRFLOW_DIST_PATH.mkdir(parents=True, exist_ok=True)
+ final_archive = AIRFLOW_DIST_PATH / archive_name
+ final_archive.unlink(missing_ok=True)
+ source_archive = OUT_PATH / archive_name
+ result = repack_deterministically(
+ source_archive=source_archive,
+ dest_archive=final_archive,
+ prepend_path=None,
+ timestamp=get_source_date_epoch(CHART_DIR),
+ )
+ if result.returncode != 0:
+ get_console().print(
+ f"[error]Error repackaging package for Helm Chart from
{source_archive} to {final_archive}[/]"
+ )
sys.exit(result.returncode)
else:
- get_console().print(f"[success]Chart signed - the {prov_file} file
created.[/]")
+ get_console().print(f"[success]Package created in
{final_archive}[/]")
+ if sign_email:
+ get_console().print(f"[info]Signing the package with
{sign_email}[/]")
+ prov_file = final_archive.with_suffix(".tgz.prov")
+ if prov_file.exists():
+ get_console().print(f"[warning]Removing existing
{prov_file}[/]")
+ prov_file.unlink()
+ result = run_command(
+ cmd=["helm", "gpg", "sign", "-u", sign_email, archive_name],
+ cwd=AIRFLOW_DIST_PATH.as_posix(),
+ env=k8s_env,
+ check=False,
+ )
+ if result.returncode != 0:
+ get_console().print("[error]Error signing the chart[/]")
+ sys.exit(result.returncode)
+ result = run_command(
+ cmd=["helm", "gpg", "verify", archive_name],
+ cwd=AIRFLOW_DIST_PATH.as_posix(),
+ env=k8s_env,
+ check=False,
+ )
+ if result.returncode != 0:
+ get_console().print("[error]Error signing the chart[/]")
+ sys.exit(result.returncode)
+ else:
+ get_console().print(f"[success]Chart signed - the {prov_file}
file created.[/]")
+ finally:
+ # Restore original Chart.yaml content if it was modified for RC version
+ if is_rc_version and chart_yaml_backup:
+ CHART_YAML_FILE.write_text(chart_yaml_backup)
+ get_console().print("[info]Restored original Chart.yaml content
after packaging.[/]")
def generate_issue_content(
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 3fecd1a4a8c..7d282ff7036 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
@@ -136,6 +136,7 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, str
| list[str]]]] = {
"name": "Package flags",
"options": [
"--sign-email",
+ "--version-suffix",
],
}
],