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 64875d3eb95 Fix helm release process (#64040)
64875d3eb95 is described below

commit 64875d3eb95ef643295cd60381f88f68a05768c2
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Mar 21 20:47:00 2026 +0100

    Fix helm release process (#64040)
    
    * Fix helm release process
    
    * Fix CI helm checks, remove version number param
    
    * Remove rc preparation test as not existing anymore
    
    ---------
    
    Co-authored-by: Jens Scheffler <[email protected]>
---
 .github/workflows/helm-tests.yml                   |   6 +-
 chart/Chart.yaml                                   |   2 +-
 dev/README_RELEASE_HELM_CHART.md                   |  47 +++---
 ...lease-management_prepare-helm-chart-package.svg |  28 ++--
 ...lease-management_prepare-helm-chart-package.txt |   2 +-
 .../commands/release_management_commands.py        | 167 ++++++++-------------
 .../commands/release_management_commands_config.py |   1 -
 7 files changed, 98 insertions(+), 155 deletions(-)

diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml
index 33eac7c0ed5..5af7e3dab4d 100644
--- a/.github/workflows/helm-tests.yml
+++ b/.github/workflows/helm-tests.yml
@@ -127,17 +127,13 @@ jobs:
       - name: "Helm release tarball"
         run: >
           breeze release-management prepare-helm-chart-tarball 
--ignore-version-check --override-tag
-          --skip-tag-signing --version 0.0.0 --version-suffix dev0
+          --skip-tag-signing --version-suffix dev0
       - name: Generate GPG key for signing
         # Sometimes the key will be already added to the keyring, so we ignore 
the error
         run: gpg --batch --passphrase '' --quick-gen-key 
[email protected] default default || true
       - 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/chart/Chart.yaml b/chart/Chart.yaml
index 441e4d75d0c..030b51a9add 100644
--- a/chart/Chart.yaml
+++ b/chart/Chart.yaml
@@ -19,7 +19,7 @@
 ---
 apiVersion: v2
 name: airflow
-version: 1.20.0-dev
+version: 1.20.0
 appVersion: 3.1.8
 description: The official Helm chart to deploy Apache Airflow, a platform to
   programmatically author, schedule, and monitor workflows
diff --git a/dev/README_RELEASE_HELM_CHART.md b/dev/README_RELEASE_HELM_CHART.md
index 544bdd82df3..c68feb58843 100644
--- a/dev/README_RELEASE_HELM_CHART.md
+++ b/dev/README_RELEASE_HELM_CHART.md
@@ -37,7 +37,7 @@
   - [Licence check](#licence-check)
   - [Signature check](#signature-check)
   - [SHA512 sum check](#sha512-sum-check)
-- [Verify release candidates by 
Contributors](#verify-release-candidates-by-contributors)
+- [Verify the release candidates by 
Contributors](#verify-the-release-candidates-by-contributors)
 - [Publish the final release](#publish-the-final-release)
   - [Summarize the voting for the 
release](#summarize-the-voting-for-the-release)
   - [Publish release to SVN](#publish-release-to-svn)
@@ -223,7 +223,7 @@ rm -rf dist/*
 - Generate the source tarball:
 
 ```shell
-breeze release-management prepare-helm-chart-tarball --version ${VERSION} 
--version-suffix ${VERSION_SUFFIX}
+breeze release-management prepare-helm-chart-tarball --version ${VERSION}
 ```
 
 Note: The version suffix is only used for the RC tag and tag message. The 
version in the tarball is without the suffix, so the tarball can be released 
as-is when the vote passes.
@@ -313,31 +313,17 @@ you need to run several workflows to publish the 
documentation. More details abo
 [Docs README](../docs/README.md) showing the architecture and workflows 
including manual workflows for
 emergency cases.
 
-There are two steps to publish the documentation:
 
-1. Publish the documentation to the `staging` S3 bucket.
-
-The release manager publishes the documentation using GitHub Actions workflow
-[Publish Docs to 
S3](https://github.com/apache/airflow/actions/workflows/publish-docs-to-s3.yml).
-
-You can specify the RC tag to use to build the docs and 'helm-chart' passed as 
packages to be built.
-
-The release manager publishes the documentation using GitHub Actions workflow
-[Publish Docs to 
S3](https://github.com/apache/airflow/actions/workflows/publish-docs-to-s3.yml).
 By
-default `auto` selection should publish to the `staging` bucket - based on
-the tag you use - pre-release tags go to staging. But you can also override it 
and specify the destination
-manually to be `live` or `staging`.
-
-After that step, the provider documentation should be available under the 
https://airflow.staged.apache.org
-(same as in the helm chart documentation).
-
-2. Invalidate Fastly cache for the documentation.
+You should use the `breeze` command to publish the documentation.
+The command does the following:
 
-In order to do it, you need to run the [Build 
docs](https://github.com/apache/airflow-site/actions/workflows/build.yml)
-workflow in `airflow-site` repository. Make sure to use `staging` branch.
+1. Triggers [Publish Docs to 
S3](https://github.com/apache/airflow/actions/workflows/publish-docs-to-s3.yml).
+2. Triggers workflow in apache/airflow-site to refresh
+3. Triggers S3 to GitHub Sync
 
-After that workflow completes, the new version should be available in the 
drop-down list and stable links
-should be updated and Fastly cache should be invalidated.
+```shell script
+breeze workflow-run publish-docs --ref helm-chart/${VERSION}${VERSION_SUFFIX} 
--site-env staging helm-chart
+```
 
 ## Prepare issue for testing status of rc
 
@@ -406,6 +392,8 @@ gpg:                using RSA key 
E1A1E984F55B8F280BD9CBA20BB7163892A2E48E
 gpg: Good signature from "Jed Cunningham <[email protected]>" [ultimate]
 plugin: Chart SHA verified. 
sha256:b33eac716e0416a18af89fb4fa1043fcfcf24f9f903cda3912729815213525df
 
+The documentation is available at 
https://airflow.staged.apache.org/helm-chart/${VERSION}/.
+
 The vote will be open for at least 72 hours ($VOTE_END_TIME UTC) or until the 
necessary number of votes is reached.
 
 https://www.timeanddate.com/countdown/$TIME_DATE_URL
@@ -419,6 +407,12 @@ Please vote accordingly:
 Only votes from PMC members are binding, but members of the community are
 encouraged to test the release and vote with "(non-binding)".
 
+The test procedure for PMC members is described in:
+https://github.com/apache/airflow/blob/main/dev/README_RELEASE_HELM_CHART.md#verify-the-release-candidate-by-pmc-members
+
+The test procedure for contributors and members of the community who would 
like to test this RC is described in:
+https://github.com/apache/airflow/blob/main/dev/README_RELEASE_HELM_CHART.md#verify-the-release-candidates-by-contributors
+
 Consider this my (binding) +1.
 
 For license checks, the .rat-excludes files is included, so you can run the 
following to verify licenses (just update your path to rat):
@@ -432,6 +426,7 @@ simply ${VERSION}. This will allow us to rename the 
artifact without modifying
 the artifact checksums when we actually release it.
 
 The status of testing the Helm Chart by the community is kept here:
+
 <TODO COPY LINK TO THE ISSUE CREATED>
 
 Thanks,
@@ -697,7 +692,7 @@ Checking airflow-1.0.0.tgz.sha512
 Checking airflow-chart-1.0.0-source.tar.gz.sha512
 ```
 
-# Verify release candidates by Contributors
+# Verify the release candidates by Contributors
 
 Contributors can run below commands to test the Helm Chart
 
@@ -986,7 +981,7 @@ EOF
 ## Bump chart version in Chart.yaml
 
 Bump the chart version to the next version in `chart/Chart.yaml` in main.
-
+Do not add `-dev` suffix to the version.
 
 ## Remove old releases
 
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 902f073af9c..40f0f7ba865 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 416.0" 
xmlns="http://www.w3.org/2000/svg";>
+<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>
 
@@ -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="365.0" />
+      <rect x="0" y="0" width="1463.0" height="316.2" />
     </clipPath>
     <clipPath id="breeze-release-management-prepare-helm-chart-package-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -81,15 +81,9 @@
 <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>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="414" rx="8"/><text 
class="breeze-release-management-prepare-helm-chart-package-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;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="365.2" rx="8"/><text 
class="breeze-release-management-prepare-helm-chart-package-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;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"/>
@@ -105,15 +99,13 @@
 </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&#160;helm&#160;chart&#160;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)">&#160;Package&#160;flags&#160;</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="195.2" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-6)">--sign-email&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-prepare-helm-chart-package- [...]
-</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="244" 
y="190.8 [...]
-</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="244" 
y="215.2" textLength="341.6" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-8)">replaced&#160;with&#160;staging&#160;URLs.&#160;</text><text
 class="breeze-release-management-prepare-helm-cha [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5" 
x="0" y="239.6" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-9)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-helm-chart-package-r1" x="1464" 
y="239.6" 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="264" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-10)">╭─</text><text
 class="breeze-release-management-prepare-helm-chart-package-r5" x="24.4" 
y="264" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-10)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-prepare-helm-chart-package-r5" x= [...]
-</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="109.8" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-11)">--dry-run</text><text
 class="breeze-release-management-prepare-helm-chart-package-r7" x="158.6" 
y="288.4" t [...]
-</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)">--verbose</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)">--help&#160;&#160;&#160;</text><text
 class="breeze-release-management-prepare-helm-chart-package-r7" x="158 [...]
-</text><text class="breeze-release-management-prepare-helm-chart-package-r5" 
x="0" y="361.6" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-helm-chart-package-r1" x="1464" 
y="361.6" 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="195.2" 
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)">&#160;Common&#160;options&#160;</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="109.8" 
clip-path="url(#breeze-release-management-prepare-helm-chart-package-line-11)">--help&#160;&#160;&#160;</text><text
 class="breeze-release-management-prepare-helm-chart-package-r7" x="158 [...]
+</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>
     </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 49615630692..675e69663de 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 @@
-d9b69ae7ff5d8bea95a845f44acab92c
+535e58ad4fd6139c86bd3b89fcec1964
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 89d6437f635..8b86de4c394 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -3826,26 +3826,21 @@ 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"]
+    from packaging.version import Version
 
-    # 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:
+    if Version(version_in_chart).is_prerelease:
         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/";
+            f"[error]Version in Chart.yaml ({version_in_chart}) is a 
pre-release version. "
+            f"It should be final. Please remove the pre-release suffix commit 
and merge.[/]"
         )
-        console_print("[success]Documentation links updated to staging 
environment for RC version.[/]")
+        sys.exit(1)
     if ignore_version_check:
         if not version:
             version = version_in_chart
     else:
-        if not version or not version_suffix:
+        if not version:
             console_print(
-                "[error]You need to provide --version and --version-suffix 
parameter unless you "
-                "use --ignore-version-check[/]"
+                "[error]You need to provide --version parameter unless you use 
--ignore-version-check[/]"
             )
             sys.exit(1)
     console_print(f"[info]Airflow version in values.yaml: 
{airflow_version_in_values}[/]")
@@ -3860,13 +3855,10 @@ def prepare_helm_chart_tarball(
     updating = False
     if version_in_chart != version:
         console_print(
-            f"[warning]Version in chart.yaml ({version_in_chart}) does not 
match the version "
-            f"passed as parameter ({version}). Updating[/]"
-        )
-        updating = True
-        chart_yaml_file_content = chart_yaml_file_content.replace(
-            f"version: {version_in_chart}", f"version: {version}"
+            f"[error]Version in chart.yaml ({version_in_chart}) does not match 
the version "
+            f"passed as parameter ({version}). Quitting[/]"
         )
+        sys.exit(1)
     else:
         console_print(f"[success]Version in chart.yaml is good: {version}[/]")
     if airflow_version_in_values != airflow_version_in_chart:
@@ -3967,15 +3959,9 @@ 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, version_suffix: str):
+def prepare_helm_chart_package(sign_email: str):
     import yaml
 
     from airflow_breeze.utils.kubernetes_utils import (
@@ -3984,96 +3970,71 @@ def prepare_helm_chart_package(sign_email: str, 
version_suffix: str):
         sync_virtualenv,
     )
 
-    # 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:
-        console_print(
-            f"[info]RC version detected ({version_suffix}). Temporarily 
replacing documentation links with staging URLs for packaging.[/]"
-        )
-        # 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)
+    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()
+    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:
+        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:
         console_print(
-            "[success]Documentation links temporarily updated to staging 
environment for RC version packaging.[/]"
+            f"[error]Error repackaging package for Helm Chart from 
{source_archive} to {final_archive}[/]"
         )
-
-    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:
-            sys.exit(result.returncode)
-        make_sure_helm_installed()
-        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)
+        sys.exit(result.returncode)
+    else:
+        console_print(f"[success]Package created in {final_archive}[/]")
+    if sign_email:
+        console_print(f"[info]Signing the package with {sign_email}[/]")
+        prov_file = final_archive.with_suffix(".tgz.prov")
+        if prov_file.exists():
+            console_print(f"[warning]Removing existing {prov_file}[/]")
+            prov_file.unlink()
         result = run_command(
-            cmd=["helm", "package", "chart", "--dependency-update", 
"--destination", OUT_PATH.as_posix()],
+            cmd=["helm", "gpg", "sign", "-u", sign_email, archive_name],
+            cwd=AIRFLOW_DIST_PATH.as_posix(),
             env=k8s_env,
             check=False,
         )
         if result.returncode != 0:
-            console_print("[error]Error packaging the chart[/]")
+            console_print("[error]Error signing 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),
+        result = run_command(
+            cmd=["helm", "gpg", "verify", archive_name],
+            cwd=AIRFLOW_DIST_PATH.as_posix(),
+            env=k8s_env,
+            check=False,
         )
         if result.returncode != 0:
-            console_print(
-                f"[error]Error repackaging package for Helm Chart from 
{source_archive} to {final_archive}[/]"
-            )
+            console_print("[error]Error signing the chart[/]")
             sys.exit(result.returncode)
         else:
-            console_print(f"[success]Package created in {final_archive}[/]")
-        if sign_email:
-            console_print(f"[info]Signing the package with {sign_email}[/]")
-            prov_file = final_archive.with_suffix(".tgz.prov")
-            if prov_file.exists():
-                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:
-                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:
-                console_print("[error]Error signing the chart[/]")
-                sys.exit(result.returncode)
-            else:
-                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)
-            console_print("[info]Restored original Chart.yaml content after 
packaging.[/]")
+            console_print(f"[success]Chart signed - the {prov_file} file 
created.[/]")
 
 
 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 87f0419f018..e6a1fbfa9bf 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,7 +136,6 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, str 
| list[str]]]] = {
             "name": "Package flags",
             "options": [
                 "--sign-email",
-                "--version-suffix",
             ],
         }
     ],

Reply via email to