>
> has anyone done the
> equivalent planning work to actually surface a pros/cons; ex: what would
> the tooling need to look like to address the problems and maintain the
> current repo structure?

Not that I know of, but it's worth exploring first.

I am not sure I understand how documentation improves by having a monorepo.

Documentation doesn't magically improve. You still have to do the work.

it seems just as straightforward to invest in the ability to "treat
> a number of highly inter-related projects as" coupled,

Guidance on this more straightforward way? This RFC contends a monorepo is
the straight-forward ability.

Best

Evan Jones
Website: www.ea-jones.com


On Tue, Jan 30, 2024 at 8:16 PM Austin Bennett <aus...@apache.org> wrote:

> On: ASF Admin's don't understand project health due to repo structure --
> i disagree with the idea that itshould at all inform/dictate how work gets
> structured and completed by the Flagon project.
>
> I am not sure I understand how documentation improves by having a
> monorepo.  I guess if pitched about a single README section.  Open Source
> projects commonly have docs that get autogenerated and published to a
> webpage, and can be done so from a number of disparate repos to a single
> location.
>
> Off handed, it seems just as straightforward to invest in the ability to
> "treat
> a number of highly inter-related projects as" coupled, than to refactor
> repos and invest in alternative testing infra. Either way, the problem
> outlined appears actually to surface the urgency for increasingly robust
> CI?
>
> The rest is docs and education, which can be handled in a number of ways.
>
> I don't buy the necessity of a monorepo, but *I accept the preferences of
> those that will choose to do the work*. Wondering: has anyone done the
> equivalent planning work to actually surface a pros/cons; ex: what would
> the tooling need to look like to address the problems and maintain the
> current repo structure?
>
> On Tue, Jan 30, 2024 at 2:18 PM Joshua Poore <poor...@apache.org> wrote:
>
> > The idea is growing on me—I’m pretty sure we can generate Pypi and NPM
> > releases from the same repo, different folders.
> >
> > Agree that now is the time to do it before user base on Distill grows.
> >
> > I do think we should run a consensus/community VOTE on this. Let me
> > refresh myself on which ruleset we should use for this. It’s a big
> change,
> > so may need to fall under the same guidelines as RELEASE.
> >
> > Josh
> >
> > > On Jan 30, 2024, at 4:05 PM, Evan Jones <evan.a.jon...@gmail.com>
> wrote:
> > >
> > > *When should this process begin? *In terms of where UserALE and
> currently
> > > are.**
> > > I want to get all *non-breaking* PRs merged into UserALE/test and
> > > Distill/main and then do a new release of each of them, assuming there
> > are
> > > changes to release. UserALE has been queued up for a 2.4.0 for quite
> some
> > > time. I don't think we have anything new for Distill. That way the
> > monorepo
> > > consolidation would happen on top of clean releases.
> > >
> > > I want to start the monorepo migration ASAP which means getting these
> > > releases in progress ASAP.
> > >
> > > *The scope and sequence of the changes? Roadmap for the migration?*
> > > If by scope you mean what aspects of the code base does this touch and
> > > who's impacted, then the answer to the former is all aspects -- albeit
> > > purely in a structural way -- and the answer to the latter is
> > > contributors/devs only. Nothing about our individual projects will
> change
> > > to start except they'll all be moved into the Flagon repo as
> > > sub-directories. Within those directories, everything will be identical
> > to
> > > how they are currently. The only real repo that will see changes is the
> > > Flagon repo.
> > >
> > > Because of this consolidation, the way developers contribute to the
> > > projects will change. People will fork the Flagon Suite repo and merge
> > back
> > > into it regardless of the flagon product (distill, userale) they're
> > > contributing to. Each project will still be released the same way.
> > >
> > > On the ASF side, we would have a single release process for the entire
> > > Flagon project, rather than different releases for different
> > sub-projects.
> > > My hope is this vastly lowers overhead.
> > >
> > > The steps proposed above are the roadmap, more or less. As far as
> > timeline
> > > goes, I think the biggest bottleneck will be getting the current
> releases
> > > out. I believe I can do the consolidation into a single repo in one
> > weekend.
> > >
> > > *For documentation, do we intend to use ReadTheDocs and Sphinx? Any
> > others
> > > that you might know of?*
> > >
> > > All documentation and website files would be stored in a single
> directory
> > > in the repo. It sits alongside userale, distill, etc. The API
> > documentation
> > > for each project should leverage automated doc generators:
> > >
> > >   - Distill = Sphinx + PyDoc --> ReadTheDocs
> > >   - UserALE = Sphinx + JsDoc --> ReadTheDocs
> > >
> > > The main flagon website should be the primary source of documentation
> for
> > > things like tutorials, getting started, concept definitions, etc. It
> can
> > > then point to the ReadTheDocs pages for each of packages' API
> documents.
> > >
> > > The overhauling of the documentation is not really couple to the
> monorepo
> > > migration, though. The monorepo migration merely lowers to burden of
> the
> > > workflow I describe above by centralizing everything.
> > >
> > > *I think we should set up a robust CI/CD pipeline to handle the
> monorepo
> > to
> > > ensure that all projects are integrated seamlessly and that automated
> > tests
> > > are in place for the monorepo.*
> > >
> > > Yes.
> > >
> > > Best
> > >
> > > Evan Jones
> > > Website: www.ea-jones.com
> > >
> > >
> > > On Tue, Jan 30, 2024 at 2:21 PM Amir Ghaemi <agha...@umd.edu> wrote:
> > >
> > >> Hi Evan,
> > >>
> > >> I support this monorepo structure - as you stated, there are
> > >> several benefits of consolidating the Apache Flagon projects. Just a
> few
> > >> questions/suggestions:
> > >>
> > >>   - Do you have a timeline in mind for:
> > >>
> > >>
> > >>   - When should this process begin? *In terms of where UserALE and
> > Distill
> > >>      currently are.*
> > >>      - The scope and sequence of the changes? Roadmap for the
> migration?
> > >>
> > >>
> > >>   - For documentation, do we intend to use ReadTheDocs and Sphinx? Any
> > >>   others that you might know of?
> > >>   - I think we should set up a robust CI/CD pipeline to handle the
> > >>   monorepo to ensure that all projects are integrated seamlessly and
> > that
> > >>   automated tests are in place for the monorepo.
> > >>
> > >>
> > >> Best,
> > >> *Amir M. Ghaemi*
> > >>
> > >> On Thu, Jan 25, 2024 at 3:01 PM Evan Jones <evan.a.jon...@gmail.com>
> > >> wrote:
> > >>
> > >>> There are likely a few more steps:
> > >>>
> > >>> 1. Send a do not merge email for all repos
> > >>> 2. Add userale/distill code, git tree, and github actions to the
> flagon
> > >>> repo
> > >>> 3. *Consolidate documents into a single repo*
> > >>> 4. *Migrate to a build tool for monorepos like Bazel* (example:
> > >>>
> > https://github.com/thundergolfer/example-bazel-monorepo/tree/master/cli;
> > >>> Beam uses gradle)
> > >>> 5. Mark userale/distill repos as archived and update read me with a
> > link
> > >>> 6. Send a merge freely email
> > >>> 7. Update flagon readme and flagon site links
> > >>>
> > >>> The bolded things could happen after the structural changes depending
> > on
> > >>> our priorities. If we implement those changes as part of the
> migration
> > it
> > >>> would simplify contribution conventions post migration but slow
> things
> > >> down
> > >>> in the short-term. If we implement them after, we'll open back up to
> > >> merges
> > >>> faster but the repo will be in a "dirty" state for longer as we
> > >> transition
> > >>> to monorepo best practices.
> > >>>
> > >>>> I don't think there's anything besides the flagon site that points
> to
> > >> any
> > >>> github repo, but I'm not sure.
> > >>>
> > >>> We definitely want to check our p's and q's though, especially on the
> > >>> Apache side. Are the Distill, UserALE and Flagon repos treated as
> > >> separate
> > >>> projects / releases in the eyes of Apache or are their releases all
> > >> bundled
> > >>> into Flagon releases?
> > >>>
> > >>> Best
> > >>>
> > >>> Evan Jones
> > >>> Website: www.ea-jones.com
> > >>>
> > >>>
> > >>> On Thu, Jan 25, 2024 at 10:40 AM Jason Young <j...@apache.org> wrote:
> > >>>
> > >>>> I'm all for a monorepo. Especially because it's hard to get
> visibility
> > >>>> into a single project when its spread across multiple repos in the
> sea
> > >> of
> > >>>> the Apache GitHub org.
> > >>>>
> > >>>> Are these what the steps look like for moving to a monorepo?
> > >>>>
> > >>>> 1. Send a do not merge email for all repos
> > >>>> 2. Add userale/distill code, git tree, and github actions to the
> > flagon
> > >>>> repo
> > >>>> 3. Mark userale/distill repos as archived and update read me with a
> > >> link
> > >>>> 4. Send a merge freely email
> > >>>> 5. Update flagon readme and flagon site links
> > >>>>
> > >>>> I don't think there's anything besides the flagon site that points
> to
> > >> any
> > >>>> github repo, but I'm not sure.
> > >>>>
> > >>>> On 2024/01/17 00:36:41 Evan Jones wrote:
> > >>>>> Hi all,
> > >>>>>
> > >>>>> I've recently had more bandwidth to contribute to Flagon.
> Recently, I
> > >>>>> helped with the release of Flagon-Distill v0.1.0 and am leading up
> > >> the
> > >>>>> instrumentation team at ARLIS. My goal is for us to ramp up our
> > >>>>> contribution to the Flagon suite.
> > >>>>>
> > >>>>> After spending quite a bit of time thinking about Flagon, I've come
> > >> to
> > >>>>> believe the best way for Flagon to deliver truly differentiated
> value
> > >>> to
> > >>>>> end users is to deliver on the original vision of all the
> > >> sub-projects:
> > >>>>>
> > >>>>>   - UserALE for instrumentation
> > >>>>>   - Distill for analytics
> > >>>>>   - STOUT as a UI for the analytics, metrics, and experiment
> > >>>>>   - TAP (re-envisioned) as the infrastructure platform to connect
> > >> all
> > >>>>>   those pieces
> > >>>>>
> > >>>>> By eventually building all these pieces, Flagon could be a very
> > >> strong
> > >>>>> open-source alternative to services like Google Analytics,
> LogRocket,
> > >>> and
> > >>>>> others. I intend to socialize the above vision more in the future.
> > >> For
> > >>>> now
> > >>>>> I digress since that's not the point of this email.
> > >>>>>
> > >>>>> The point of this email is to share an RFC
> > >>>>> <
> > >>>>
> > >>>
> > >>
> >
> https://docs.google.com/document/d/1xxZDchgjLswbzWpVz0GcRlLqLCEygW_cTvcLhsombtk/edit?usp=sharing
> > >>>>>
> > >>>>> for *an overhaul I believe needs to happen as a precursor to
> > >> achieving
> > >>>> the
> > >>>>> above vision*.
> > >>>>>
> > >>>>> *Please share feedback, comments and concerns right on the google
> > >> doc*.
> > >>>>> I've also opened a GH issue <
> > >>> https://github.com/apache/flagon/issues/44>
> > >>>> if
> > >>>>> folks would like to contribute to the conversation there, though I
> > >>> prefer
> > >>>>> to keep as much commentary within the document itself to simplify
> > >>>> collation
> > >>>>> later.
> > >>>>>
> > >>>>> Many thanks!
> > >>>>>
> > >>>>> Best
> > >>>>>
> > >>>>> Evan Jones
> > >>>>>
> > >>>>
> > >>>
> > >>
> >
> >
>

Reply via email to