Breeze: shim fallback outside worktrees + publish-docs workflow ref#68192
Conversation
- shim falls back to its install-dir dev/breeze when run outside a worktree (e.g. the asf-dist SVN tree during a provider release) - publish-docs --workflow-branch now defaults to --ref so the dispatched workflow version matches the tag being built
jscheffl
left a comment
There was a problem hiding this comment.
Okay'ish... but:
In provider release we set export AIRFLOW_REPO_ROOT=$(pwd -P) - why not interpreting $AIRFLOW_REPO_ROOT as fallback before inspecting other folders? Then it would be "stable" for all release processes.
Good idea - I think the installation fallback should be third but AIRFLOW_REPO_ROOT would be the first if set. |
Backport failed to create: v3-2-test. View the failure log Run detailsNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
You can attempt to backport this manually by running: cherry_picker 285978e v3-2-testThis should apply the commit to the v3-2-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continueIf you don't have cherry-picker installed, see the installation guide. |
Release-tooling fixes surfaced while cutting the 2026-06-02 providers release.
1. Breeze shim resolution: worktree →
$AIRFLOW_REPO_ROOT→ install-dir fallback (scripts/tools/setup_breeze, ADR 0017,dev/breeze/README.md).The shim required
git rev-parseto resolve a worktree, sobreezefailed when invoked outside anyAirflow checkout — e.g. from the
asf-distSVN tree duringrelease-management clean-old-provider-artifacts --directory <asf-dist>. It now resolves the Airflowsources in order: the current git worktree, then
$AIRFLOW_REPO_ROOT(which the release docs export tothe repo root, so resolution is stable across every release process), then the
dev/breezeit wasinstalled from (baked in at install time). Per-worktree isolation is unchanged — the fallbacks only
apply when the current directory is not an Airflow worktree, so they never override a real worktree.
2.
publish-docsruns the workflow from the ref being built (workflow_commands.py).breeze workflow-run publish-docsdispatchedpublish-docs-to-s3.ymlfrommain, so building anolder release tag ran main's (newer) workflow against it and failed when the workflow had since
gained a required input/job.
--workflow-branchnow defaults to--ref, so the workflow versionmatches the content being built; pass it explicitly to override.
3. Breeze warns when the installed shim/launcher is stale (
scripts/tools/setup_breeze,path_utils.py).The shim now carries a
# breeze-shim-version: Nmarker thatsetup_breezebumps when the shim bodychanges. On startup breeze compares the installed shim's version against what the current sources would
install and warns you to re-run
scripts/tools/setup_breezeif it's older (or predates versioning). Thesame check also detects a leftover legacy
uv tool/pipxglobal install and points you at migratingto the shim.
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.8) following the guidelines