-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Description
Hello everyone!
As you might already notice, I'm more and more running out of time maintaining the huge Unicorn repo, since I have to be familiar with every details of the Unicorn project including different bindings and their distributions. This consumes huge amount of time on the design, testing, CI and distribution and hinders potential contributors. Now I think it is good chance to split the bindings out of our monorepo so that I can focus on the unicorn core semantics and thus I'm calling for contributors.
Generally, the process of the bindings split is that:
- I will create separate repos under
unicorn-engine
for different bindings. - If you are keen for contribution, you could leave a message here or contact me privately if you are shy. My contact is quite easy to find.
- At the very first beginning, I will help setup most things, explain our convention.
- You will be granted a basic role that can involve in reviewing PR. In this period, all PR will need a member's consent to go.
- Once we think you are mature enough, we will give you permission to merge PR without our consent.
Why does this benefit the community?
- Bindings version could be standalone and no longer bound to our main repo. This allows bindings faster release and iteration.
- The bar for contributors could be lower so that more people can participate.
- Contributions will be much easier because newcomers no longer need to deal with the whole big project.
- This makes our CI workflow easier and avoids bindings failure blocking our main release.
What's the potential side effects?
- Some applications might rely on assumption that the bindings version equal to the library version. This will break this assumption.
- Some downstream packaging will have to point to our new repos and thus need manual upgrading their scripts.
- Other thing I might miss.
Priority list and help wanted
- Java: We need to publish to maven.
- Golang: Need polish and better building process.
- Rust: need to use
unicorn
crate. - other minor bindings like zig ruby etc.
peace-maker
Metadata
Metadata
Assignees
Labels
No labels