This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v3-2-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-2-test by this push:
new d0463dd47e6 [v3-2-test] Fix prepare-providers-documentation skill tag
detection (hyphenated dotted-id tags, sentinel/rc exclusion) (#67921) (#67925)
d0463dd47e6 is described below
commit d0463dd47e69ff575cdc0ed0f903196e810acce0
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jun 4 00:14:56 2026 +0200
[v3-2-test] Fix prepare-providers-documentation skill tag detection
(hyphenated dotted-id tags, sentinel/rc exclusion) (#67921) (#67925)
(cherry picked from commit 75d137c660e4af3c86375e0ff672753126048a00)
Co-authored-by: Jarek Potiuk <[email protected]>
---
.../prepare-providers-documentation/SKILL.md | 31 +++++++++++++++++++---
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/.github/skills/prepare-providers-documentation/SKILL.md
b/.github/skills/prepare-providers-documentation/SKILL.md
index 158c4700f43..a02798ac499 100644
--- a/.github/skills/prepare-providers-documentation/SKILL.md
+++ b/.github/skills/prepare-providers-documentation/SKILL.md
@@ -158,13 +158,32 @@ breeze would have shown. From the repo root:
```bash
PROVIDER_ID=<dotted.id> # e.g. amazon, cncf.kubernetes
-PROVIDER_PATH=$(echo "$PROVIDER_ID" | tr '.' '/')
-LAST_TAG=$(git tag --list "providers-${PROVIDER_PATH}/*" --sort=-v:refname |
head -n1)
+PROVIDER_PATH=$(echo "$PROVIDER_ID" | tr '.' '/') # folder path:
cncf/kubernetes
+PROVIDER_TAG=$(echo "$PROVIDER_ID" | tr '.' '-') # tag segment:
cncf-kubernetes
+# Pick the latest *final* release tag. Two gotchas the tag pattern must handle:
+# * dotted provider ids use HYPHENS in tag names
(providers-cncf-kubernetes/<ver>),
+# even though the source folder uses slashes — build the tag prefix from
+# PROVIDER_TAG, not PROVIDER_PATH;
+# * skip the sentinel upper-bound tags (providers-<id>/99.98.0, /99.99.0) and
rc
+# tags — git's default version sort orders "1.2.0rc1" AFTER "1.2.0", so a
bare
+# `head -n1` would otherwise select a sentinel or a release candidate.
+LAST_TAG=$(git tag --list "providers-${PROVIDER_TAG}/*" --sort=-v:refname \
+ | grep -vE '/99\.9[0-9]\.' | grep -vE 'rc[0-9]+$' | head -n1)
git log --pretty=format:'%H %h %cd %s' --date=short \
"${LAST_TAG}..apache-https-for-providers/main" \
-- "providers/${PROVIDER_PATH}/"
```
+> [!WARNING]
+> This git query is a convenience for building the per-provider commit list,
but
+> the **authoritative set is what breeze prints in the Phase 1 "Commit"
tables**
+> for each provider. The tag-based range can still diverge from breeze when a
+> provider's most recent *final* tag is not the last actually-published release
+> (for example, a wave commit bumped the version on `main` but the published
+> baseline is older), which makes breeze include repo-wide commits this query
+> misses. When the two disagree, trust breeze's list and reconcile against it
+> before classifying.
+
Capture the full hash, short hash, date, subject, and `#NNNN` PR number for
each commit. Note that some old providers also have legacy paths under
`airflow/providers/<id>/` — include those when present (consult
@@ -484,8 +503,12 @@ list the same way as Phase 2 of the initial run:
```bash
PROVIDER_ID=<dotted.id>
-PROVIDER_PATH=$(echo "$PROVIDER_ID" | tr '.' '/')
-LAST_TAG=$(git tag --list "providers-${PROVIDER_PATH}/*" --sort=-v:refname |
head -n1)
+PROVIDER_PATH=$(echo "$PROVIDER_ID" | tr '.' '/') # folder path (slashes)
+PROVIDER_TAG=$(echo "$PROVIDER_ID" | tr '.' '-') # tag segment (hyphens)
+# Same tag-selection rules as Phase 2: hyphenated tag segment, and skip
sentinel
+# (99.98.0/99.99.0) and rc tags so we compare against the last *final* release.
+LAST_TAG=$(git tag --list "providers-${PROVIDER_TAG}/*" --sort=-v:refname \
+ | grep -vE '/99\.9[0-9]\.' | grep -vE 'rc[0-9]+$' | head -n1)
git log --pretty=format:'%H %h %cd %s' --date=short \
"${LAST_TAG}..apache-https-for-providers/main" \
-- "providers/${PROVIDER_PATH}/"