This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-4-test by this push:
     new 3de871a0615 [v3-4-test] Fix providers release guide steps that use 
wrong dates or labels (#76625) (#76630)
3de871a0615 is described below

commit 3de871a061562759459ba0c694878c6d908303ff
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Nov 7 00:59:56 2026 +0100

    [v3-4-test] Fix providers release guide steps that use wrong dates or 
labels (#76625) (#76630)
    
    Following the guide as written caused avoidable trouble in the last
    providers wave. The release PR's first CI run never saw its labels,
    the build step stamps the wave with the day it runs rather than the
    wave's date, verifiers can check out a stale wave tag after a re-cut,
    and the vote email template has a typo. The prepare-providers skill
    also claimed that adding a label re-runs CI, which it does not.
    (cherry picked from commit a2d88223bc864cff250e573cd71473284ea3a116)
    
    Co-authored-by: Niko Oliveira <[email protected]>
---
 .../prepare-providers-documentation/SKILL.md       |  5 ++--
 dev/README_RELEASE_PROVIDERS.md                    | 28 +++++++++++++++++-----
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/.agents/skills/prepare-providers-documentation/SKILL.md 
b/.agents/skills/prepare-providers-documentation/SKILL.md
index ecdb78a8db7..983b2b50f33 100644
--- a/.agents/skills/prepare-providers-documentation/SKILL.md
+++ b/.agents/skills/prepare-providers-documentation/SKILL.md
@@ -714,8 +714,9 @@ only be performed by Release Managers!"*. That guard exists 
to stop
 release wave the bumps are legitimate. The release PR **must carry the
 `allow provider dependency bump` label** to bypass it — every prior "Prepare
 providers release …" PR carries this label. Tell the release manager to add
-the label to the PR (it re-triggers the check via the `labeled` event); the
-bumps are not a mistake to revert.
+the label to the PR; the bumps are not a mistake to revert. Adding a label
+does not re-run CI (the workflow has no `labeled` trigger), so if CI already
+ran without it, close and reopen the PR to start a run that sees the label.
 
 ### Phase 5 — Validate
 
diff --git a/dev/README_RELEASE_PROVIDERS.md b/dev/README_RELEASE_PROVIDERS.md
index af262adda32..cf76dc9201e 100644
--- a/dev/README_RELEASE_PROVIDERS.md
+++ b/dev/README_RELEASE_PROVIDERS.md
@@ -387,6 +387,10 @@ later, when you rebase the PR with the latest main before 
merging it.
 export RELEASE_DATE=$(date "+%Y-%m-%d")
 ```
 
+Once the release-prep PR is merged, this date names the wave: the 
`providers/${RELEASE_DATE}` tag,
+the SVN folder, the source tarball and the vote email all use it. Every later 
step must use the same
+value, even when you run it on a later day.
+
 The RELEASE_DATE can also optionally have `_01`, `_02` suffixes appended to it 
to indicate that the release
 is the first, second or third release candidate for the provider that day. 
It's unlikely to happen that
 we have several release candidates for the same provider in a single day, but 
this makes it possible to
@@ -538,7 +542,13 @@ In the 2026-10-14 wave, `openai` imported 
`get_async_extra_dejson` but still pin
 Make sure to set labels: `allow provider dependency bump` and `skip common 
compat check` to the PR,
 so that the PR is not blocked by selective checks.
 
-You can do it for example this way:
+CI reads the labels from the event that started the run, and adding a label 
does not start a new
+run. `gh pr create --label` adds the labels a moment after the PR is opened, 
so the first run sees
+none of them (`PR_LABELS: []` in the job log) and selective checks fail, for 
example with
+`common_compat_changed_without_next_version`. Re-running the failed jobs 
replays the same event and
+fails the same way. Open the PR as a draft and mark it ready once the labels 
are set. The
+`ready_for_review` event starts a run that sees them. `gh` does not accept 
`--draft` together
+with `--web`, so pick "Create draft pull request" in the browser:
 
 ```shell script
 gh pr create \
@@ -547,8 +557,12 @@ gh pr create \
   --label "skip common compat check" \
   --body "Prepare providers release ${RELEASE_DATE}" \
   --web
+# After creating the draft in the browser and checking that both labels are 
set:
+gh pr ready
 ```
 
+If CI already ran without the labels, close and reopen the PR to start a run 
that sees them.
+
 ## Apply incremental changes and merge the PR
 
 When those changes are generated, you should commit the changes, create a PR 
and get it reviewed.
@@ -739,7 +753,8 @@ key you want to use.
 * Cleanup dist folder:
 
 ```shell script
-export RELEASE_DATE=$(date "+%Y-%m-%d%n")
+# The wave's release preparation date from the release-prep PR, not today's 
date.
+export RELEASE_DATE=<YYYY-MM-DD>
 export AIRFLOW_REPO_ROOT=$(pwd -P)
 # The merge commit of the release-prep PR. Tag and build exactly this commit, 
never "whatever HEAD is".
 export WAVE_SHA=<sha>
@@ -1288,7 +1303,7 @@ 
https://dist.apache.org/repos/dist/dev/airflow/providers/${RELEASE_DATE}
 The test procedure for PMC members is described in
 
https://github.com/apache/airflow/blob/main/dev/README_RELEASE_PROVIDERS.md#verify-the-release-candidate-by-pmc-members
 
-The test procedure for and Contributors who would like to test this RC is 
described in:
+The test procedure for Contributors who would like to test this RC is 
described in:
 
https://github.com/apache/airflow/blob/main/dev/README_RELEASE_PROVIDERS.md#verify-the-release-candidate-by-contributors
 
 
@@ -1341,7 +1356,7 @@ Note, For RC2/3 you may refer to shorten vote period as 
agreed in mailing list [
 Set expected release tag (the same as announced in the vote email):
 
 ```shell script
-export RELEASE_DATE=2025-11-03
+export RELEASE_DATE=<YYYY-MM-DD>
 ````
 
 Go to the directory where you have airflow checked out and set 
AIRFLOW_REPO_ROOT variable
@@ -1432,7 +1447,8 @@ cd "$AIRFLOW_REPO_ROOT"
 2) Check out the ``providers/YYYY-MM-DD`` tag:
 
 ```shell
-git fetch upstream --tags
+# --force also updates local tags that were moved upstream, such as a re-cut 
wave tag
+git fetch upstream --tags --force
 git checkout providers/${RELEASE_DATE}
 ```
 
@@ -1787,7 +1803,7 @@ that the Airflow works as you expected.
 # Publish release
 
 ```shell script
-export RELEASE_DATE=2025-11-14
+export RELEASE_DATE=<YYYY-MM-DD>
 export RELEASE_MANAGER_NAME="RELEASE_MANAGER_NAME"
 echo "prepare release date is ${RELEASE_DATE}"
 ```

Reply via email to