Yes, I agree,
I think we should try to achieve this (it is pretty schematic view that
only correspond tangentially with real repo name):
examples->operator->images->tools->app(services)->runtimes(kogito-api)->drools(kie-api)
What we will have once the current proposal is implemented will be: tools
(including examples that use tools, operator, image generator, somehow
organized using the repo ci)->examples(without
tools)->app(services)->runtimes(kogito-api)->drools(kie-api)
Again, as far as there is clear direction, for the whole team, to try to
achieve the first picture, I guess we can try, because of time constraints,
to release with the second one (if it really take just 3 weeks to make it
work), although I really find it difficult to justify if someone from
community complains (specially because community is waiting something
consistent after such a long time).

On Wed, Mar 13, 2024 at 3:55 PM Gabriele Cardosi <gabriele.card...@gmail.com>
wrote:

> I have the impression there are still two different POV.
> On one side, I agree that we should try to make the release ASAP. But we
> should also consider that if we release something that may create problems
> to the community itself, just for the rush of it, then the community would
> be much more disappointed.
> On the other side, I think the concern is to keep transforming a temporary
> solution, that was not the only possible one, to the only possible one,
> i.e. that kie-tools become the central point of delivery, with a
> Frankenstein effect whose consequences in long term are hard to imagine.
> So, maybe if we can make a sort of agreement that everything would be
> revisited "after the release", with a sort of "task force" that analyzes
> everything from scratch, and that includes all the ones that are involved
> by it, we could break this deadlock.
> WDYT ?
>
> Il giorno mer 13 mar 2024 alle ore 15:41 Francisco Javier Tirado Sarti <
> ftira...@redhat.com> ha scritto:
>
> > 1) Ok, if that is the case, I do not get why your first proposal was not
> > the one I'm proposing and it is apparently not detailed enough. To move
> > kn-workflow from tooling to operator one and change the order in which
> the
> > repos are being processed. Basically, the problem of the proposed
> solution
> > is that it kind of converts tooling repo into a pretty heterodox repo
> > compared with runtimes, drools or operator one. Also once tooling is not
> a
> > final repo in the overall chain, we can consider moving examples as the
> > final one and include tooling showcases there (rather than splitting
> > examples into examples with tooling and examples without tooling).
> > 2) I think this distinction between A and B is one between several
> possible
> > categorizations (not much, including no categorization at all) that
> > deserves a separate discussion. I will open a separate thread for that
> > purpose, since we are not going to change that now and it is not really
> > part of the proposal.
> >
> > On Wed, Mar 13, 2024 at 3:28 PM Tiago Bento <
> tiagobentofernan...@gmail.com
> > >
> > wrote:
> >
> > > Francisco,
> > >
> > > 1) That's what this thread is all about... You know I don't think it's
> > > ok. That's why I'm proposing the two images and the operator to move
> > > into the `kie-tools` repo, where we can more granularly control the
> > > order things are built, thus removing the dependency cycle.
> > >
> > > 2) Not sure we understand the same thing by "freeze". My proposal is
> > > that we select a timestamped SNAPSHOT version from Category A repos to
> > > use as base for a release. We give Category B repos some time to
> > > adjust, and then cut the release branches. This can happen anytime,
> > > and no contributions would ever stop because of it. The development
> > > branches can continue accepting PRs normally, even during the release
> > > process. Now, if what you're asking is why Category B repos refer to
> > > Category A repos via timestamped SNAPSHOTs, the answer is in my first
> > > email. See the paragraph starting with "An important note here is that
> > > Category B repositories...".
> > >
> > > On Wed, Mar 13, 2024 at 10:07 AM Francisco Javier Tirado Sarti
> > > <ftira...@redhat.com> wrote:
> > > >
> > > > Tiago
> > > > There are a couple of  simple and straightforward questions that I
> > > > formulated, but since we both write a lot, it might have been lost.
> > > Please
> > > > let me ask them again.
> > > > 1) Do you think it is ok that tools repo is executed after generation
> > of
> > > > docker images that are supposed to include those tools or the
> operator
> > > that
> > > > is supposed to deploy such images?
> > > That's what this thread is all about... You know I'm not ok with it,
> > > that's why I'm proposing the two images and the operator to move into
> > > the `kie-tools` repo, where we can more granularly control the order
> > > things are built and remove the dependency cycle.
> > > > 2) Besides that, although not directly related with the current
> > proposal
> > > we
> > > > are discussing, I really think there are some restrictions taken for
> > > > granted that are arbitrary and difficult to sustain on strictly
> > technical
> > > > arguments. For example, the need to freeze the rest of the software
> > > before
> > > > tools are generated. Why? We have dependencies between repos that are
> > not
> > > > handled that way: Apps depend on runtimes. Runtimes depend on drools,
> > > > Operator depend on runtimes,....and we are not freezing that repos
> > since
> > > we
> > > > are all releasing at the same time. If we are all releasing at the
> same
> > > > time, what's the rationale behind the freeze?
> > > >
> > > >
> > > >
> > > > On Wed, Mar 13, 2024 at 2:56 PM Tiago Bento <tiagobe...@apache.org>
> > > wrote:
> > > >
> > > > > Glad to see the interest this proposal has gotten, and it's good to
> > > > > see some alternatives being drafted here, although still lacking
> > clear
> > > > > definitions and analysis in regards to disruption, required effort,
> > > > > the release process itself, and history. Of course, lots of details
> > > > > and clarity on the execution part would be missing too.
> > > > >
> > > > > As of this moment, based on what I read here, I'm assuming that
> > > > > everyone who participated so far doesn't see the initial proposal
> as
> > > > > problematic in terms of feasibility, but some of you have a
> > preference
> > > > > not to go with it, because it is "wrong", and apparently because it
> > > > > would "jeopardize the evolution of the project". Reading these last
> > > > > words made me a little sad, to be honest. But I can deal with it :)
> > > > >
> > > > > Please let's try and keep the discussion as objective as possible.
> > > > > "Right" and "wrong" are too subjective for this kind of
> conversation.
> > > > >
> > > > > Now, being practical, unless there are clear arguments based on
> facts
> > > > > and objective concepts that invalidate the initial proposal shared
> on
> > > > > this email, it seems to me that it is currently the only viable
> > > > > proposal we have for unblocking and releasing Apache KIE 10. Of
> > > > > course, if we end up seeing an alternative proposal with enough
> > > > > details and a clear execution plan, I think then we'll be in a very
> > > > > good position to choose from multiple options!
> > > > >
> > > > >
> > > > > On Wed, Mar 13, 2024 at 8:36 AM Alex Porcelli <a...@porcelli.me>
> > > wrote:
> > > > > >
> > > > > > Francisco and Gabriele,
> > > > > >
> > > > > > I understand and acknowledge your desire to find the “right”
> > solution
> > > > > > instead to work on a temporary “patch” - however without a
> detailed
> > > > > > proposal I don’t think we can properly evaluate the impact of
> your
> > > > > > suggestion.
> > > > > >
> > > > > > When I spoke with different SMEs that included tools and CI, the
> > > > > > guesstimate for making the necessary changes on CI and codebase
> to
> > > > > > basically have images and operators in the end of the build chain
> > is
> > > > > > something like 2 months of effort. Another impact that needs to
> be
> > > > > > discussed is that KIE Tools repo had to be injected in the middle
> > of
> > > all
> > > > > > pipelines - forcing all PR checks and nightlies to build all
> repos
> > > (PR
> > > > > > checks will likely take 12+ hours… I even heard that it could be
> > > even 24
> > > > > > hours).
> > > > > >
> > > > > > Based on the input above, I think it’s quite risk to move in such
> > > > > direction
> > > > > > without a more detailed plan… because 2 months could be turned
> > > easily in
> > > > > 6!
> > > > > > And this is exactly what happened when we guessed that moving to
> > > Apache
> > > > > > would take no more than 3 months. But here we are.
> > > > > >
> > > > > > I really strongly suggest that we focus on a release that could
> be
> > > > > > achievable in less than a month from now, and we - after release
> -
> > > have a
> > > > > > in depth discussion about the overall codebase and ci
> organization.
> > > > > >
> > > > > >
> > > > > > On Wed, Mar 13, 2024 at 8:24 AM Gabriele Cardosi <
> > > > > gabriele.card...@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Alex,
> > > > > > > my suggestion is to move the building of all docker images,
> from
> > > > > whatever
> > > > > > > repo (kogito-apps, kie-tools) in a different, downstream repo,
> to
> > > be
> > > > > > > invoked after all the others.
> > > > > > > I'm not sure if this would solve all the issues, and since I
> > could
> > > not
> > > > > > > enter in the details of all the involved code, my suggestion
> may
> > > be too
> > > > > > > naive.
> > > > > > > Having spent almost all of the last year in CI,  I may say
> that,
> > at
> > > > > least
> > > > > > > for the kie-tools repo, removing the image build step from it
> > > should
> > > > > not be
> > > > > > > too difficult (since it is an issue we already faced and
> solved).
> > > > > > > If, with "detailed proposal", you mean a complete list of all
> > > modules
> > > > > to be
> > > > > > > moved and dependency refactoring, of course I can not provide
> it
> > > right
> > > > > now.
> > > > > > >
> > > > > > > Anyway, I share the concern from Francisco: undoing something
> is
> > > almost
> > > > > > > always harder than doing it "rightly" from scratch...
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Il giorno mer 13 mar 2024 alle ore 12:43 Francisco Javier
> Tirado
> > > Sarti
> > > > > <
> > > > > > > ftira...@redhat.com> ha scritto:
> > > > > > >
> > > > > > > > I do not think estimations should be the only driver to make
> a
> > > > > decision,
> > > > > > > > especially when the current proposal is conceptually
> > incompatible
> > > > > with
> > > > > > > the
> > > > > > > > multi repo approach that is taken elsewhere in the project.
> > > > > > > > Given my knowledge of the CI it is nearly impossible for me
> to
> > > give
> > > > > a
> > > > > > > fair
> > > > > > > > estimate of how much it might take to achieve step 2) of my
> > > previous
> > > > > > > e-mail
> > > > > > > > . It might take a while or it might be pretty easy after
> all, I
> > > don't
> > > > > > > > really know, but I think it will be a good idea if  some of
> the
> > > > > experts
> > > > > > > on
> > > > > > > > CI in the team (the ones that set up the pipeline, which was
> a
> > > huge
> > > > > > > > achievement) give an estimate, not me.  Estimating how much
> it
> > > takes
> > > > > to
> > > > > > > > merge two existing repos (without altering CI) is easier, but
> > it
> > > > > does not
> > > > > > > > mean we are doing the right thing.
> > > > > > > > My main concern is that it will be very difficult for me to
> > > explain
> > > > > to
> > > > > > > > someone that arrives new to the team, that having experts on
> CI
> > > on
> > > > > the
> > > > > > > > team, we decided to merge two repos (once merged, it would be
> > > rather
> > > > > > > > difficult to unmerge) rather than fix the CI, because of
> > > expediency.
> > > > > > > >
> > > > > > > > On Wed, Mar 13, 2024 at 12:30 PM Alex Porcelli <
> > > porce...@apache.org>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Francisco,
> > > > > > > > >
> > > > > > > > > Please take the time to make the more in depth analysis
> > needed
> > > and
> > > > > > > > provide
> > > > > > > > > a more detailed plan… so we - as community- can evaluate
> the
> > > size
> > > > > of
> > > > > > > the
> > > > > > > > > effort. In the conceptual level you shared it’s near
> > > impossible to
> > > > > > > > estimate
> > > > > > > > > the size of the effort and compare with the current
> proposal.
> > > > > > > > >
> > > > > > > > > On Wed, Mar 13, 2024 at 7:23 AM Francisco Javier Tirado
> > Sarti <
> > > > > > > > > ftira...@redhat.com> wrote:
> > > > > > > > >
> > > > > > > > > > I think I already did a high level proposal.
> > > > > > > > > > 1) Remove all dependencies from tooling  to images, so
> > images
> > > > > depend
> > > > > > > on
> > > > > > > > > > tooling but tooling does not depend on images.
> > > > > > > > > > 2) Then change CI to deal with tooling repo before
> dealing
> > > with
> > > > > > > images
> > > > > > > > > > repo.
> > > > > > > > > > I understand that CI details are tricky and since I'm not
> > > > > familiar
> > > > > > > with
> > > > > > > > > CI
> > > > > > > > > > in any way, I barely can make a low level design, but we
> do
> > > not
> > > > > need
> > > > > > > to
> > > > > > > > > fix
> > > > > > > > > > everything, just achieve 2), a change of compilation
> order.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Wed, Mar 13, 2024 at 12:17 PM Alex Porcelli <
> > > a...@porcelli.me
> > > > > >
> > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Francisco and Grabriele,
> > > > > > > > > > >
> > > > > > > > > > > You may not like or understand why the current state of
> > > the CI
> > > > > is
> > > > > > > > like
> > > > > > > > > > > that… actually has been in Red Hat and has been
> > replicated
> > > in
> > > > > > > Apache
> > > > > > > > as
> > > > > > > > > > > used to be….
> > > > > > > > > > >
> > > > > > > > > > > But the fact is that this is the current reality.
> > > > > > > > > > >
> > > > > > > > > > > If you disagree with the current plan, please provide a
> > > > > detailed
> > > > > > > > > > > alternative so we, as community, can better evaluate
> the
> > > pros
> > > > > and
> > > > > > > > cons
> > > > > > > > > of
> > > > > > > > > > > each proposal.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > I think it’s also fair to say that, post 10 release we
> > > need to
> > > > > > > have a
> > > > > > > > > > much
> > > > > > > > > > > in depth discussion about how our codebase is
> organized,
> > > it’s
> > > > > clear
> > > > > > > > > that
> > > > > > > > > > > it’s not working.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Wed, Mar 13, 2024 at 6:41 AM Gabriele Cardosi <
> > > > > > > > > > > gabriele.card...@gmail.com>
> > > > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > As Francisco said,
> > > > > > > > > > > > I also have the impression that the "images" (if we
> are
> > > > > talking
> > > > > > > of
> > > > > > > > > > docker
> > > > > > > > > > > > images) should be the very last one to be built, in a
> > > > > standalone
> > > > > > > > > repo.
> > > > > > > > > > > > That way, they may "combine" artifacts that are built
> > in
> > > > > > > different
> > > > > > > > > > repos,
> > > > > > > > > > > > regardless of the order in which those are built.
> > > > > > > > > > > > Moving them out of all the repos
> > (kogito-apps/kie-tools)
> > > > > maybe
> > > > > > > > could
> > > > > > > > > > > > simplify the situation a bit.
> > > > > > > > > > > > (I also think there are some statements of
> undisputable
> > > needs
> > > > > > > while
> > > > > > > > > > they
> > > > > > > > > > > > are, actually, just technical choices.
> > > > > > > > > > > > Anyway, this latter point is for longer, following,
> > > > > discussion.)
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Il giorno mer 13 mar 2024 alle ore 11:23 Francisco
> > Javier
> > > > > Tirado
> > > > > > > > > Sarti
> > > > > > > > > > <
> > > > > > > > > > > > ftira...@redhat.com> ha scritto:
> > > > > > > > > > > >
> > > > > > > > > > > > > Alex,
> > > > > > > > > > > > > There are two assumptions that deserve further
> > > discussion:
> > > > > > > > > > > > > 1) That tool has to be the last to build. why? it
> > does
> > > not
> > > > > have
> > > > > > > > > more
> > > > > > > > > > > > sense
> > > > > > > > > > > > > to build final images after everything else has
> been
> > > > > built?-
> > > > > > > > > > > > > 2) That the impact (in terms of effort now) on
> fixing
> > > CI is
> > > > > > > > bigger
> > > > > > > > > > than
> > > > > > > > > > > > the
> > > > > > > > > > > > > impact (long term consequences) of consolidating
> two
> > > > > unrelated
> > > > > > > > > piece
> > > > > > > > > > of
> > > > > > > > > > > > > software within the same repository.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Wed, Mar 13, 2024 at 11:15 AM Alex Porcelli <
> > > > > > > a...@porcelli.me
> > > > > > > > >
> > > > > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Francisco,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > This was discussed as an alternative solution,
> > > however
> > > > > it has
> > > > > > > > > major
> > > > > > > > > > > > > impact
> > > > > > > > > > > > > > on CI and there’s also the fact Tool has been
> > always
> > > the
> > > > > last
> > > > > > > > to
> > > > > > > > > > > build
> > > > > > > > > > > > > and
> > > > > > > > > > > > > > has no Snapshot published (actually in JavaScript
> > > world
> > > > > there
> > > > > > > > is
> > > > > > > > > no
> > > > > > > > > > > > > > snapshot concept).
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > So, based on our evaluation… the proposal here is
> > the
> > > > > least
> > > > > > > > > > > disruptive
> > > > > > > > > > > > > and
> > > > > > > > > > > > > > will take less time to unblock the release.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards,
> > > > > > > > > > > > > > _____________
> > > > > > > > > > > > > > Alex Porcelli
> > > > > > > > > > > > > > http://porcelli.me
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > On Wed, Mar 13, 2024 at 6:09 AM Francisco Javier
> > > Tirado
> > > > > > > Sarti <
> > > > > > > > > > > > > > ftira...@redhat.com> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > After kie-tools, sorry. I think we are not
> > > embracing
> > > > > the
> > > > > > > fact
> > > > > > > > > > that
> > > > > > > > > > > > > > > kogito-images depend on kie-tools, because we
> > want
> > > > > those
> > > > > > > > images
> > > > > > > > > > to
> > > > > > > > > > > > > > include
> > > > > > > > > > > > > > > tools.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > On Wed, Mar 13, 2024 at 11:08 AM Francisco
> Javier
> > > > > Tirado
> > > > > > > > Sarti
> > > > > > > > > <
> > > > > > > > > > > > > > > ftira...@redhat.com> wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Hi Tiago,
> > > > > > > > > > > > > > > > It can be an alternative solution to move
> > > > > > > > kn-plugin-workflow
> > > > > > > > > to
> > > > > > > > > > > > > > > > kogito-images (so there is not longer
> > dependency
> > > from
> > > > > > > tools
> > > > > > > > > to
> > > > > > > > > > > > > images)
> > > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > > then build kogito-images after kogito-tools?
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > On Wed, Mar 13, 2024 at 11:01 AM Enrique
> > Gonzalez
> > > > > > > Martinez
> > > > > > > > <
> > > > > > > > > > > > > > > > egonza...@apache.org> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >> +1 to unblock release
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > > >> El mié, 13 mar 2024, 10:48, Pere Fernandez
> > > (apache)
> > > > > <
> > > > > > > > > > > > > > > pefer...@apache.org>
> > > > > > > > > > > > > > > >> escribió:
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > > >> > I say +1 in order to move forward with the
> > 10.
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> > On Tue, 12 Mar 2024 at 21:45, Alex
> Porcelli
> > <
> > > > > > > > > > a...@porcelli.me
> > > > > > > > > > > >
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >> > > +1
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> > > I spent the last day or so working
> closely
> > > with
> > > > > > > Tiago,
> > > > > > > > > > > > exploring
> > > > > > > > > > > > > > > >> > different
> > > > > > > > > > > > > > > >> > > options and getting deeper on the impact
> > and
> > > > > > > > evaluating
> > > > > > > > > > the
> > > > > > > > > > > > > > overall
> > > > > > > > > > > > > > > >> > release
> > > > > > > > > > > > > > > >> > > procedure steps required. I agree with
> the
> > > > > proposal
> > > > > > > as
> > > > > > > > > the
> > > > > > > > > > > > most
> > > > > > > > > > > > > > > >> > > viable option for unblocking the 10
> > release
> > > in
> > > > > the
> > > > > > > > > > > reasonable
> > > > > > > > > > > > > time
> > > > > > > > > > > > > > > >> frame.
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> > > On Tue, Mar 12, 2024 at 3:45 PM Tiago
> > Bento
> > > <
> > > > > > > > > > > > > > tiagobe...@apache.org>
> > > > > > > > > > > > > > > >> > wrote:
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> > > > Hi everyone,
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Unfortunately, I can't do a tl;dr this
> > > time,
> > > > > as
> > > > > > > this
> > > > > > > > > > > matter
> > > > > > > > > > > > > > > >> requires a
> > > > > > > > > > > > > > > >> > > > lot of context.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > This email will take you < 20 minutes
> to
> > > read,
> > > > > > > > > according
> > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > https://thereadtime.com/.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > As you may have followed on a separate
> > > thread
> > > > > > > > > > > > > > > >> > > > (
> > > > > > > > > > > > > >
> > > > > > > >
> > https://lists.apache.org/thread/nknm6j641qk2c7cl621tsy3fy98tsc69
> > > > > > > > > > > > > > > ),
> > > > > > > > > > > > > > > >> > > > many of us were working towards
> > removing a
> > > > > > > circular
> > > > > > > > > > > > dependency
> > > > > > > > > > > > > > > >> > > > currently present between
> `kogito-apps`
> > > and
> > > > > > > > > `kie-tools`.
> > > > > > > > > > > As
> > > > > > > > > > > > we
> > > > > > > > > > > > > > > >> > > > progressed towards a solution, we kept
> > > > > finding the
> > > > > > > > > > > circular
> > > > > > > > > > > > > > > >> dependency
> > > > > > > > > > > > > > > >> > > > pop up somewhere else. I'll do a
> > > breakdown of
> > > > > the
> > > > > > > > > things
> > > > > > > > > > > we
> > > > > > > > > > > > > did,
> > > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > >> > > > the results we had.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Right now, even though we started the
> > > effort
> > > > > to
> > > > > > > move
> > > > > > > > > the
> > > > > > > > > > > > > Quarkus
> > > > > > > > > > > > > > > Dev
> > > > > > > > > > > > > > > >> > > > UI modules to `kie-tools`, we haven't
> > been
> > > > > able to
> > > > > > > > do
> > > > > > > > > it
> > > > > > > > > > > > yet,
> > > > > > > > > > > > > as
> > > > > > > > > > > > > > > >> we've
> > > > > > > > > > > > > > > >> > > > been busy upgrading KIE Tools to Java
> > 17,
> > > > > Maven
> > > > > > > > 3.9.6,
> > > > > > > > > > and
> > > > > > > > > > > > > > Quarkus
> > > > > > > > > > > > > > > >> > > > 3.2.9, compatible with Kogito Runtimes
> > > > > > > > > > > > 999-20240218-SNAPSHOT.
> > > > > > > > > > > > > > This
> > > > > > > > > > > > > > > >> > > > effort was concluded this Monday, with
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > https://github.com/apache/incubator-kie-tools/pull/2136
> > > > > > > > > > .
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > The current scenario we have is:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >                 01.
> > > > > incubator-kie-kogito-runtimes
> > > > > > > > > > > > > > > >> > > >         |==> 02.
> > incubator-kie-kogito-apps
> > > > > > > > > > > > > > > >> > > >    C   |       03.
> > > > > incubator-kie-kogito-examples
> > > > > > > > > > > > > > > >> > > >    Y    |       04.
> > > > > incubator-kie-kogito-images
> > > > > > > > > > > > > > > >> > > >    C   |        05.
> > > > > > > > > > > incubator-kie-kogito-serverless-operator
> > > > > > > > > > > > > > > >> > > >    L    |
> >  ==========================
> > > > > > > > > > > > > > > >> > > >    E    |       06.
> > > > > > > > > > > > incubator-kie-sandbox-quarkus-accelerator
> > > > > > > > > > > > > > > >> > > >         |==> 07. incubator-kie-tools
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >         * As
> > `kie-tools`/extended-services
> > > > > depends
> > > > > > > > on
> > > > > > > > > > > > > > > >> > > > `kogito-apps`/jitexecutor;
> > > > > > > > > > > > > > > >> > > >         * and
> > > > > > > > > > > `kogito-apps`/{sonataflow,bpmn}-quarkus-devui
> > > > > > > > > > > > > > depend
> > > > > > > > > > > > > > > >> on
> > > > > > > > > > > > > > > >> > > > `kie-tools`/{many packages}
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > After moving the Quarkus Dev UIs to
> > > > > `kie-tools`,
> > > > > > > we
> > > > > > > > > > > would've
> > > > > > > > > > > > > > had:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >                 01.
> > > > > incubator-kie-kogito-runtimes
> > > > > > > > > > > > > > > >> > > >                 02.
> > > incubator-kie-kogito-apps
> > > > > > > > > > > > > > > >> > > >                 03.
> > > > > incubator-kie-kogito-examples
> > > > > > > > > > > > > > > >> > > >     C   |==> 04.
> > > incubator-kie-kogito-images
> > > > > > > > > > > > > > > >> > > >     Y   |       05.
> > > > > > > > > > > incubator-kie-kogito-serverless-operator
> > > > > > > > > > > > > > > >> > > >     C   |       =====================
> > > > > > > > > > > > > > > >> > > >     L   |       06.
> > > > > > > > > > > > incubator-kie-sandbox-quarkus-accelerator
> > > > > > > > > > > > > > > >> > > >     E   |==> 07. incubator-kie-tools
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >         * As
> > > `kie-tools`/kn-plugin-workflow
> > > > > > > depends
> > > > > > > > on
> > > > > > > > > > > > > > > >> > > > `kogito-images`/kogito-swf-devmode;
> > > > > > > > > > > > > > > >> > > >         * and
> > > > > `kogito-images`/kogito-swf-devmode
> > > > > > > > > depends
> > > > > > > > > > > on
> > > > > > > > > > > > > > > >> > > > `kie-tools`/sonataflow-quarkus-devui
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > After moving the `kogito-swf-devmode`
> > > image to
> > > > > > > > > > > `kie-tools`,
> > > > > > > > > > > > we
> > > > > > > > > > > > > > > >> would've
> > > > > > > > > > > > > > > >> > > > had:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >                 01.
> > > > > incubator-kie-kogito-runtimes
> > > > > > > > > > > > > > > >> > > >                 02.
> > > incubator-kie-kogito-apps
> > > > > > > > > > > > > > > >> > > >                 03.
> > > > > incubator-kie-kogito-examples
> > > > > > > > > > > > > > > >> > > >                 04.
> > > > > incubator-kie-kogito-images
> > > > > > > > > > > > > > > >> > > >     C   |==> 05.
> > > > > > > > > > incubator-kie-kogito-serverless-operator
> > > > > > > > > > > > > > > >> > > >     Y   |       =====================
> > > > > > > > > > > > > > > >> > > >     C   |       06.
> > > > > > > > > > > > incubator-kie-sandbox-quarkus-accelerator
> > > > > > > > > > > > > > > >> > > >     L   |==> 07. incubator-kie-tools
> > > > > > > > > > > > > > > >> > > >     E
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >         * As
> > > `kie-tools`/kn-plugin-workflow
> > > > > > > depends
> > > > > > > > on
> > > > > > > > > > > > > > > >> > > > `kogito-serverless-operator`;
> > > > > > > > > > > > > > > >> > > >         * and
> > `kogito-serverless-operator`
> > > > > depends
> > > > > > > > on
> > > > > > > > > > > > > > > >> > > > `kie-tools`/kogito-swf-devmode
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Clearly, we have a much bigger problem
> > > than a
> > > > > > > simple
> > > > > > > > > > > > circular
> > > > > > > > > > > > > > > >> > dependency.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > After multiple conversations with a
> lot
> > of
> > > > > people,
> > > > > > > > > it's
> > > > > > > > > > > been
> > > > > > > > > > > > > > > really
> > > > > > > > > > > > > > > >> > > > hard coming up with a simple solution
> > that
> > > > > makes
> > > > > > > it
> > > > > > > > > > > possible
> > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> build
> > > > > > > > > > > > > > > >> > > > Apache KIE in one shot, while
> preserving
> > > the
> > > > > way
> > > > > > > > > > everyone
> > > > > > > > > > > is
> > > > > > > > > > > > > > used
> > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > contributing to the multiple
> > repositories
> > > we
> > > > > have.
> > > > > > > > > More
> > > > > > > > > > > than
> > > > > > > > > > > > > > that,
> > > > > > > > > > > > > > > >> > > > while making this assessment, I found
> > more
> > > > > > > problems
> > > > > > > > > > that,
> > > > > > > > > > > in
> > > > > > > > > > > > > my
> > > > > > > > > > > > > > > >> > > > perspective, block Apache KIE 10.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > In light of that difficulty, I'm
> coming
> > > > > forward
> > > > > > > with
> > > > > > > > > my
> > > > > > > > > > > > > proposal
> > > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > >> > > > the Apache KIE release process, so we
> > can
> > > use
> > > > > > > > Apache's
> > > > > > > > > > > > > > mechanisms
> > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > have a slower-paced, in-depth debate
> > about
> > > > > this
> > > > > > > > really
> > > > > > > > > > > > > > complicated
> > > > > > > > > > > > > > > >> > > > matter.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > I'll lay out my entire perspective
> about
> > > the
> > > > > > > current
> > > > > > > > > > > > situation
> > > > > > > > > > > > > > of
> > > > > > > > > > > > > > > >> our
> > > > > > > > > > > > > > > >> > > > codebase, as well as problems I can
> > > currently
> > > > > see.
> > > > > > > > > I'll
> > > > > > > > > > > > start
> > > > > > > > > > > > > > with
> > > > > > > > > > > > > > > >> an
> > > > > > > > > > > > > > > >> > > > analysis of the repositories and their
> > > > > purposes,
> > > > > > > > point
> > > > > > > > > > out
> > > > > > > > > > > > > some
> > > > > > > > > > > > > > > >> > > > problems that I believe are blocking
> our
> > > 10
> > > > > > > release,
> > > > > > > > > > > explain
> > > > > > > > > > > > > my
> > > > > > > > > > > > > > > >> > > > proposal and discuss some consequences
> > to
> > > > > what I'm
> > > > > > > > > > > > proposing.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Let's begin.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > # THE APACHE KIE REPOS
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > A. DROOLS OPTAPLANNER, & KOGITO
> (count:
> > > 11)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-pipelines @
> > `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-drools @ `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-optaplanner @ `main`
> > > > > > > > > > > > > > > >> > > > -
> incubator-kie-optaplanner-quickstarts
> > @
> > > > > `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-runtimes @
> `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-apps @ `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-examples @
> `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-images @ `main`
> > > > > > > > > > > > > > > >> > > > -
> > > incubator-kie-kogito-serverless-operator @
> > > > > > > `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-docs @ `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-docs @ `main-kogito`
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > B. TOOLS (count: 2)
> > > > > > > > > > > > > > > >> > > > -
> > > incubator-kie-sandbox-quarkus-accelerator @
> > > > > > > > `0.0.0`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-tools @ `main`
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > C. BENCHMARKS (count: 2)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-benchmarks @
> > `main`
> > > > > > > > > > > > > > > >> > > > - incubator-kie-benchmarks @ `main`
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > D. ARCHIVED (count: 1)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-operator
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > E. "NON-CODE" (count: 5)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-issues @ `main`
> > > > > > > > > > > > > > > >> > > >     (Issues only, README should be
> > > updated @
> > > > > > > `main`.
> > > > > > > > > > Same
> > > > > > > > > > > > for
> > > > > > > > > > > > > > > GitHub
> > > > > > > > > > > > > > > >> > > > Actions workflows.)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-website @
> `main`
> > > > > > > > > > > > > > > >> > > >     (The Kogito website. Develop &
> > deploy
> > > at
> > > > > the
> > > > > > > > > `main`
> > > > > > > > > > > > > branch.)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-website @ `main`
> > > > > > > > > > > > > > > >> > > >     (The KIE website. Develop @
> `main`.
> > > Push @
> > > > > > > > > `deploy`
> > > > > > > > > > to
> > > > > > > > > > > > > > update
> > > > > > > > > > > > > > > >> the
> > > > > > > > > > > > > > > >> > > > website.)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-online @
> > `gh-pages`
> > > > > > > > > > > > > > > >> > > >     (GitHub pages used to host
> > > > > sandbox.kie.org
> > > > > > > and
> > > > > > > > > KIE
> > > > > > > > > > > > Tools'
> > > > > > > > > > > > > > > >> Chrome
> > > > > > > > > > > > > > > >> > > > Extension assets.)
> > > > > > > > > > > > > > > >> > > > - incubator-kie-kogito-online-staging
> @
> > > `main`
> > > > > > > > > > > > > > > >> > > >     (Same as above, but for manual
> > sanity
> > > > > checks
> > > > > > > > > during
> > > > > > > > > > > the
> > > > > > > > > > > > > > > staging
> > > > > > > > > > > > > > > >> > > > phase of a release.)
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > TOTAL (count: 21)
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > I grouped the repositories by
> category,
> > > and
> > > > > listed
> > > > > > > > > them
> > > > > > > > > > > in a
> > > > > > > > > > > > > > > >> > > > topological order. Keep in mind that
> > when
> > > > > > > flattening
> > > > > > > > > > out a
> > > > > > > > > > > > > tree,
> > > > > > > > > > > > > > > >> there
> > > > > > > > > > > > > > > >> > > > are multiple possibilities. For
> example,
> > > > > > > OptaPlanner
> > > > > > > > > > > > could've
> > > > > > > > > > > > > > been
> > > > > > > > > > > > > > > >> > > > placed in any position after Drools.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Category A repos are what I've been
> > > referring
> > > > > to
> > > > > > > as
> > > > > > > > > > > `drools`
> > > > > > > > > > > > > and
> > > > > > > > > > > > > > > >> > > > `kogito-*` stream. Of course
> OptaPlanner
> > > is
> > > > > inside
> > > > > > > > > that
> > > > > > > > > > > > > stream,
> > > > > > > > > > > > > > as
> > > > > > > > > > > > > > > >> the
> > > > > > > > > > > > > > > >> > > > way these repositories reference each
> > > other
> > > > > are
> > > > > > > > > through
> > > > > > > > > > > > Maven
> > > > > > > > > > > > > > > >> > > > SNAPSHOTs. More specifically, the
> > > 999-SNAPSHOT
> > > > > > > > > version.
> > > > > > > > > > > This
> > > > > > > > > > > > > > > >> mechanism
> > > > > > > > > > > > > > > >> > > > is well-known to the team, and
> although
> > > > > flawed for
> > > > > > > > > > > intra-day
> > > > > > > > > > > > > > > builds
> > > > > > > > > > > > > > > >> > > > and disruptive for people in many
> > > different
> > > > > time
> > > > > > > > > zones,
> > > > > > > > > > it
> > > > > > > > > > > > is
> > > > > > > > > > > > > > > >> already
> > > > > > > > > > > > > > > >> > > > very comfortable for everyone to work
> > > with, I
> > > > > > > > assume.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Contributions made to Category A have
> > some
> > > > > > > dedicated
> > > > > > > > > > > > > pipelines,
> > > > > > > > > > > > > > > >> which
> > > > > > > > > > > > > > > >> > > > are, at least to some extent, able to
> > > build
> > > > > > > > cross-repo
> > > > > > > > > > PRs
> > > > > > > > > > > > > > > together
> > > > > > > > > > > > > > > >> > > > and verify that the codebase will
> > continue
> > > > > working
> > > > > > > > as
> > > > > > > > > > > > expected
> > > > > > > > > > > > > > > after
> > > > > > > > > > > > > > > >> > > > they're all merged. From what I could
> > > gather,
> > > > > > > there
> > > > > > > > > are
> > > > > > > > > > > some
> > > > > > > > > > > > > > > >> > > > "sub-streams" currently configured for
> > > > > cross-repo
> > > > > > > > PRs.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > - kogito-pipelines
> > > > > > > > > > > > > > > >> > > > - drools, kogito-runtimes,
> kogito-apps,
> > > and
> > > > > > > > > > > kogito-examples
> > > > > > > > > > > > > > > >> > > > - optaplanner, and
> > optaplanner-quickstarts
> > > > > > > > > > > > > > > >> > > > - kogito-images, and
> > > > > kogito-serverless-operator
> > > > > > > > > > > > > > > >> > > > - kogito-docs
> > > > > > > > > > > > > > > >> > > > - kie-docs
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > This means that sending cross-repo PRs
> > to
> > > any
> > > > > > > > > > combination
> > > > > > > > > > > of
> > > > > > > > > > > > > > repos
> > > > > > > > > > > > > > > >> > > > that are not part of the same
> > "sub-stream"
> > > > > cannot
> > > > > > > be
> > > > > > > > > > > > verified
> > > > > > > > > > > > > > > before
> > > > > > > > > > > > > > > >> > > > merging, making our contribution model
> > > > > dependent
> > > > > > > on
> > > > > > > > > > > > individual
> > > > > > > > > > > > > > > >> > > > contributors building stuff on their
> > > machines
> > > > > to
> > > > > > > > > verify
> > > > > > > > > > > that
> > > > > > > > > > > > > it
> > > > > > > > > > > > > > > >> works.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > I based this analysis on
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-kogito-pipelines/blob/main/.ci/project-dependencies.yaml
> > > > > > > > > > > > > > > >> > > > ,
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-optaplanner/blob/main/.ci/buildchain-project-dependencies.yaml
> > > > > > > > > > > > > > > >> > > > ,
> > > > > > > > > > > > > > > >> > > > and
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-kogito-pipelines/blob/main/.ci/jenkins/config/branch.yaml
> > > > > > > > > > > > > > > >> > > > .
> > > > > > > > > > > > > > > >> > > > Note that I'm not that familiar with
> > these
> > > > > > > > pipelines,
> > > > > > > > > so
> > > > > > > > > > > > > please
> > > > > > > > > > > > > > > >> > > > someone correct me if I'm wrong.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Category B repos are what I've been
> > > referring
> > > > > to
> > > > > > > as
> > > > > > > > > > > > > `kie-tools`
> > > > > > > > > > > > > > > >> > > > stream. The first repo there is a
> > template
> > > > > > > > repository
> > > > > > > > > > that
> > > > > > > > > > > > is
> > > > > > > > > > > > > > used
> > > > > > > > > > > > > > > >> by
> > > > > > > > > > > > > > > >> > > > people starting projects from scratch
> on
> > > KIE
> > > > > > > > Sandbox,
> > > > > > > > > > > > similar
> > > > > > > > > > > > > > to a
> > > > > > > > > > > > > > > >> > > > Maven archetype, if you will. The
> other
> > > one
> > > > > is the
> > > > > > > > KIE
> > > > > > > > > > > Tools
> > > > > > > > > > > > > > > >> monorepo,
> > > > > > > > > > > > > > > >> > > > a polyglot monorepo with `pnpm` as its
> > > build
> > > > > > > system.
> > > > > > > > > > > > > Currently,
> > > > > > > > > > > > > > > KIE
> > > > > > > > > > > > > > > >> > > > Tools hosts Java libraries and apps,
> > > > > TypeScript
> > > > > > > > > > libraries
> > > > > > > > > > > > and
> > > > > > > > > > > > > > > apps,
> > > > > > > > > > > > > > > >> Go
> > > > > > > > > > > > > > > >> > > > apps, Docker images, and Helm charts.
> > The
> > > > > > > > `kie-tools`
> > > > > > > > > > > > monorepo
> > > > > > > > > > > > > > is
> > > > > > > > > > > > > > > >> > > > configured to work with sparse
> checkouts
> > > and
> > > > > can
> > > > > > > do
> > > > > > > > > > > partial
> > > > > > > > > > > > > > > builds.
> > > > > > > > > > > > > > > >> > > > Category B repos refer to Category A
> > repos
> > > > > through
> > > > > > > > > > > > timestamped
> > > > > > > > > > > > > > > >> > > > SNAPSHOTs. This is a new mechanism we
> > > recently
> > > > > > > > > > introduced
> > > > > > > > > > > > that
> > > > > > > > > > > > > > > will
> > > > > > > > > > > > > > > >> > > > build and publish immutable,
> persistent
> > > > > artifacts
> > > > > > > > > under
> > > > > > > > > > a
> > > > > > > > > > > > > > version
> > > > > > > > > > > > > > > >> > > > following the 999-YYYYMMDD-SNAPSHOT
> > > format,
> > > > > > > > published
> > > > > > > > > > > weekly
> > > > > > > > > > > > > > every
> > > > > > > > > > > > > > > >> > > > Sunday night. Timestamped SNAPSHOTs
> are
> > an
> > > > > > > evolution
> > > > > > > > > to
> > > > > > > > > > > the
> > > > > > > > > > > > > > Kogito
> > > > > > > > > > > > > > > >> > > > releases, as we're now targeting one
> > > release
> > > > > for
> > > > > > > all
> > > > > > > > > of
> > > > > > > > > > > > Apache
> > > > > > > > > > > > > > > KIE,
> > > > > > > > > > > > > > > >> so
> > > > > > > > > > > > > > > >> > > > we can't have Kogito releases anymore.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > An important note here is that
> Category
> > B
> > > > > > > > repositories
> > > > > > > > > > > have
> > > > > > > > > > > > > been
> > > > > > > > > > > > > > > >> > > > historically kept out of any
> automations
> > > we
> > > > > used
> > > > > > > to
> > > > > > > > > > have,
> > > > > > > > > > > > way
> > > > > > > > > > > > > > back
> > > > > > > > > > > > > > > >> > > > when Kogito started and we had the
> > > Business
> > > > > > > Central
> > > > > > > > > > > (a.k.a.
> > > > > > > > > > > > > v7)
> > > > > > > > > > > > > > > >> stream
> > > > > > > > > > > > > > > >> > > > still going on. For this reason,
> > Category
> > > B
> > > > > > > projects
> > > > > > > > > > have
> > > > > > > > > > > > > > > developed
> > > > > > > > > > > > > > > >> > > > their own automations, based on GitHub
> > > > > Actions.
> > > > > > > > > > Category B
> > > > > > > > > > > > > repos
> > > > > > > > > > > > > > > >> have
> > > > > > > > > > > > > > > >> > > > always depended on Category A repos
> > using
> > > > > fixed
> > > > > > > > > > versions.
> > > > > > > > > > > If
> > > > > > > > > > > > > > > >> Category
> > > > > > > > > > > > > > > >> > > > B repos have had adopted mutable
> > > SNAPSHOTs,
> > > > > > > breaking
> > > > > > > > > > > changes
> > > > > > > > > > > > > on
> > > > > > > > > > > > > > > >> > > > Category A repositories would've had
> the
> > > > > potential
> > > > > > > > to
> > > > > > > > > > > break
> > > > > > > > > > > > > > > >> Category B
> > > > > > > > > > > > > > > >> > > > silently, leaving Category B with a
> > broken
> > > > > > > > development
> > > > > > > > > > > > stream,
> > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > >> > > > introducing unpleasant surprises for
> > > > > maintainers
> > > > > > > of
> > > > > > > > > > > > Category B
> > > > > > > > > > > > > > > >> repos,
> > > > > > > > > > > > > > > >> > > > as historically Category A
> contributors
> > > were
> > > > > not
> > > > > > > > > > familiar
> > > > > > > > > > > > with
> > > > > > > > > > > > > > > >> > > > Category B repos.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Contributions made to Category B repos
> > go
> > > > > through
> > > > > > > a
> > > > > > > > > > GitHub
> > > > > > > > > > > > > > Actions
> > > > > > > > > > > > > > > >> > > > workflow that builds the relevant part
> > of
> > > the
> > > > > > > > > > `kie-tools`
> > > > > > > > > > > > > > monorepo
> > > > > > > > > > > > > > > >> for
> > > > > > > > > > > > > > > >> > > > the changes introduced. Changes made
> to
> > > the
> > > > > > > pipeline
> > > > > > > > > > > itself
> > > > > > > > > > > > > are
> > > > > > > > > > > > > > > also
> > > > > > > > > > > > > > > >> > > > picked up as part of PRs, allowing us
> to
> > > do
> > > > > things
> > > > > > > > > like
> > > > > > > > > > > > > > atomically
> > > > > > > > > > > > > > > >> > > > bumping the Node.js version, for
> > example.
> > > More
> > > > > > > > > > > importantly,
> > > > > > > > > > > > it
> > > > > > > > > > > > > > > >> allows
> > > > > > > > > > > > > > > >> > > > us to upgrade the repository to a new
> > > > > timestamped
> > > > > > > > > > SNAPSHOT
> > > > > > > > > > > > > > > together
> > > > > > > > > > > > > > > >> > > > with the changes necessary to make it
> > stay
> > > > > green.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > This setup, however, makes it
> impossible
> > > to
> > > > > have
> > > > > > > > > > > cross-repo
> > > > > > > > > > > > > PRs
> > > > > > > > > > > > > > > >> > > > involving Category A and Category B
> > > > > > > simultaneously,
> > > > > > > > > with
> > > > > > > > > > > the
> > > > > > > > > > > > > > > current
> > > > > > > > > > > > > > > >> > > > automations we have.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Category C repos are kind of floating
> > > around,
> > > > > and
> > > > > > > > I'm
> > > > > > > > > > not
> > > > > > > > > > > > sure
> > > > > > > > > > > > > > if
> > > > > > > > > > > > > > > >> > > > there's much activity going on there.
> > > > > Regardless,
> > > > > > > as
> > > > > > > > > > > they're
> > > > > > > > > > > > > > part
> > > > > > > > > > > > > > > of
> > > > > > > > > > > > > > > >> > > > Apache KIE, they will be part of our
> > > release,
> > > > > so I
> > > > > > > > > > listed
> > > > > > > > > > > > them
> > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > >> us
> > > > > > > > > > > > > > > >> > > > to take them into consideration too.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Category D is self explanatory.
> There's
> > > only
> > > > > one
> > > > > > > > repo
> > > > > > > > > > that
> > > > > > > > > > > > has
> > > > > > > > > > > > > > > >> already
> > > > > > > > > > > > > > > >> > > > been marked for being archived.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Category E are repos that do not host
> > code
> > > > > > > directly,
> > > > > > > > > and
> > > > > > > > > > > are
> > > > > > > > > > > > > > > either
> > > > > > > > > > > > > > > >> > > > organizational entities, or host
> > websites,
> > > > > that
> > > > > > > > > > currently
> > > > > > > > > > > > are
> > > > > > > > > > > > > > not
> > > > > > > > > > > > > > > >> part
> > > > > > > > > > > > > > > >> > > > of any pipelines we have.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > This lack of unification between
> > Category
> > > A
> > > > > and
> > > > > > > > > > Category B
> > > > > > > > > > > > is,
> > > > > > > > > > > > > > > IMHO,
> > > > > > > > > > > > > > > >> > > > what allowed us to introduce the
> > infamous
> > > > > circular
> > > > > > > > > > > > dependency
> > > > > > > > > > > > > > > >> between
> > > > > > > > > > > > > > > >> > > > `kie-tools` and `kogito-apps`, which
> we
> > > now
> > > > > can
> > > > > > > > > describe
> > > > > > > > > > > as
> > > > > > > > > > > > a
> > > > > > > > > > > > > > > >> circular
> > > > > > > > > > > > > > > >> > > > dependency between Category A and
> > > Category B.
> > > > > The
> > > > > > > > way
> > > > > > > > > I
> > > > > > > > > > > see
> > > > > > > > > > > > > it,
> > > > > > > > > > > > > > if
> > > > > > > > > > > > > > > >> we
> > > > > > > > > > > > > > > >> > > > had a single pipeline, building
> > everything
> > > > > from
> > > > > > > > > `drools`
> > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > `kie-tools`, such flaws would've never
> > > been
> > > > > > > > > introduced,
> > > > > > > > > > > and
> > > > > > > > > > > > we
> > > > > > > > > > > > > > > >> > > > wouldn't be having this huge problem
> in
> > > our
> > > > > hands
> > > > > > > > > right
> > > > > > > > > > > now.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > My proposal for the Apache KIE release
> > > process
> > > > > > > sees
> > > > > > > > > this
> > > > > > > > > > > > lack
> > > > > > > > > > > > > of
> > > > > > > > > > > > > > > >> > > > unification as a central problem, not
> > > only for
> > > > > > > this
> > > > > > > > > > > release
> > > > > > > > > > > > in
> > > > > > > > > > > > > > > >> > > > particular, but for the community as a
> > > whole.
> > > > > It
> > > > > > > is
> > > > > > > > my
> > > > > > > > > > > > belief
> > > > > > > > > > > > > > that
> > > > > > > > > > > > > > > >> we
> > > > > > > > > > > > > > > >> > > > are all under the same roof, and that
> no
> > > > > > > > contribution
> > > > > > > > > > > should
> > > > > > > > > > > > > be
> > > > > > > > > > > > > > > >> > > > allowed to break any part of our
> > codebase.
> > > > > With
> > > > > > > the
> > > > > > > > > > > > increasing
> > > > > > > > > > > > > > > >> volume
> > > > > > > > > > > > > > > >> > > > of code, and hopefully number of
> > > contributors
> > > > > too,
> > > > > > > > we
> > > > > > > > > > > cannot
> > > > > > > > > > > > > > keep
> > > > > > > > > > > > > > > >> > > > counting on "common sense" to avoid
> > > breaking
> > > > > > > things.
> > > > > > > > > > We're
> > > > > > > > > > > > all
> > > > > > > > > > > > > > > >> humans
> > > > > > > > > > > > > > > >> > > > after all, and it is our job to have
> > > > > mechanisms in
> > > > > > > > > place
> > > > > > > > > > > to
> > > > > > > > > > > > > > > prevent
> > > > > > > > > > > > > > > >> us
> > > > > > > > > > > > > > > >> > > > from unwillingly making mistakes.
> > > Especially
> > > > > when
> > > > > > > > > these
> > > > > > > > > > > > > mistakes
> > > > > > > > > > > > > > > >> > > > impact on parts of the codebase that
> we,
> > > > > > > > individually,
> > > > > > > > > > > > > probably
> > > > > > > > > > > > > > > >> can't
> > > > > > > > > > > > > > > >> > > > fix.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > # THE PROBLEMS WE HAVE RIGHT NOW
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P1. Quarkus Dev UIs @ `kogito-apps`
> > > depending
> > > > > on
> > > > > > > > > > > kiegroup's
> > > > > > > > > > > > > KIE
> > > > > > > > > > > > > > > >> Tools
> > > > > > > > > > > > > > > >> > > > `0.32.0`.
> > > > > > > > > > > > > > > >> > > > See:
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/search?q=repo%3Akiegroup%2Fkogito-apps+path%3Apackage.json+kie-tools&type=code
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P2. PR open for Kogito SWF images @
> > > > > > > `kogito-images`
> > > > > > > > > > > > depending
> > > > > > > > > > > > > on
> > > > > > > > > > > > > > > >> > > > kiegroup's KIE Tools `0.32.0`.
> > > > > > > > > > > > > > > >> > > > See:
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-tools/tree/main/packages/sonataflow-deployment-webapp
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P3. DashBuilder @ `kie-tools`
> depending
> > on
> > > > > > > > kiegroup's
> > > > > > > > > > > > `lienzo`
> > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > >> > > > `kie-soup` artifacts at version
> > > > > `7.59.0.Final`.
> > > > > > > > > > > > > > > >> > > > See:
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-tools/blob/main/packages/dashbuilder/pom.xml#L64
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/search?q=repo%3Aapache%2Fincubator-kie-tools+path%3Apackages%2Fdashbuilder+%24%7Bversion.org.kie%7D&type=code
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P4. Multiple packages @ `kogito-apps`
> > > > > depending on
> > > > > > > > > > > > kiegroup's
> > > > > > > > > > > > > > > >> > > > Explainability `1.22.1.Final`.
> > > > > > > > > > > > > > > >> > > > * This module was removed from the KIE
> > > > > codebase
> > > > > > > > here:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-kogito-apps/commit/bbb22c06d37e77b97aae6496d74abe43a8cfc965
> > > > > > > > > > > > > > > >> > > > and now lives on
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > >
> > > > > > > > > >
> > > > > https://github.com/trustyai-explainability/trustyai-explainability
> > > > > > > > > > > ,
> > > > > > > > > > > > > > > >> > > > under a different GAV.
> > > > > > > > > > > > > > > >> > > > * This new repo depends on Kogito and
> > > > > OptaPlanner,
> > > > > > > > > > > pointing
> > > > > > > > > > > > to
> > > > > > > > > > > > > > > older
> > > > > > > > > > > > > > > >> > > > versions.
> > > > > > > > > > > > > > > >> > > > See:
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/search?q=repo%3Aapache%2Fincubator-kie-kogito-apps+%3Eexplainability-core%3C&type=code
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/trustyai-explainability/trustyai-explainability/blob/main/pom.xml#L52-L53
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P5.
> > > > > `incubator-kie-sandbox-quarkus-accelerator`
> > > > > > > > > > depending
> > > > > > > > > > > on
> > > > > > > > > > > > > > > Kogito
> > > > > > > > > > > > > > > >> > > > `1.32.0.Final` and Quarkus
> > `2.15.3.Final`.
> > > > > > > > > > > > > > > >> > > > See:
> > > > > > > > > > > > > > > >> > > > -
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-sandbox-quarkus-accelerator/blob/0.0.0/pom.xml#L32-L38
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P6. Category C repos are out of date
> and
> > > not
> > > > > part
> > > > > > > of
> > > > > > > > > the
> > > > > > > > > > > > > > Category
> > > > > > > > > > > > > > > A
> > > > > > > > > > > > > > > >> > > > CI/Release pipelines.
> > > > > > > > > > > > > > > >> > > > * incubator-kie-kogito-benchmarks:
> > > (Current
> > > > > > > version
> > > > > > > > is
> > > > > > > > > > > > > > > >> `2.0-SNAPSHOT`,
> > > > > > > > > > > > > > > >> > > > depending on Kogito without a specific
> > > > > version,
> > > > > > > only
> > > > > > > > > by
> > > > > > > > > > > > using
> > > > > > > > > > > > > > > >> > > > `http://localhost:8080`)
> > > > > > > > > > > > > > > >> > > > * incubator-kie-benchmarks: (Current
> > > version
> > > > > is
> > > > > > > > > > > > > `1.0-SNAPSHOT`,
> > > > > > > > > > > > > > > >> > > > pointing to Drools 999-SNAPSHOT and
> > > > > OptaPlanner
> > > > > > > > > > > > > > `8.45.0-SNAPSHOT`)
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P7.
> > > `kie-tools`/packages/kn-plugin-workflow
> > > > > has
> > > > > > > its
> > > > > > > > > E2E
> > > > > > > > > > > > > disabled
> > > > > > > > > > > > > > > >> after
> > > > > > > > > > > > > > > >> > > > upgrading to 999-20240218-SNAPSHOT.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > In my perspective, P1 and P2 have the
> > same
> > > > > > > solution,
> > > > > > > > > as
> > > > > > > > > > > they
> > > > > > > > > > > > > > both
> > > > > > > > > > > > > > > >> > > > suffer from the circular dependency
> > > between
> > > > > > > > Category A
> > > > > > > > > > and
> > > > > > > > > > > > > > > Category
> > > > > > > > > > > > > > > >> B.
> > > > > > > > > > > > > > > >> > > > As Category A and Category B are both
> > > streams
> > > > > that
> > > > > > > > > have
> > > > > > > > > > > been
> > > > > > > > > > > > > > > really
> > > > > > > > > > > > > > > >> > > > active, I see this as a blocker, as
> > there
> > > are
> > > > > > > > > > > contributions
> > > > > > > > > > > > > that
> > > > > > > > > > > > > > > >> > > > cannot be done, given that Category A
> > > depends
> > > > > on
> > > > > > > > > > Category
> > > > > > > > > > > B
> > > > > > > > > > > > > > with a
> > > > > > > > > > > > > > > >> > > > dephasing of 1 release.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P3 and P4, although not ideal, can be
> > > > > understood
> > > > > > > as
> > > > > > > > > > > > technical
> > > > > > > > > > > > > > > debt.
> > > > > > > > > > > > > > > >> > > > Depending on unmaintained projects is
> > > > > something
> > > > > > > > we'll
> > > > > > > > > > > always
> > > > > > > > > > > > > be
> > > > > > > > > > > > > > > >> > > > susceptible to, given time.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P5 and P6 are easily fixable, as it's
> > > just a
> > > > > > > matter
> > > > > > > > of
> > > > > > > > > > > > making
> > > > > > > > > > > > > > them
> > > > > > > > > > > > > > > >> > > > part of the play.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > P7 is an isolated problem that won't
> > > impact
> > > > > the
> > > > > > > > > > structure
> > > > > > > > > > > or
> > > > > > > > > > > > > > > >> anything
> > > > > > > > > > > > > > > >> > > > that we're talking about here, but it
> > is a
> > > > > > > > regression
> > > > > > > > > we
> > > > > > > > > > > > > > > introduced
> > > > > > > > > > > > > > > >> > > > recently.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Assuming P3 and P4 can be ignored for
> > > Apache
> > > > > KIE
> > > > > > > 10,
> > > > > > > > > and
> > > > > > > > > > > > that
> > > > > > > > > > > > > > P5,
> > > > > > > > > > > > > > > >> P6,
> > > > > > > > > > > > > > > >> > > > and P7 have easy fixes, the only
> > problems
> > > > > left to
> > > > > > > > > > discuss
> > > > > > > > > > > > are
> > > > > > > > > > > > > P1
> > > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > >> > > > P2, which can't be done without a
> proper
> > > > > proposal.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > # THE PROPOSAL
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > I'll try to be very meticulous here,
> > since
> > > > > from my
> > > > > > > > > > > > experience,
> > > > > > > > > > > > > > any
> > > > > > > > > > > > > > > >> > > > little miscalculation can lead to our
> > > release
> > > > > not
> > > > > > > > > > working
> > > > > > > > > > > > out
> > > > > > > > > > > > > in
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > >> > > > end. To try and avoid that as much as
> > > > > possible,
> > > > > > > and
> > > > > > > > > make
> > > > > > > > > > > > > > > everything
> > > > > > > > > > > > > > > >> we
> > > > > > > > > > > > > > > >> > > > can to have a successful Apache KIE 10
> > > > > release,
> > > > > > > bear
> > > > > > > > > > with
> > > > > > > > > > > > me.
> > > > > > > > > > > > > > I'll
> > > > > > > > > > > > > > > >> lay
> > > > > > > > > > > > > > > >> > > > out a timeline of events that need to
> > > happen
> > > > > in
> > > > > > > > order
> > > > > > > > > > for
> > > > > > > > > > > > our
> > > > > > > > > > > > > > > >> release
> > > > > > > > > > > > > > > >> > > > to be published, with all artifacts
> > > ending up
> > > > > in
> > > > > > > the
> > > > > > > > > > right
> > > > > > > > > > > > > > places,
> > > > > > > > > > > > > > > >> but
> > > > > > > > > > > > > > > >> > > > first, we need to solve problems P1
> and
> > > P2.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > As you saw at the beginning of this
> > email,
> > > > > all the
> > > > > > > > > > > attempts
> > > > > > > > > > > > we
> > > > > > > > > > > > > > > made
> > > > > > > > > > > > > > > >> > > > left us with the circular dependency
> > > showing
> > > > > up
> > > > > > > at a
> > > > > > > > > > > > different
> > > > > > > > > > > > > > > >> place,
> > > > > > > > > > > > > > > >> > > > but something all these places have in
> > > common
> > > > > is
> > > > > > > > that
> > > > > > > > > > > > they're
> > > > > > > > > > > > > > all
> > > > > > > > > > > > > > > >> > > > after kogito-apps, and before to
> > Category
> > > B.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > The first part of my proposal is the
> > > > > following:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > S1. We keep the original plan of
> moving
> > > the
> > > > > > > Quarkus
> > > > > > > > > Dev
> > > > > > > > > > > UIs
> > > > > > > > > > > > > from
> > > > > > > > > > > > > > > >> > > > `kogito-apps` to `kie-tools`, together
> > > with
> > > > > > > > Management
> > > > > > > > > > and
> > > > > > > > > > > > > Task
> > > > > > > > > > > > > > > >> > > > consoles from `kogito-images` to
> > > `kie-tools`.
> > > > > > > > > > > > > > > >> > > > S2. We move the `kogito-swf-devmode`
> and
> > > > > > > > > > > > `kogito-swf-builder`
> > > > > > > > > > > > > > > images
> > > > > > > > > > > > > > > >> > > > from `kogito-images` to `kie-tools`
> too.
> > > > > > > > > > > > > > > >> > > > S3. We move the entire
> > > > > > > `kogito-serverless-operator`
> > > > > > > > > repo
> > > > > > > > > > > > > inside
> > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > >> new
> > > > > > > > > > > > > > > >> > > > package on `kie-tools`, keeping Git
> > > history.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Solutions S1, S2, and S3 together
> solve
> > > > > problems
> > > > > > > P1
> > > > > > > > > and
> > > > > > > > > > > P2.
> > > > > > > > > > > > Of
> > > > > > > > > > > > > > > >> course
> > > > > > > > > > > > > > > >> > > > the rest of
> > > > > > > > > > > > > > > >>
> > > > > > > https://github.com/apache/incubator-kie-issues/issues/967
> > > > > > > > > > > > > > > >> > > > would still be done too.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > This doesn't come without
> consequences,
> > of
> > > > > course,
> > > > > > > > as
> > > > > > > > > > the
> > > > > > > > > > > > > > > >> > > > `kogito-swf-devmode` and
> > > `kogito-swf-builder`
> > > > > > > > images,
> > > > > > > > > > and
> > > > > > > > > > > > the
> > > > > > > > > > > > > > > >> > > > `kogito-serverless-operator` would be
> > > moving
> > > > > from
> > > > > > > > > > > Category A
> > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > Category B. This move would make them
> > > have to
> > > > > > > > > reference
> > > > > > > > > > > > > > Category A
> > > > > > > > > > > > > > > >> > > > repos through timestamped SNAPSHOTs.
> > Since
> > > > > > > > > > `kogito-images`
> > > > > > > > > > > > and
> > > > > > > > > > > > > > > >> > > > `kogito-serverless-operator` are
> already
> > > > > their own
> > > > > > > > > > > > > "sub-stream"
> > > > > > > > > > > > > > > >> inside
> > > > > > > > > > > > > > > >> > > > Category A, though, contributions made
> > in
> > > a
> > > > > > > > cross-repo
> > > > > > > > > > > > fashion
> > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> this
> > > > > > > > > > > > > > > >> > > > "sub-stream" will continue being
> > > possible, now
> > > > > > > via a
> > > > > > > > > > > single
> > > > > > > > > > > > PR
> > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > `kie-tools`. Cross-repo PRs between
> > > Category
> > > > > A and
> > > > > > > > > > > Category
> > > > > > > > > > > > B
> > > > > > > > > > > > > > will
> > > > > > > > > > > > > > > >> > > > continue not being possible, and a
> > 1-week
> > > > > delay
> > > > > > > > > between
> > > > > > > > > > > > > merging
> > > > > > > > > > > > > > > >> > > > something on Category A and using it
> on
> > > > > Category B
> > > > > > > > > will
> > > > > > > > > > > > still
> > > > > > > > > > > > > > > >> happen.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > It's worth mentioning that
> `kie-tools`,
> > > > > however,
> > > > > > > > does
> > > > > > > > > > > allow
> > > > > > > > > > > > > for
> > > > > > > > > > > > > > > >> sparse
> > > > > > > > > > > > > > > >> > > > checkouts and partial builds, so
> working
> > > with
> > > > > a
> > > > > > > > subset
> > > > > > > > > > of
> > > > > > > > > > > > the
> > > > > > > > > > > > > > > >> monorepo
> > > > > > > > > > > > > > > >> > > > is possible and encouraged. Making
> > changes
> > > > > only to
> > > > > > > > > > > > > > > >> > > > `packages/kn-plugin-workflow`, for
> > > example,
> > > > > will
> > > > > > > > have
> > > > > > > > > > the
> > > > > > > > > > > PR
> > > > > > > > > > > > > > > checks
> > > > > > > > > > > > > > > >> > > > run in < 10 minutes, as you can see
> > here:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > >
> >
> https://github.com/apache/incubator-kie-tools/actions/runs/8237244382/job/22525511722?pr=2136
> > > > > > > > > > > > > > > >> > > > .
> > > > > > > > > > > > > > > >> > > > We're not compromising when running
> > > partial
> > > > > builds
> > > > > > > > > too.
> > > > > > > > > > We
> > > > > > > > > > > > > know
> > > > > > > > > > > > > > > that
> > > > > > > > > > > > > > > >> > > > the entire repo will continue working
> > even
> > > > > after
> > > > > > > > only
> > > > > > > > > > > > > building a
> > > > > > > > > > > > > > > >> small
> > > > > > > > > > > > > > > >> > > > subset of the changes. Doing partial
> or
> > > full
> > > > > > > builds
> > > > > > > > is
> > > > > > > > > > > > > > > automatically
> > > > > > > > > > > > > > > >> > > > determined by the changes of a PR.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Keep in mind that, even though I'm
> > > proposing
> > > > > we
> > > > > > > > move a
> > > > > > > > > > > bunch
> > > > > > > > > > > > > of
> > > > > > > > > > > > > > > >> > > > additional stuff into `kie-tools`, I
> see
> > > this
> > > > > as a
> > > > > > > > > > > TEMPORARY
> > > > > > > > > > > > > > > >> solution
> > > > > > > > > > > > > > > >> > > > for our codebase. `kie-tools` would
> host
> > > some
> > > > > > > > > additional
> > > > > > > > > > > > stuff
> > > > > > > > > > > > > > > >> > > > TEMPORARILY so that we can release and
> > > > > continue
> > > > > > > > moving
> > > > > > > > > > > > > forward.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > As I mentioned on other places,
> > > `kie-tools`
> > > > > > > became a
> > > > > > > > > > > > polyglot
> > > > > > > > > > > > > > > >> monorepo
> > > > > > > > > > > > > > > >> > > > out of necessity, and although I'm
> > really
> > > > > proud of
> > > > > > > > > what
> > > > > > > > > > we
> > > > > > > > > > > > > > > achieved
> > > > > > > > > > > > > > > >> > > > there so far, I don't think
> `kie-tools`
> > > has a
> > > > > > > setup
> > > > > > > > > that
> > > > > > > > > > > is
> > > > > > > > > > > > > > > suitable
> > > > > > > > > > > > > > > >> > > > for all the different nuances that
> > > compose our
> > > > > > > > > > community.
> > > > > > > > > > > > I'm
> > > > > > > > > > > > > > well
> > > > > > > > > > > > > > > >> > > > aware that a polyglot monorepo that
> does
> > > not
> > > > > > > follow
> > > > > > > > > > > > widespread
> > > > > > > > > > > > > > > >> > > > conventions will scare some people
> away,
> > > and
> > > > > as
> > > > > > > much
> > > > > > > > > as
> > > > > > > > > > > > we've
> > > > > > > > > > > > > > > tried
> > > > > > > > > > > > > > > >> to
> > > > > > > > > > > > > > > >> > > > make build instructions clear, we
> can't
> > > > > always get
> > > > > > > > > past
> > > > > > > > > > > the
> > > > > > > > > > > > > > > >> prejudice
> > > > > > > > > > > > > > > >> > > > some people have towards the
> "front-end"
> > > > > > > ecosystem.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > With all that said, I keep thinking
> this
> > > is
> > > > > the
> > > > > > > best
> > > > > > > > > > > course
> > > > > > > > > > > > of
> > > > > > > > > > > > > > > >> action
> > > > > > > > > > > > > > > >> > > > for us right now. We keep most of our
> > > stuff
> > > > > > > > unchanged,
> > > > > > > > > > we
> > > > > > > > > > > > > > unblock
> > > > > > > > > > > > > > > >> the
> > > > > > > > > > > > > > > >> > > > release, and we have a working setup
> > that
> > > will
> > > > > > > suit
> > > > > > > > us
> > > > > > > > > > > well
> > > > > > > > > > > > > > while
> > > > > > > > > > > > > > > we
> > > > > > > > > > > > > > > >> > > > discuss and reach a conclusion
> regarding
> > > the
> > > > > > > future
> > > > > > > > of
> > > > > > > > > > our
> > > > > > > > > > > > > > > codebase
> > > > > > > > > > > > > > > >> > > > structure.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Let me paint a quick picture here of
> > what
> > > our
> > > > > code
> > > > > > > > > base
> > > > > > > > > > > > would
> > > > > > > > > > > > > > look
> > > > > > > > > > > > > > > >> > > > like, repository-wise, if my proposal
> is
> > > > > accepted:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > CATEGORY    REPO
> > > > > > > > > > > > > > > >> > > > =====================
> > > > > > > > > > > > > > > >> > > > A
> >  incubator-kie-kogito-pipelines
> > > > > > > > > > > > > > > >> > > > A           incubator-kie-drools
> > > > > > > > > > > > > > > >> > > > A           incubator-kie-optaplanner
> > > > > > > > > > > > > > > >> > > > A
> > > > >  incubator-kie-optaplanner-quickstarts
> > > > > > > > > > > > > > > >> > > > A
> >  incubator-kie-kogito-runtimes
> > > > > > > > > > > > > > > >> > > > A           incubator-kie-kogito-apps
> > > > > > > > > > > > > > > >> > > > A
> >  incubator-kie-kogito-examples
> > > > > > > > > > > > > > > >> > > > A
>  incubator-kie-kogito-images
> > > > > > > > > > > > > > > >> > > > A           incubator-kie-kogito-docs
> > > > > > > > > > > > > > > >> > > > A
> > >  incubator-kie-kogito-benchmarks
> > > > > > > > > > > > > > > >> > > > A           incubator-kie-docs
> > > > > > > > > > > > > > > >> > > > A           incubator-kie-benchmarks
> > > > > > > > > > > > > > > >> > > > =====================
> > > > > > > > > > > > > > > >> > > > B
> > > > > > > >  incubator-kie-sandbox-quarkus-accelerator
> > > > > > > > > > > > > > > >> > > > B           incubator-kie-tools
> > > > > > > > > > > > > > > >> > > > =====================
> > > > > > > > > > > > > > > >> > > > D
> >  incubator-kie-kogito-operator
> > > > > > > > > > > > > > > >> > > > =====================
> > > > > > > > > > > > > > > >> > > > E           incubator-kie-issues
> > > > > > > > > > > > > > > >> > > > E
>  incubator-kie-kogito-website
> > > > > > > > > > > > > > > >> > > > E           incubator-kie-website
> > > > > > > > > > > > > > > >> > > > E
>  incubator-kie-kogito-online
> > > > > > > > > > > > > > > >> > > > E
> > > > >  incubator-kie-kogito-online-staging
> > > > > > > > > > > > > > > >> > > > =====================
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > * Category C becomes part of Category
> A,
> > > and
> > > > > > > > > > > > > > > >> > > > `kogito-serverless-operator` moves
> > > entirely
> > > > > inside
> > > > > > > > > > > > > `kie-tools`.
> > > > > > > > > > > > > > > >> > > > * With `kogito-swf-{builder,devmode}`
> > > images
> > > > > and
> > > > > > > > > > > > > > > >> > > > `kogito-serverless-operator` inside
> > > > > `kie-tools`,
> > > > > > > > there
> > > > > > > > > > are
> > > > > > > > > > > > no
> > > > > > > > > > > > > > > cycles
> > > > > > > > > > > > > > > >> > > > anymore, as inside `kie-tools`, we can
> > > > > granularly
> > > > > > > > > build:
> > > > > > > > > > > > > > > >> > > >     1.
> > > packages/sonataflow-deployment-webapp
> > > > > > > > > > > > > > > >> > > >     2.
> packages/sonataflow-quarkus-devui
> > > > > > > > > > > > > > > >> > > >     3. packages/sonataflow-images
> > > (containing
> > > > > > > > > > > > > > `kogito-swf-builder`
> > > > > > > > > > > > > > > >> and
> > > > > > > > > > > > > > > >> > > > `kogito-swf-devmode`)
> > > > > > > > > > > > > > > >> > > >     4. packages/sonataflow-operator
> > > (contents
> > > > > from
> > > > > > > > > > > > > > > >> > > > `kogito-serverless-operator`)
> > > > > > > > > > > > > > > >> > > >     5. packages/kn-plugin-sonataflow
> > > > > > > > > > > > > > > (`packages/kn-plugin-workflow`,
> > > > > > > > > > > > > > > >> > > > but renamed)
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > The second part of the proposal is the
> > > release
> > > > > > > > process
> > > > > > > > > > > > itself,
> > > > > > > > > > > > > > > >> > > > assuming the structure above is what
> we
> > > have.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Here it is:
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > 1. Define a timestamped SNAPSHOT to be
> > > used as
> > > > > > > > cutting
> > > > > > > > > > > point
> > > > > > > > > > > > > for
> > > > > > > > > > > > > > > >> > > > Category A repos.
> > > > > > > > > > > > > > > >> > > > 2. Update Category B repos to point to
> > > this
> > > > > > > > > timestamped
> > > > > > > > > > > > > > SNAPSHOT,
> > > > > > > > > > > > > > > >> and
> > > > > > > > > > > > > > > >> > > > verify that everything is working.
> > > > > > > > > > > > > > > >> > > > 3. At this point, with everything
> > > working, we
> > > > > can
> > > > > > > > > branch
> > > > > > > > > > > out
> > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > `10.0.x`. Category A from the
> > timestamped
> > > > > SNAPSHOT
> > > > > > > > > tag,
> > > > > > > > > > > and
> > > > > > > > > > > > > > > >> Category B
> > > > > > > > > > > > > > > >> > > > from `main`.
> > > > > > > > > > > > > > > >> > > > 4. All Category A and Category B repos
> > > update
> > > > > > > their
> > > > > > > > > > > versions
> > > > > > > > > > > > > to
> > > > > > > > > > > > > > > >> > > > 10.0.0, in their `10.0.x` branches.
> > > > > > > > > > > > > > > >> > > > 5. Update Category B repos to point to
> > > > > Category A
> > > > > > > > > repos
> > > > > > > > > > > > using
> > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > >> > > > 10.0.0 version.
> > > > > > > > > > > > > > > >> > > > 6. At this point, we can vote on the
> > > release
> > > > > based
> > > > > > > > on
> > > > > > > > > > the
> > > > > > > > > > > > > > `10.0.x`
> > > > > > > > > > > > > > > >> > > > branches, given we don't expect any
> code
> > > > > changes
> > > > > > > > > > anymore.
> > > > > > > > > > > > > > > >> > > > 7. After voting passes, we're good to
> > > start
> > > > > the
> > > > > > > > > release
> > > > > > > > > > > > > process.
> > > > > > > > > > > > > > > >> > > > 8. Category A repos follow their
> > > > > manual/automated
> > > > > > > > > > release
> > > > > > > > > > > > > > process,
> > > > > > > > > > > > > > > >> > > > pointing to the `10.0.x` branch. Tags
> > > pushed
> > > > > to
> > > > > > > Git,
> > > > > > > > > and
> > > > > > > > > > > > built
> > > > > > > > > > > > > > > >> > > > artifacts pushed to their registries.
> > > > > > > > > > > > > > > >> > > > 9. We wait a little bit for Category A
> > > > > artifacts
> > > > > > > to
> > > > > > > > be
> > > > > > > > > > > > > > propagated
> > > > > > > > > > > > > > > on
> > > > > > > > > > > > > > > >> > > > registries. ~1 day.
> > > > > > > > > > > > > > > >> > > > 10. Category B repos follow their
> > > > > manual/automated
> > > > > > > > > > release
> > > > > > > > > > > > > > > process,
> > > > > > > > > > > > > > > >> > > > pointing to the `10.0.x` branch. Tags
> > > pushed
> > > > > to
> > > > > > > Git,
> > > > > > > > > and
> > > > > > > > > > > > built
> > > > > > > > > > > > > > > >> > > > artifacts pushed to their registries.
> > > > > > > > > > > > > > > >> > > > 11. Category D repos are ignored.
> > > > > > > > > > > > > > > >> > > > 12. Category E repos can be manually
> > > tagged
> > > > > with
> > > > > > > > > 10.0.0
> > > > > > > > > > > from
> > > > > > > > > > > > > > their
> > > > > > > > > > > > > > > >> > > > default branches.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > More needs to be discussed if we're
> > > planning
> > > > > to
> > > > > > > > > maintain
> > > > > > > > > > > > > > multiple
> > > > > > > > > > > > > > > >> > > > release streams in parallel, but I
> guess
> > > it
> > > > > can
> > > > > > > wait
> > > > > > > > > for
> > > > > > > > > > > > after
> > > > > > > > > > > > > > > >> Apache
> > > > > > > > > > > > > > > >> > > > KIE 10.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Thank you for reading, and I'm looking
> > > > > forward to
> > > > > > > > > > hearing
> > > > > > > > > > > > back
> > > > > > > > > > > > > > > from
> > > > > > > > > > > > > > > >> > > > everyone.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Of course, alternative solutions are
> > > possible.
> > > > > > > This
> > > > > > > > > > email,
> > > > > > > > > > > > > > > however,
> > > > > > > > > > > > > > > >> > > > summarizes my view of how we should
> > > attack the
> > > > > > > > > problem,
> > > > > > > > > > > > > > > considering
> > > > > > > > > > > > > > > >> > > > disruption, required effort, the
> release
> > > > > process
> > > > > > > > > itself,
> > > > > > > > > > > and
> > > > > > > > > > > > > > > >> history.
> > > > > > > > > > > > > > > >> > > > Feel free to propose alternatives.
> This
> > is
> > > > > not a
> > > > > > > > > voting
> > > > > > > > > > > > > thread.
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Regards,
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > > Tiago Bento
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > >
> > > > > > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > > > > > > > > > > > >> > > > To unsubscribe, e-mail:
> > > > > > > > > dev-unsubscr...@kie.apache.org
> > > > > > > > > > > > > > > >> > > > For additional commands, e-mail:
> > > > > > > > > > dev-h...@kie.apache.org
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > > >
> > > > > > > > > > > > > > > >> > >
> > > > > > > > > > > > > > > >> >
> > > > > > > > > > > > > > > >>
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: dev-unsubscr...@kie.apache.org
> > > > > For additional commands, e-mail: dev-h...@kie.apache.org
> > > > >
> > > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscr...@kie.apache.org
> > > For additional commands, e-mail: dev-h...@kie.apache.org
> > >
> > >
> >
>

Reply via email to