+1

Em ter., 18 de fev. de 2025 às 10:10, Tiago Bento
<tiagobe...@apache.org> escreveu:
>
> Fabrizio, renaming modules is out of scope of this proposal. Thanks for the
> question.
>
> On Tue, Feb 18, 2025 at 6:48 AM Francisco Javier Tirado Sarti <
> ftira...@redhat.com> wrote:
>
> > Hi Tibor,
> > Yes, of course you can have different build profiles, but this typically
> > indicates that we are putting together things that do not belong together.
> >
> > On Tue, Feb 18, 2025 at 12:30 PM Tibor Zimányi <tibor.zima...@gmail.com>
> > wrote:
> >
> > > Hi Francisco,
> > >
> > > having one Java repository doesn't mean PR checks need to build
> > everything
> > > in that repository. At the end it is Maven based. The structure you
> > mention
> > > as engine per repository can be a configuration thing in the Java one.
> > E.g.
> > > there could be Maven profiles like rules, dmn, bpmn, serverless-workflow,
> > > etc., that would build just a set of submodules. Maven is pretty
> > flexible,
> > > so it could be configured as we find the most useful.
> > >
> > > Best regards,
> > > Tibor
> > >
> > > Dňa ut 18. 2. 2025, 12:22 Francisco Javier Tirado Sarti <
> > > ftira...@redhat.com>
> > > napísal(a):
> > >
> > > > I forgot to mention, in my previous email, that my preferred repo
> > > > structure, one repo to store the common stuff that acts as library for
> > > the
> > > > different engines and one repo per each engine, where engine means:
> > > rules,
> > > > bpmn process, swf process and so on,  is simple from CI perspective.
> > > > When modifying the engine repo, we will  just compile the content of
> > the
> > > > engine repo being modified (optionally, we might compile the common
> > > stuff).
> > > > That will be far faster than the current approach (when you change SWF,
> > > you
> > > > just check SWF, when you change BPMN, you just check BPMn, and so on).
> > > > Currently, when we modify something in runtimes, we are compiling and
> > > > testing: codegen for all engines, bpmn, swf, quarkus, sprinboot, all
> > apps
> > > > and all examples (we are not compiling drools though). With one kie
> > repo,
> > > > we will compile and test everything (that will take a substantial
> > amount
> > > of
> > > > time and well, the red is there not because of the multi repos, but
> > > because
> > > > of some flaky test that is unrelated with the stuff you are modifying,
> > so
> > > > thinking that coalescing or separating repos fixes the unrelated red is
> > > > wishful thinking, I bet that it will make it worse for drools folks,
> > > which
> > > > currently are not slowed down by keycloak flaky test)
> > > > I know my proposal is not feasible because of historical reasons/lack
> > of
> > > > resources, but I think it was worth writing about, because it will
> > really
> > > > fix the "red flag" problem in most PRs ;)
> > > >
> > > >
> > > > On Tue, Feb 18, 2025 at 12:04 PM Toni Rikkola <rikk...@apache.org>
> > > wrote:
> > > >
> > > > > Right. I have been informed that this change will not introduce the
> > > > > problem I am describing, since it already exists.
> > > > >
> > > > > That means we are already in trouble, but this proposal does not
> > > increase
> > > > > them.
> > > > >
> > > > > +1
> > > > >
> > > > > Toni
> > > > >
> > > > > On 2025/02/18 09:56:38 Toni Rikkola wrote:
> > > > > > -1
> > > > > > I should use the Apache account for votes to count.
> > > > > >
> > > > > > Toni
> > > > > >
> > > > > > On 2025/02/18 09:18:20 Toni Rikkola wrote:
> > > > > > > I have very high doubts about this working and I really hope I
> > > > > understood
> > > > > > > this wrong.
> > > > > > >
> > > > > > > PRs sent to `kie` will be checked using a new GitHub Actions
> > > > > > > > hosted inside it and WON’T build `kie-extras`
> > > > > > >
> > > > > > >
> > > > > > >  A new weekly bot is created to update the versioned `kie` SHA at
> > > > > > > > `kie-extras` via PR. Contributors to `kie-extras` start their
> > > week
> > > > > > > > taking a look at it and working together to get that merged
> > ASAP.
> > > > > > >
> > > > > > >
> > > > > > > Each merged PR should have our code base in a state that works
> > from
> > > > > top to
> > > > > > > bottom.
> > > > > > > This is people working on kie pushing work for those working on
> > > > > kie-extras.
> > > > > > > Kie dev/vendor is losing time and/or money for the kie-extra devs
> > > and
> > > > > > > vendors.
> > > > > > > We are independent developers from the community perspective.
> > When
> > > > the
> > > > > kie
> > > > > > > PR is merged there is a task for someone to do and no requirement
> > > for
> > > > > > > anyone to do it.
> > > > > > > There isn't even a requirement for anyone to revert any commit.
> > So
> > > > now
> > > > > > > kie-extras dev needs to touch kie and undo work that was already
> > > > > approved
> > > > > > > or not do that and we fight about who fixes it.
> > > > > > > There is no guarantee the change done at kie is fixable in
> > > > kie-extras.
> > > > > Then
> > > > > > > it needs to be reverted in kie and that takes a week. The
> > > > repositories
> > > > > will
> > > > > > > be out of sync for 2 weeks.
> > > > > > >
> > > > > > > I do like the idea of reducing the repositories. Most bug fixes I
> > > > used
> > > > > to
> > > > > > > do hit 3-4 repositories and I spent weeks restarting the PR
> > builds
> > > > > every
> > > > > > > workday to get a full green. With this cycle even a 2 repo change
> > > can
> > > > > take
> > > > > > > months.
> > > > > > >
> > > > > > > -1.
> > > > > > >
> > > > > > > Toni
> > > > > > >
> > > > > > > On Tue, Feb 18, 2025 at 10:34 AM Kennedy Bowers <
> > > kbow...@apache.org>
> > > > > wrote:
> > > > > > >
> > > > > > > > +1
> > > > > > > >
> > > > > > > > On 2025/02/18 07:53:06 Yeser Amer wrote:
> > > > > > > > > +1
> > > > > > > > >
> > > > > > > > > Thank you.
> > > > > > > > >
> > > > > > > > > On 2025/02/17 23:23:14 Alex Porcelli wrote:
> > > > > > > > > > +1
> > > > > > > > > >
> > > > > > > > > > On Mon, Feb 17, 2025 at 6:22 PM Tiago Bento <
> > > > > tiagobe...@apache.org>
> > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Hi everyone,
> > > > > > > > > > >
> > > > > > > > > > > As a final attempt to shift the focus of the Apache KIE
> > > > > community
> > > > > > > > away
> > > > > > > > > > > from build systems and codebase structure and to allow us
> > > to
> > > > > move
> > > > > > > > > > > forward with a good release cadence while fostering
> > > > innovation
> > > > > in the
> > > > > > > > > > > Open-Source Business Automation space, Alex and I wrote
> > > what
> > > > > we hope
> > > > > > > > > > > to be the last infrastructure-related proposal from us
> > (for
> > > > > quite a
> > > > > > > > > > > while, at least).
> > > > > > > > > > >
> > > > > > > > > > > We sincerely believe that, if approved, this proposal
> > will
> > > > put
> > > > > Apache
> > > > > > > > > > > KIE in a very advantageous place to welcome new
> > > contributors,
> > > > > > > > > > > encourage current contributors to do their best work yet
> > > and
> > > > > multiply
> > > > > > > > > > > the reach of our technology to even more users. We hope
> > > > > everyone
> > > > > > > > > > > reading this feels heard as we try to incorporate all the
> > > > > feedback we
> > > > > > > > > > > gathered since our first day inside Apache.
> > > > > > > > > > >
> > > > > > > > > > > We opted to go for a [VOTE] directly to avoid risking an
> > > > > endless
> > > > > > > > > > > conversation again. While we understand this is not the
> > > > > preferred
> > > > > > > > > > > approach for contributing, this subject is still
> > sensitive
> > > > > enough for
> > > > > > > > > > > us to have chosen this method, hopefully for the last
> > time.
> > > > > > > > > > >
> > > > > > > > > > > Tiago and Alex.
> > > > > > > > > > >
> > > > > > > > > > > #
> > > > > > > > > > > # Problem scope
> > > > > > > > > > >
> > > > > > > > > > > Recently during the many threads that were raised in this
> > > > > mailing
> > > > > > > > > > > list, it became clear that there’s a general concern
> > about
> > > > the
> > > > > > > > > > > direction of the codebase structure and a continued
> > > feedback
> > > > > against
> > > > > > > > > > > the monorepo-ization of the Apache KIE codebase, which
> > > seems
> > > > > to be
> > > > > > > > > > > stealing our energy and making it impossible to focus on
> > > what
> > > > > we all
> > > > > > > > > > > do best: features and innovation.
> > > > > > > > > > >
> > > > > > > > > > > It’s also clear that the current infrastructure hasn’t
> > been
> > > > > helpful.
> > > > > > > > > > > The level of complexity necessary to maintain the current
> > > > > > > > repositories
> > > > > > > > > > > is holding us back from a more streamlined approach to PR
> > > > > checks and
> > > > > > > > > > > CI and, most importantly, to our releases, preventing us
> > > from
> > > > > > > > > > > maintaining a good cadence.
> > > > > > > > > > >
> > > > > > > > > > > This proposal brings a compromise to the table, between
> > the
> > > > > current
> > > > > > > > > > > poly-repo and a monorepo: a duo-repo, with one repo named
> > > > > `kie`,
> > > > > > > > > > > hosting all Java runtime code, and another repo named
> > > > > `kie-extras`,
> > > > > > > > > > > hosting everything else (including Docs, Examples,
> > > Websites,
> > > > > > > > Container
> > > > > > > > > > > images, Editors, Web apps, Quakus Dev UIs, Jenkins
> > release
> > > > > jobs etc).
> > > > > > > > > > >
> > > > > > > > > > > The duo-repo-ization of the Apache KIE codebase will
> > allow
> > > us
> > > > > to
> > > > > > > > > > > dramatically simplify the automations we have for PR
> > > checks,
> > > > > CI and
> > > > > > > > > > > release jobs as well as the operation for daily
> > > > contributions,
> > > > > > > > > > > stopping the dependence we have on SNAPSHOTs, for
> > example.
> > > > The
> > > > > > > > > > > ultimate goal is to replace the complicated
> > > > > `build-chain`-based PR
> > > > > > > > > > > checks and the custom Jenkins framework we have for
> > > > > CI/releases.
> > > > > > > > > > >
> > > > > > > > > > > #
> > > > > > > > > > > # What is not in scope
> > > > > > > > > > >
> > > > > > > > > > >   - Cross-repo PRs; as it leads to systems similar to
> > > > > `build-chain`
> > > > > > > > > > > and the custom Jenkins framework. We want to avoid going
> > in
> > > > > that
> > > > > > > > > > > direction again.
> > > > > > > > > > >   - Sparse-checkouts mechanism for `kie`; Due to the
> > > > > complexity of
> > > > > > > > > > > setting up something like this, and the other mechanisms
> > > that
> > > > > exist
> > > > > > > > to
> > > > > > > > > > > mitigate the increase in size of the repo, this won’t be
> > > > > pursued
> > > > > > > > > > > initially.
> > > > > > > > > > >   - A complete review of all repositories under
> > > > > > > > `apache/incubator-kie-*`
> > > > > > > > > > >
> > > > > > > > > > > #
> > > > > > > > > > > # The proposal
> > > > > > > > > > >
> > > > > > > > > > > Changes to repositories:
> > > > > > > > > > >   - `drools` is:
> > > > > > > > > > >       - Renamed to `kie`, keeping the most-starred
> > > repository
> > > > > we
> > > > > > > > have on
> > > > > > > > > > > GitHub.
> > > > > > > > > > >       - Updated to include `optaplanner`,
> > `kogito-runtimes`
> > > > and
> > > > > > > > > > > `kogito-apps`; preserving Git history.
> > > > > > > > > > >           - New top-level modules will be created for
> > each
> > > > > > > > repository,
> > > > > > > > > > > making things simpler at the beginning.
> > > > > > > > > > >           - Top-level modules prefixed with `drools-` go
> > > to a
> > > > > new
> > > > > > > > > > > folder called `drools`, and top-level modules prefixed
> > with
> > > > > `kie-` go
> > > > > > > > > > > to a new folder called `kie`.
> > > > > > > > > > >   - `kie-tools` is:
> > > > > > > > > > >       - Renamed to `kie-extras`; reflecting its
> > > > multi-purposed
> > > > > nature
> > > > > > > > > > > of hosting a variety of different package types
> > > > > > > > > > >   - `optaplanner`, `kogito-runtimes`, and `kogito-apps`
> > > are:
> > > > > > > > > > >       - Updated with READMEs/descriptions pointing to the
> > > new
> > > > > `kie`
> > > > > > > > repo
> > > > > > > > > > >       - Archived by Apache INFRA once `kie` is fully
> > > > > operational
> > > > > > > > > > >   - `kogito-pipelines` is:
> > > > > > > > > > >       - Updated with a disclaimer on its README saying
> > it’s
> > > > no
> > > > > > > > longer used.
> > > > > > > > > > >       - Archived by Apache INFRA once `kie` is fully
> > > > > operational
> > > > > > > > > > >
> > > > > > > > > > > Changes to automations:
> > > > > > > > > > >   - Jenkins is almost completely reset, except for a few
> > > jobs
> > > > > > > > > > > necessary for the Release Procedure [1].
> > > > > > > > > > >   - Timestamped SNAPSHOTs stop being published every
> > > Sunday.
> > > > > > > > > > >   - Regular SNAPSHOTs stop being published every day.
> > > > > > > > > > >   - `apache.snapshots` repository is cleaned up so that
> > no
> > > > > SNAPSHOTs
> > > > > > > > > > > are available anymore.
> > > > > > > > > > >   - PRs sent to `kie` will be checked using a new GitHub
> > > > > Actions
> > > > > > > > > > > hosted inside it and WON’T build `kie-extras`
> > > > > > > > > > >   - PRs sent to `kie-extras` will be checked as they
> > > already
> > > > > are,
> > > > > > > > with
> > > > > > > > > > > a new step at the beginning that will build (or fetch
> > from
> > > a
> > > > > cached
> > > > > > > > > > > GitHub Actions artifact) `kie` at a versioned commit SHA.
> > > > > > > > > > >   - A new weekly bot is created to update the versioned
> > > `kie`
> > > > > SHA at
> > > > > > > > > > > `kie-extras` via PR. Contributors to `kie-extras` start
> > > their
> > > > > week
> > > > > > > > > > > taking a look at it and working together to get that
> > merged
> > > > > ASAP.
> > > > > > > > > > >   - A new release job stored in `kie-extras` is created
> > to
> > > > > build and
> > > > > > > > > > > publish `kie` on a Release Candidate.
> > > > > > > > > > >
> > > > > > > > > > > Communication:
> > > > > > > > > > >   - Apache KIE’s website and documentation are updated to
> > > > > reflect the
> > > > > > > > > > > new duo-repo structure.
> > > > > > > > > > >
> > > > > > > > > > > ### Impact on operation and contributions
> > > > > > > > > > >
> > > > > > > > > > >   - Contributors to `optaplanner`, `kogito-runtimes` and
> > > > > > > > `kogito-apps`
> > > > > > > > > > > will move to `kie`
> > > > > > > > > > >   - PR checks will take the same time (or less, if we’re
> > > able
> > > > > to
> > > > > > > > > > > capitalize more on parallel builds, given every module is
> > > > > going to be
> > > > > > > > > > > part of the same build in Maven’s reactor).
> > > > > > > > > > >   - Unified Maven dependency management, less surface to
> > > > manage
> > > > > > > > > > > external dependencies.
> > > > > > > > > > >   - Contributions to `kie-extras` that depend on `kie`
> > will
> > > > > continue
> > > > > > > > > > > being bi-phased, the same way they are today with the
> > > > > timestamped
> > > > > > > > > > > SNAPSHOTs.
> > > > > > > > > > >
> > > > > > > > > > > ### Notes on SNAPSHOTs
> > > > > > > > > > >
> > > > > > > > > > >   - According to Apache’s guidelines on unreleased
> > > artifacts,
> > > > > we
> > > > > > > > > > > should be very conscious about our SNAPSHOT usage in
> > > regards
> > > > to
> > > > > > > > > > > encouraging users to consume them or even to depend on
> > > them.
> > > > > See
> > > > > > > > > > >
> > > > https://infra.apache.org/release-distribution.html#unreleased
> > > > > > > > > > >   - Users will always have access to the latest release
> > and
> > > > > will be
> > > > > > > > > > > encouraged to step on the development itself to access
> > the
> > > > > bleeding
> > > > > > > > > > > edge (Building 999-SNAPSHOT locally from `kie` @ `main`).
> > > > > > > > > > >   - Given the discrepancy between `kie` and `kie-extras`,
> > > to
> > > > > make CI
> > > > > > > > > > > simpler and not delve into cross-repo PR systems, it
> > would
> > > be
> > > > > > > > > > > confusing to have some SNAPSHOTs published from
> > > `kie-extras`
> > > > > that are
> > > > > > > > > > > not aligned with SNAPSHOTs from `kie`.
> > > > > > > > > > >   - Given the simplified structure of the codebase,
> > > > publishing
> > > > > > > > > > > SNAPSHOTs would encourage usage that’s either not aligned
> > > > with
> > > > > Apache
> > > > > > > > > > > or with our strategy of not having cross-repo PRs. We can
> > > > > revisit
> > > > > > > > that
> > > > > > > > > > > in the future if we find a justification for such. This
> > > > > proposal
> > > > > > > > > > > doesn’t want to get in the way of any future work, just
> > > > > establish a
> > > > > > > > > > > comprehensive baseline for us to evolve on top of.
> > > > > > > > > > >
> > > > > > > > > > > #
> > > > > > > > > > > # Actionable items (plan)
> > > > > > > > > > >
> > > > > > > > > > > Phase 1 (New structure)
> > > > > > > > > > >   - A new GitHub Actions workflow is created on `drools`
> > > for
> > > > PR
> > > > > > > > checks
> > > > > > > > > > > (without building any other repos)
> > > > > > > > > > >   - `optaplanner` is incorporated as a top-level folder
> > on
> > > > > `drools`,
> > > > > > > > > > > preserving Git history
> > > > > > > > > > >   - `optaplanner`’s README is updated, pointing to
> > `drools`
> > > > as
> > > > > its
> > > > > > > > new
> > > > > > > > > > > home. Contributions to it are frozen.
> > > > > > > > > > >   - `kogito-runtimes` is incorporated as a top-level
> > folder
> > > > on
> > > > > > > > > > > `drools`, preserving Git history
> > > > > > > > > > >   - `kogito-runtimes`’s README is updated, pointing to
> > > > > `drools` as
> > > > > > > > its
> > > > > > > > > > > new home. Contributions to it are frozen.
> > > > > > > > > > >   - `kogito-apps` is incorporated as a top-level folder
> > on
> > > > > `drools`,
> > > > > > > > > > > preserving Git history
> > > > > > > > > > >   - `kogito-apps`’s README is updated, pointing to
> > `drools`
> > > > as
> > > > > its
> > > > > > > > new
> > > > > > > > > > > home. Contributions to it are frozen.
> > > > > > > > > > >   - `drools` is renamed to `kie` (GitHub redirects will
> > > make
> > > > > sure
> > > > > > > > > > > users accessing/cloning `drools` automatically go to
> > `kie`)
> > > > > > > > > > >   - `kie`’s README is updated to reflect its new
> > top-level
> > > > > packages.
> > > > > > > > > > >   - `kie-tools` is renamed to `kie-extras`.
> > > > > > > > > > >   - `kie-tools` has its reference to `kie` updated to a
> > > > > versioned
> > > > > > > > > > > commit SHA, at the same time as its PR checks and CI are
> > > > > updated to
> > > > > > > > > > > build `kie` prior to building itself.
> > > > > > > > > > >
> > > > > > > > > > > Phase 2 (Cleanup)
> > > > > > > > > > >   - `build-chain`-based GitHub Actions are deleted from
> > all
> > > > > > > > repositories.
> > > > > > > > > > >   - The custom Jenkins framework jobs are removed from
> > > > Jenkins
> > > > > > > > > > >   - Update Documentation and Websites to reflect new
> > > codebase
> > > > > > > > structure
> > > > > > > > > > >
> > > > > > > > > > > Phase 3 (Release)
> > > > > > > > > > >   - A new release job is created on Jenkins (hosted on
> > > > > `kie-extras`)
> > > > > > > > > > > to release Maven modules from `kie`.
> > > > > > > > > > >   - The Release Procedure for 10.2 is updated to
> > > accommodate
> > > > > the new
> > > > > > > > > > > codebase structure
> > > > > > > > > > >
> > > > > > > > > > > Phase 4 (Archive Repos)
> > > > > > > > > > >   - kogito-pipelines, optaplanner, kogito-runtimes, and
> > > > > kogito-apps
> > > > > > > > > > > are archived by INFRA
> > > > > > > > > > >
> > > > > > > > > > > #
> > > > > > > > > > > # Commitment and rough timeline
> > > > > > > > > > >
> > > > > > > > > > > Alex and Tiago are fully committed to executing this
> > > proposal
> > > > > with a
> > > > > > > > > > > start date right after 10.1.0 is fully released (approved
> > > by
> > > > > IPMC and
> > > > > > > > > > > published to all external registries).
> > > > > > > > > > >
> > > > > > > > > > > The rough estimate to execute is about 4 weeks; with
> > [HEADS
> > > > > UP]s
> > > > > > > > > > > coming to the mailing list whenever a change approaches.
> > > > > > > > > > >
> > > > > > > > > > > 10.2.0 will be the first release already with the new
> > > > > structure,
> > > > > > > > where
> > > > > > > > > > > the new release jobs will be validated.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > [1]
> > > > > > > > > > >
> > > > > > > >
> > > > >
> > > >
> > >
> > https://docs.google.com/document/d/15V-1e62bmmWeOdFUnSJHymPYoeb0TTwp0bhxPuJn4zo
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > ---------------------------------------------------------------------
> > > > > > > > > > > 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
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > 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