I added auto cherry-picking of dev and noticed that there are conflicts because we already missed some dev / ci change so I am also cherry-picking remaining changes in https://github.com/apache/airflow/pull/52293 - this way future auto-cherry-picks will be far easier to merge.
J. On Wed, Jun 25, 2025 at 11:23 AM Amogh Desai <amoghdesai....@gmail.com> wrote: > Nice, good discussion! > > Thanks & Regards, > Amogh Desai > > > On Wed, Jun 25, 2025 at 12:57 AM Jarek Potiuk <ja...@potiuk.com> wrote: > > > PR here to add backport label automatically for dev tools changes (and to > > maintain it with minor version upgrades) > > https://github.com/apache/airflow/pull/52189 > > > > On Tue, Jun 24, 2025 at 9:14 PM Jarek Potiuk <ja...@potiuk.com> wrote: > > > > > Might be a good idea, yes. > > > > > > On Tue, Jun 24, 2025 at 9:09 PM Jens Scheffler > > <j_scheff...@gmx.de.invalid> > > > wrote: > > > > > >> Hi Jarek, > > >> > > >> one thought came into my mind... as you said it is a lot of trouble to > > >> find which "dev" PR might be missing on a mainteance branch... should > we > > >> cherry-pick dev tooling PRs by default as well to active maintenance > > >> branches? I mean... automating this in the CI like if `backport > to`label > > >> is set? > > >> > > >> Jens > > >> > > >> On 24.06.25 11:38, Jarek Potiuk wrote: > > >> > https://github.com/apache/airflow/pull/52148 -> Proposed PR. Let's > > >> iterate > > >> > there if there are comments. > > >> > > > >> > On Tue, Jun 24, 2025 at 11:25 AM Jarek Potiuk <ja...@potiuk.com> > > wrote: > > >> > > > >> >> Yeah. I think what I am really after is expressed by Wei: +0.5 > vote > > - > > >> >> i.e. we should be fine with **some** selected cherry-picks that are > > not > > >> >> bug-fixes that we proactively cherry-pick and do not "complain" > that > > >> this > > >> >> is wrong because technically it's not a bugfix. I think It would be > > >> great > > >> >> if in every such cherry-pick we rationalise why we are doing it: > > >> >> > > >> >> "I know it's not a bugfix, but because this is an actively > developed > > >> part > > >> >> that is cherry-picked heavily, let me cherry-pick that one to make > it > > >> >> easier for others to cherry-pick bugfixes". > > >> >> > > >> >> If we are all on-board with that (seems so) then I can update the > > >> >> cherry-pick description to add it as possible exception. > > >> >> > > >> >> J. > > >> >> > > >> >> On Tue, Jun 24, 2025 at 10:14 AM Kaxil Naik <kaxiln...@gmail.com> > > >> wrote: > > >> >> > > >> >>> It looks like everyone is mostly on the same page based on all the > > >> emails > > >> >>> - > > >> >>> so no comments :) . > > >> >>> > > >> >>> On Tue, 24 Jun 2025 at 07:45, Wei Lee <weilee...@gmail.com> > wrote: > > >> >>> > > >> >>>> I’m +1 for 1-3 (assuming the doc changes relate to the backported > > >> >>> version). > > >> >>>> +0.5 for 4. I hope that changes not related to new features will > be > > >> >>>> backported when feasible; however, we can skip them if the > required > > >> >>> effort > > >> >>>> is substantial. This is because failing to backport these items > > could > > >> >>>> potentially lead to future conflicts with points 1 or 3. > > >> >>>> > > >> >>>> Best, > > >> >>>> Wei > > >> >>>> > > >> >>>>> On Jun 24, 2025, at 5:32 AM, Jens Scheffler > > >> >>> <j_scheff...@gmx.de.INVALID> > > >> >>>> wrote: > > >> >>>>> I am +1 for (1) to (3) [also assuming that (2) is mostly like a > > doc > > >> >>>> bugfix!] > > >> >>>>> For (4) I am hesitant and would rather be conservative. Every > > >> >>>> cherry-pick has a risk to break something in old codebase. As > > >> branches > > >> >>>> change over time and backport PRs are clearly less cautious > > reviewed > > >> it > > >> >>>> might lead to introduced inconsistencies which might not be > covered > > >> in > > >> >>>> tests. I would also not back-port just for the sake of easier > later > > >> >>>> maintenance for other cherry-picks. But for (4) the rule might > not > > be > > >> >>> too > > >> >>>> strict and every rule is made for exceptions which in (4) might > be > > >> >>> likely. > > >> >>>> But I would not advertise to backport refactorings if no clear > > >> benefit. > > >> >>>>> On 23.06.25 15:33, Pavankumar Gopidesu wrote: > > >> >>>>>> Thanks Jarek, for starting this discussion, > > >> >>>>>> > > >> >>>>>> I agree with all the points. > > >> >>>>>> > > >> >>>>>> The real intention behind to backport > > >> >>>>>> https://github.com/apache/airflow/pull/51992 is , this area > has > > a > > >> >>> lot > > >> >>>> of > > >> >>>>>> ongoing development going and I felt it's worth porting to > > >> v3-0-test. > > >> >>>>>> I myself faced situations where I tried to backport some doc > > >> changes > > >> >>> , I > > >> >>>>>> failed because of conflicts that previous changes were not > ported > > >> >>> back > > >> >>>> on > > >> >>>>>> the same file etc or conflicts with some lines. > > >> >>>>>> So I am very strong on this if there are any areas with heavy > > >> >>>> development > > >> >>>>>> activity going. I feel it's worth backporting the changes and > > IMHO > > >> i > > >> >>>>>> don't see any problem. > > >> >>>>>> > > >> >>>>>> Pavan > > >> >>>>>> > > >> >>>>>> > > >> >>>>>> On Mon, Jun 23, 2025 at 2:23 PM Jarek Potiuk <ja...@potiuk.com > > > > >> >>> wrote: > > >> >>>>>>>> I think We are approaching it from the same point of view, > just > > >> >>> that > > >> >>>> we > > >> >>>>>>> have different conclusions. > > >> >>>>>>> > > >> >>>>>>> I agree. I think that simply there is one special case that we > > >> >>> should > > >> >>>>>>> "allow". Details below. > > >> >>>>>>> > > >> >>>>>>>> For 4, I do not have strong opinions on either front, but > > >> defining > > >> >>>> what > > >> >>>>>>> to > > >> >>>>>>>> do and what not should > > >> >>>>>>>> probably be that if that change makes it easy to backport > > >> something > > >> >>>> else, > > >> >>>>>>>> maybe have it? > > >> >>>>>>> Yep. That's **exactly** my proposal. I do not want to backport > > >> >>> **all** > > >> >>>>>>> refactorings. That would be stupid. In my definition of 4. I > > want > > >> to > > >> >>>>>>> cherry-pick those pre-commit when it's small, and automated > and > > >> when > > >> >>>> we can > > >> >>>>>>> easily anticipate it will make it quite likely someone (soon) > > will > > >> >>> do > > >> >>>>>>> another cherry-pick that will be conflicting. > > >> >>>>>>> > > >> >>>>>>> Yes. It's not "0/1" and quite a bit personal judgment, and yes > > it > > >> >>>> **might > > >> >>>>>>> not** result in conflict (so we might end up with YAGNI), but > I > > >> >>> think > > >> >>>> we > > >> >>>>>>> should define (and trust committers judgment) when they do it, > > >> >>> because > > >> >>>> they > > >> >>>>>>> want to prevent "others" to have problems. > > >> >>>>>>> > > >> >>>>>>> For example in case of > > >> https://github.com/apache/airflow/pull/51992 > > >> >>>> -> the > > >> >>>>>>> only reason why I think it makes sense to cherry-pick it is > > >> because > > >> >>> it > > >> >>>> is > > >> >>>>>>> in the area of task-sdk that has been recently bug-fixed > quite a > > >> >>>> number of > > >> >>>>>>> times and there are open related issues to this area that make > > it > > >> >>>> (IMHO) > > >> >>>>>>> quite likely to result in conflict. I think there are other > > areas > > >> >>> like > > >> >>>> that > > >> >>>>>>> (UI for example) where we clearly cherry-pick a number of > > changes, > > >> >>>> because > > >> >>>>>>> there are some pretty active "bug-fixing" in this area as 3.0 > > had > > >> >>>> still a > > >> >>>>>>> number of low priority but either known or anticipated bugs > that > > >> are > > >> >>>> likely > > >> >>>>>>> to be fixed in 3.0.3, 3.0.4 > > >> >>>>>>> > > >> >>>>>>> So just to clarify - I do not want to cherry-pick "all" > > >> refactoring, > > >> >>>> but > > >> >>>>>>> leave to the judgment of the commiter merging the request (and > > >> >>> author) > > >> >>>> to > > >> >>>>>>> decide to cherry-pick such change anticipating it will make > life > > >> >>>> easier for > > >> >>>>>>> others. > > >> >>>>>>> > > >> >>>>>>> J > > >> >>>>>>> > > >> >>>>>>> > > >> >>>>>>> > > >> >>>>>>> > > >> >>>>>>> On Mon, Jun 23, 2025 at 2:57 PM Amogh Desai < > > >> >>> amoghdesai....@gmail.com> > > >> >>>>>>> wrote: > > >> >>>>>>> > > >> >>>>>>>> Agree with point 1 - 3 definitely. > > >> >>>>>>>> > > >> >>>>>>>> For 4, I do not have strong opinions on either front, but > > >> defining > > >> >>>> what > > >> >>>>>>> to > > >> >>>>>>>> do and what not should > > >> >>>>>>>> probably be that if that change makes it easy to backport > > >> something > > >> >>>> else, > > >> >>>>>>>> maybe have it? > > >> >>>>>>>> > > >> >>>>>>>> For ex: > > >> >>>>>>>> *PR 1 changes file1.py and file2.py* > > >> >>>>>>>> *PR 2 changes some lines in file2.py* > > >> >>>>>>>> > > >> >>>>>>>> *We backport PR 1 as it's a bug fix and do not for PR 2 as > its > > >> some > > >> >>>>>>>> refactoring.* > > >> >>>>>>>> > > >> >>>>>>>> *Now while trying to backport PR 3 (bugfix), it conflicts and > > >> needs > > >> >>>> PR 2 > > >> >>>>>>> to > > >> >>>>>>>> be picked* > > >> >>>>>>>> *to land PR 3.* > > >> >>>>>>>> > > >> >>>>>>>> > > >> >>>>>>>> Thanks & Regards, > > >> >>>>>>>> Amogh Desai > > >> >>>>>>>> > > >> >>>>>>>> > > >> >>>>>>>> On Mon, Jun 23, 2025 at 5:02 PM Ash Berlin-Taylor < > > >> a...@apache.org> > > >> >>>>>>> wrote: > > >> >>>>>>>>> I think We are approaching it from the same point of view, > > just > > >> >>> that > > >> >>>> we > > >> >>>>>>>>> have different conclusions. > > >> >>>>>>>>> > > >> >>>>>>>>> Points 1-3 I agree with. > > >> >>>>>>>>> > > >> >>>>>>>>> We do already have this written up > > >> >>>>>>>>> > > >> >>> > > >> > > > https://github.com/apache/airflow/blob/130e9600443e06c08acc1b28c69a62c858d6e6a2/dev/README_RELEASE_AIRFLOW.md?plain=1#L116-L129 > > >> >>>>>>>>> On 4 I think of it in terms that “every change carries some > > >> risk” > > >> >>> — > > >> >>>> in > > >> >>>>>>>> the > > >> >>>>>>>>> linked example of 51992 the risk is almost zero, but > > generally: > > >> >>> 3.0.x > > >> >>>>>>> are > > >> >>>>>>>>> meant to be bug fix releases on top of 3.0.0, and if it’s > not > > >> >>> fixing > > >> >>>> a > > >> >>>>>>>> bug > > >> >>>>>>>>> we don’t back port it. The one exception I have to this is > if > > >> the > > >> >>>>>>> change > > >> >>>>>>>> is > > >> >>>>>>>>> needed to make it easy to backport a change that is a bug > > >> without > > >> >>>>>>>> conflicts. > > >> >>>>>>>>> I think our default approach has to be we don’t back port a > > >> change > > >> >>>>>>> unless > > >> >>>>>>>>> it is fixing a bug, otherwise the risk of “oh I’ll just fix > > >> this” > > >> >>>> ends > > >> >>>>>>> up > > >> >>>>>>>>> introducing more bugs than we fix. Stability of a Minor > > release > > >> >>>> series > > >> >>>>>>> is > > >> >>>>>>>>> my primary desire, and not changing things more than we have > > to > > >> is > > >> >>>> the > > >> >>>>>>>> best > > >> >>>>>>>>> way I know of doing that. > > >> >>>>>>>>> > > >> >>>>>>>>> Things are slightly different now that we have automated > > >> >>> cherry-picks > > >> >>>>>>> but > > >> >>>>>>>>> I still don’t think it is worth porting refactoring > > >> automatically. > > >> >>>> It’s > > >> >>>>>>>>> extra change and risk for almost zero benefit to users is my > > >> view. > > >> >>>>>>>>> > > >> >>>>>>>>> -ash > > >> >>>>>>>>> > > >> >>>>>>>>>> On 23 Jun 2025, at 11:43, Jarek Potiuk <ja...@potiuk.com> > > >> wrote: > > >> >>>>>>>>>> > > >> >>>>>>>>>> BTW. I'd be happy to capture result of this discussion if > we > > >> can > > >> >>> get > > >> >>>>>>>> to a > > >> >>>>>>>>>> consensus or vote eventually in the "cherry-picking" > > >> guidelines. > > >> >>>>>>>>>> > > >> >>>>>>>>>> On Mon, Jun 23, 2025 at 12:42 PM Jarek Potiuk < > > >> ja...@potiuk.com> > > >> >>>>>>>> wrote: > > >> >>>>>>>>>>> I wanted to start a discussion on "things that we > > cherry-pick" > > >> >>> (to > > >> >>>>>>>> vX_Z > > >> >>>>>>>>>>> branch). > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> I think there are different opinions on what kind of > changes > > >> >>> should > > >> >>>>>>> be > > >> >>>>>>>>>>> cherry-picked and it might be a good idea to agree on a > > common > > >> >>>>>>>> approach. > > >> >>>>>>>>>>> I think (following the comment of Ash here) > > >> >>>>>>>>>>> > > >> >>> > > https://github.com/apache/airflow/pull/51992#issuecomment-2995632849 > > >> >>>>>>>>> that > > >> >>>>>>>>>>> we can use a very simplistic and (I'd say) dogmatic > approach > > >> >>> "only > > >> >>>>>>>>>>> cherry-pick bug fixes. Full stop". But I believe (and past > > >> >>>>>>> experience > > >> >>>>>>>>> from > > >> >>>>>>>>>>> a lot of cherry-picking that I've been doing - multiple > > times > > >> >>>>>>> helping > > >> >>>>>>>> to > > >> >>>>>>>>>>> bring past branches to be green and spending countless > hours > > >> on > > >> >>> it, > > >> >>>>>>>>> that it > > >> >>>>>>>>>>> should be a bit more nuanced. > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> I would love to see what others think, but from my > > experience > > >> >>> those > > >> >>>>>>>> are > > >> >>>>>>>>>>> the things that we **should** cherry-pick: > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> 1) bug-fixes (of course) > > >> >>>>>>>>>>> 2) doc changes (when they are improvements or filling > gaps) > > >> >>>>>>>>>>> 3) dev tool changes (every time we did not, it resulted in > > >> >>> hours of > > >> >>>>>>> my > > >> >>>>>>>>>>> time when things were breaking and I tried to reconcile > it) > > >> >>>>>>>>>>> 4) results of automated refactorings that have very low > > risks > > >> >>> (in > > >> >>>>>>> the > > >> >>>>>>>>>>> areas that are likely to have cherry-picks) > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> t) - is non-controversial I think > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> 2) - is also relatively non-controversial and very low > risk > > >> and > > >> >>>>>>> gives > > >> >>>>>>>>> our > > >> >>>>>>>>>>> users a chance to get better docs earlier (even today for > > >> >>> example I > > >> >>>>>>>>> cherry > > >> >>>>>>>>>>> picked this one: > > https://github.com/apache/airflow/pull/52068 > > >> - > > >> >>>>>>>> because > > >> >>>>>>>>>>> one of my friends who tries to learn Airflow 3 pinged me > > that > > >> >>>>>>>>>>> "ConfiuguringRuff" link that we have in 3.0.2 leads to 404 > > NOT > > >> >>>> found > > >> >>>>>>>>>>> 3) - it had always bitten us if we stopped cherry-picking > > dev > > >> >>> tool > > >> >>>>>>>>>>> changes. The thing is that external dependencies change > all > > >> the > > >> >>>> time > > >> >>>>>>>>> and we > > >> >>>>>>>>>>> are continuously catching up with those, also we improve, > > >> speed > > >> >>> up > > >> >>>>>>> and > > >> >>>>>>>>>>> simplify the tooling - and often things that worked when > > >> branch > > >> >>> was > > >> >>>>>>>> cut, > > >> >>>>>>>>>>> does not work today - countless, countless hours lost in > one > > >> or > > >> >>> two > > >> >>>>>>>>>>> branches when we stopped doing it - I think even once or > > >> twice I > > >> >>>> had > > >> >>>>>>>> to > > >> >>>>>>>>>>> just copy over most (but not all) the code from main to > the > > >> >>> branch > > >> >>>>>>> and > > >> >>>>>>>>>>> commit one single "catch-up dev tooling with main" big > > change > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> 4) Is likely most controversial - example here: > > >> >>>>>>>>>>> https://github.com/apache/airflow/pull/51992/ - those are > > the > > >> >>> kind > > >> >>>>>>> of > > >> >>>>>>>>>>> (really small) changes that are done in "active" area > (i.e. > > >> area > > >> >>>>>>> that > > >> >>>>>>>>> had > > >> >>>>>>>>>>> and will have a lot of cherry-picks anyway, but they are > > done > > >> >>> with > > >> >>>>>>>>>>> automated refactoring - like renaming variables and such. > > This > > >> >>>>>>>>> introduces > > >> >>>>>>>>>>> clarity and readability, so this is good we are doing > them. > > >> But > > >> >>> if > > >> >>>>>>> we > > >> >>>>>>>> do > > >> >>>>>>>>>>> not cherry-pick them and then we cherry-pick any change > that > > >> >>>> touches > > >> >>>>>>>> the > > >> >>>>>>>>>>> same code, this lead to a conflict. Conflicts are > > frustrating, > > >> >>>>>>>>> especially > > >> >>>>>>>>>>> those kinds - you never know what you should do - should > you > > >> >>>> "merge" > > >> >>>>>>>>> this > > >> >>>>>>>>>>> naming change with your change? or should you leave the > > >> original > > >> >>>>>>>>> namiing, > > >> >>>>>>>>>>> or should you try to find the past commit that changed it > > and > > >> >>>>>>>>> cherry-pick > > >> >>>>>>>>>>> it as well? This paired with the fact that we are using > > >> >>>>>>> cherry-picker > > >> >>>>>>>>> that > > >> >>>>>>>>>>> allows to cherry-pick stuff very quickly, automatically > and > > >> >>>>>>> painlessly > > >> >>>>>>>>> when > > >> >>>>>>>>>>> there are no conflicts, make me think that yes - we should > > >> >>> cherry > > >> >>>>>>>> -pick > > >> >>>>>>>>>>> those changes proactively as a service to those > contributors > > >> who > > >> >>>>>>> will > > >> >>>>>>>>>>> follow up with their cherry-picking. It's just "good > > service" > > >> >>> and > > >> >>>>>>>>> helping > > >> >>>>>>>>>>> others who will come after you. > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> That's how my definition of "what we should cherry-pick" > > is... > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> I wonder what others think about it ? > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> J. > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> > > >> >>>>>>>>> > > >> >>> > > --------------------------------------------------------------------- > > >> >>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org > > >> >>>>>>>>> For additional commands, e-mail: > dev-h...@airflow.apache.org > > >> >>>>>>>>> > > >> >>>>>>>>> > > >> >>>>> > > >> --------------------------------------------------------------------- > > >> >>>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org > > >> >>>>> For additional commands, e-mail: dev-h...@airflow.apache.org > > >> >>>>> > > >> >>>> > > >> >>>> > > --------------------------------------------------------------------- > > >> >>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org > > >> >>>> For additional commands, e-mail: dev-h...@airflow.apache.org > > >> >>>> > > >> >>>> > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org > > >> For additional commands, e-mail: dev-h...@airflow.apache.org > > >> > > >> > > >