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 eeeaa0c23d8 Spell out the empty version suffix for the SVN provider
build (#71247)
eeeaa0c23d8 is described below
commit eeeaa0c23d878a12d80cbf07792736f59acb5da8
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Aug 12 02:12:20 2026 +0800
Spell out the empty version suffix for the SVN provider build (#71247)
The command omitted --version-suffix entirely, which reads as 'the flag does
not matter here' rather than 'it must be empty'. Building the SVN wave with
an
rc suffix produces filenames that cannot be promoted by renaming, and the
mistake only surfaces at the end of the release when the promotion is
attempted.
---
dev/README_RELEASE_PROVIDERS.md | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/dev/README_RELEASE_PROVIDERS.md b/dev/README_RELEASE_PROVIDERS.md
index 850bf143edb..6e7be44cd4d 100644
--- a/dev/README_RELEASE_PROVIDERS.md
+++ b/dev/README_RELEASE_PROVIDERS.md
@@ -590,20 +590,29 @@ Set tags for the providers in the repo.
echo "Tagging with providers/${RELEASE_DATE}"
git tag -s providers/${RELEASE_DATE} -m "Tag providers for ${RELEASE_DATE}"
--force
git push upstream providers/${RELEASE_DATE}
-breeze release-management prepare-provider-distributions
--include-removed-providers --distribution-format both
+breeze release-management prepare-provider-distributions
--include-removed-providers --distribution-format both --version-suffix ""
breeze release-management prepare-tarball --tarball-type
apache_airflow_providers --version "${RELEASE_DATE}"
```
The `prepare-*-distributions` commands should produce the reproducible `.whl`,
`.tar.gz` packages in the dist folder.
The `prepare-tarball` command should produce reproducible `-source.tar.gz`
tarball of sources.
+> [!IMPORTANT]
+> `--version-suffix ""` is passed deliberately, and the empty value is the
point: the packages
+> committed to SVN carry the **final** version in their filename
(`...-6.0.1-py3-none-any.whl`), with
+> no `rcN`. That is what lets a passing vote promote them with a plain `svn
mv` instead of a rebuild.
+> The [PyPI upload
below](#publish-the-regular-distributions-to-pypi-release-candidates) is the
+> opposite case - it builds a *separate* set of packages from the same sources
with
+> `--version-suffix rcN`, so those filenames do carry the candidate number.
Mixing the two up
+> produces an SVN wave that cannot be promoted.
+
if you only build few packages, run:
```shell script
echo "Tagging with providers/${RELEASE_DATE}"
git tag -s providers/${RELEASE_DATE} -m "Tag providers for ${RELEASE_DATE}"
--force
git push upstream providers/${RELEASE_DATE}
-breeze release-management prepare-provider-distributions
--include-removed-providers --distribution-format both PACKAGE PACKAGE ....
+breeze release-management prepare-provider-distributions
--include-removed-providers --distribution-format both --version-suffix ""
PACKAGE PACKAGE ....
breeze release-management prepare-tarball --tarball-type
apache_airflow_providers --version "${RELEASE_DATE}"
```
@@ -1160,7 +1169,7 @@ rm -rf dist/*
4) Build the packages using checked out sources
```shell
-breeze release-management prepare-provider-distributions
--include-removed-providers --distribution-format both
+breeze release-management prepare-provider-distributions
--include-removed-providers --distribution-format both --version-suffix ""
breeze release-management prepare-tarball --tarball-type
apache_airflow_providers --version "${RELEASE_DATE}"
```