Skip to content

Skip already-released providers in update-providers-next-version - #74098

Merged
shahar1 merged 1 commit into
apache:mainfrom
shahar1:fix-next-version-pins-skip-released
Oct 2, 2026
Merged

shahar1 merged 1 commit into
apache:mainfrom
shahar1:fix-next-version-pins-skip-released

Conversation

@shahar1

@shahar1 shahar1 commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

When releasing ad-hoc, using breeze release-management update-providers-next-version rewrites every # use next version to the referenced provider's current 'provider.yaml', without considering whether this version is actually being released as part of the ad-hoc. This PR should fix it by checking if its current version is already released, so "next version" refers to a future release.

AI Summary

breeze release-management update-providers-next-version rewrote every # use next version pin to the referenced provider's current provider.yaml version and dropped the marker, without checking that this version is the one being released. That is correct in a regular wave, where the referenced provider is bumped in the same PR. In an ad-hoc release that does not include the referenced provider, its current version is already released, so "next version" means a future release. Resolving the pin then produced a floor that admits a release lacking the required code, and losing the marker meant later waves never corrected it.

Observed during the 2026-10-02 ad-hoc release (cncf.kubernetes, edge3, duckdb): common.compat 1.20.0 was tagged 2026-09-24, and the # use next version pins added on 2026-10-01 by #73967 (anthropic) and #73991 (common.ai) were rewritten to >=1.20.0.

The command now leaves a pin untouched when the referenced provider's current version has a final release tag. Release candidate tags alone are ambiguous (the version is either in vote or being re-cut in this very release), so the pin is still resolved in that case, with a warning telling the release manager to revert it if the provider is not part of the release. Pins to a version with no tag resolve exactly as before.

Checks run: pytest dev/breeze/tests/test_packages.py -k next_version (3 passed: no tag, final tag, rc tags only), prek run --files on the four changed files (clean), and the command itself from this branch, which now skips all four pending pins and changes no pyproject.toml.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Fable 5.1)

Generated-by: Claude Code (Fable 5.1) following the guidelines

The command resolved every "# use next version" pin to the referenced
provider's current version and dropped the marker, without checking
whether that version is the one being released. That is only right while
the version is still unreleased in the same release PR. In an ad-hoc
release that does not include the referenced provider, the pin ended up
at a floor that lacks the required code, and the marker was lost so later
waves never corrected it.

A final release tag now leaves the pin untouched. Release candidate tags
alone are ambiguous (in vote, or re-cut in this release), so the pin is
still resolved there, with a warning for the release manager.
@shahar1
shahar1 merged commit 66d751b into apache:main Oct 2, 2026
305 of 306 checks passed
@shahar1
shahar1 deleted the fix-next-version-pins-skip-released branch October 2, 2026 19:31
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-3-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
✅ v3-3-test PR Link

github-actions Bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Oct 2, 2026
…version (apache#74098)

The command resolved every "# use next version" pin to the referenced
provider's current version and dropped the marker, without checking
whether that version is the one being released. That is only right while
the version is still unreleased in the same release PR. In an ad-hoc
release that does not include the referenced provider, the pin ended up
at a floor that lacks the required code, and the marker was lost so later
waves never corrected it.

A final release tag now leaves the pin untouched. Release candidate tags
alone are ambiguous (in vote, or re-cut in this release), so the pin is
still resolved there, with a warning for the release manager.
(cherry picked from commit 66d751b)

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request Oct 2, 2026
…version (apache#74098)

The command resolved every "# use next version" pin to the referenced
provider's current version and dropped the marker, without checking
whether that version is the one being released. That is only right while
the version is still unreleased in the same release PR. In an ad-hoc
release that does not include the referenced provider, the pin ended up
at a floor that lacks the required code, and the marker was lost so later
waves never corrected it.

A final release tag now leaves the pin untouched. Release candidate tags
alone are ambiguous (in vote, or re-cut in this release), so the pin is
still resolved there, with a warning for the release manager.
(cherry picked from commit 66d751b)

Co-authored-by: Shahar Epstein <60007259+shahar1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants