-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Add "update-providers-next-version" command to manage common provider… #58393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The more I think about it, the more questions/thoughts I have, but maybe they are all related to each other (I'll use common.compat as example):
|
|
Ad. 2 - I mean that I'd like to be sure that the dependency is bumped in parent provider (as it's critical for new features to work), so I'd go and bump the common.compat and then use the updated version as dependency in parent provider. Not sure if I'd trust that this comment will be replaced before releasing unless there is some check blocking it. |
|
The comment WILL be replaced.. it is now (with this PR) part of the regular release management process. So you can be sure |
|
|
Generally with that one ONLY RM should be able to bump provider versions. Zero exceptions |
|
I am thinking about selective check failing and adding a label If someone tries to modify a cross dependency in project toml. So that RM will have to set that label on their PR. Thus however still does not fully solve the problem of how to communicate contributors what they should do (i.e. add the right comment) any ideas ? |
If this CI check's fail message would point to the doc paragraph about adding |
|
Selective checks is a good idea on PRs. Maybe we can think about a prek hook for it 🤔 |
Yes. But again that's part of the problem only - because what happens if the contributes won't even try :) ? |
Prek is not best - because we need to see "what's coming in PR" - prek hook are not really good for it - we tried. Prek naturally works on all files by default or on currently staged changes - and it consider those files as "whole" - and you need to do some extra checks to compare current vs. previous version and it might be heavily skewed anyway - becuase you might not be rebased, and have multiple commits and such - so naturally the scope of What we are looking for here is "change vs previous commit" - because we only want to flag situation when someone wants to change the dependent version in their PR (i.e. we have to compare vs. target branch - not what happened in a single commit).. Note that it should not flag if "other" parts of pyproject.toml changed -- we should only flag it if "version changed in the pr" |
|
I will add those precautions later. In the meantime I would love to merge this one and #58390 so that I can try it on rc2 :) |
…s bump When contributors want to upgrade to the next version of a dependent provider (for example when new feature is added to a common providers and it is already used in another provider) - instead of bumping the minimum version of the dependent provider, contributors should mark it with `# use next version` comment. This comment will be picked by the new command `upgrade-providers-next-version` and the bump will happen after provider documentation is prepared for release.
8fc114d to
fecaabe
Compare
Backport failed to create: v3-1-test. View the failure log Run details
You can attempt to backport this manually by running: cherry_picker 61a3c55 v3-1-testThis should apply the commit to the v3-1-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 --continue |
|
cc: @kacpermuda @bugraoz93 @jscheffl -> #58412 this is how upgrade will look like in doc-preparation PR. I think it is fairly straightforward. Now we will have to have guardrails to prevent contributors to bump those cross-dependencies. |
|
cc: @eladkal -> I think that one will nicely solve the problem of bumping versions of dependent providers - only RM will be able to update them in "prepare-documentation" step. |
|
Looks really centralized for providers. I like the approach. Making RM life easier. Decoupling and more automation on structured approach good for our release processes |
|
@potiuk selective checks / prek hook to ensure nobody bumps the common provider version in pyproject.toml for other providers is a good idea |
I think we can probably generalize to all providers and not only common ? Not sure what to in the case when someone wants to bump f.e. sql provider from 1.1 to 1.2 when the latest is already 1.5 - we'd probably have to check the current latest and allow this? |
Yes.
Yes. But this can be done by just assigning the same label that release manager will assign to their PR. |
|
PR. Here #58430 |
…s bump (apache#58393) When contributors want to upgrade to the next version of a dependent provider (for example when new feature is added to a common providers and it is already used in another provider) - instead of bumping the minimum version of the dependent provider, contributors should mark it with `# use next version` comment. This comment will be picked by the new command `upgrade-providers-next-version` and the bump will happen after provider documentation is prepared for release.
…s bump (apache#58393) When contributors want to upgrade to the next version of a dependent provider (for example when new feature is added to a common providers and it is already used in another provider) - instead of bumping the minimum version of the dependent provider, contributors should mark it with `# use next version` comment. This comment will be picked by the new command `upgrade-providers-next-version` and the bump will happen after provider documentation is prepared for release.
…s bump (apache#58393) When contributors want to upgrade to the next version of a dependent provider (for example when new feature is added to a common providers and it is already used in another provider) - instead of bumping the minimum version of the dependent provider, contributors should mark it with `# use next version` comment. This comment will be picked by the new command `upgrade-providers-next-version` and the bump will happen after provider documentation is prepared for release.

…s bump
When contributors want to upgrade to the next version of a dependent provider (for example when new feature is added to a common providers and it is already used in another provider) - instead of bumping the minimum version of the dependent provider, contributors should mark it with
# use next versioncomment. This comment will be picked by the new commandupgrade-providers-next-versionand the bump will happen after provider documentation is prepared for release.^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.