Hi all,

As part of improving our release process and making it easier for the
Apache Incubator committee to review and validate our releases, I would
like to propose a shift towards a *monorepo setup* for ResilientDB.

Specifically, we suggest adding a new top-level *ecosystem/* folder inside
the existing *incubator-resilientdb
<https://github.com/apache/incubator-resilientdb>* repository. All our
ecosystem projects (currently spread across multiple repos) would be
consolidated here.
Motivation

   -

   *Simplified Release Process:* A single repository allows us to cut and
   vote on releases more easily, with clear visibility for the IPMC.
   -

   *Improved Organization:* Contributors, reviewers, and downstream users
   will find everything related to ResilientDB in one place, with consistent
   structure and governance.
   -

   *Attribution & History Retained:* By using *git subtree*, we will
   preserve commit history and attribution when migrating existing projects.
   -

   *Flexible Consumption:* Users who do not need the full repository can
   leverage *git sparse-checkout* to pull only the ecosystem subfolders
   they are interested in.





Implementation Plan

   1.

   Introduce a new ecosystem/ directory in the incubator-resilientdb repo.
   2.

   Gradually migrate ecosystem projects into this directory using *git
   subtree add*, ensuring history and attribution are retained.
   3.

   Configure existing github actions to not include the ecosystem folder,
   and introduce CI/CD checks for these folders gradually.
   4.

   Document usage of git sparse-checkout for contributors/users who prefer
   working with a subset of the repository.

This structure keeps our repository aligned with ASF release guidelines
while improving both contributor and reviewer experience.

Progress Plan

   -  An initial commit for this plan can be found here. This is obviously
   subject to change based on your feedback. -
   https://github.com/apache/incubator-resilientdb/pull/182

   There is an Open PR to correct  the current github workflow actions.
   https://github.com/apache/incubator-resilientdb/pull/183

   Documentation on usage can be found here and here
   https://github.com/apache/incubator-resilientdb/tree/master/ecosystem


Issues
   -   There is a github attribution visibility error, where the github
author names pop up, but their commits are linked under a single merge
commit. This might mostly be due to a bug in the way we added git subtrees,
but this might need some double checking. Regardless, if you have an
approach better than git subtrees or ways to rectify this bug , we would be
happy to discuss.

Looking forward to hearing your thoughts and feedback.

Best,
Harish Krishnakumar
PPMC Apache ResilientDB

Reply via email to