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
>>
>>

Reply via email to