elixir-mongo / mongodb

MongoDB driver for Elixir
Apache License 2.0
571 stars 156 forks source link

Bring this repo back to life! #365

Closed joeapearson closed 1 year ago

joeapearson commented 3 years ago

There are a number of things I believe we need to do to bring this repo back to life for the community:

There is plenty to do but I'd like to keep this particular issue in the scope of "project revival". We can look at other issues, bugs, feature requests and so on as separate issues.

I'm happy to take on the GitHub actions + developer contributing instructions work.

Please suggest anything else you think might be needed!

scottmessinger commented 3 years ago

These look awesome! If you could take the CI & dev contributing instructions, I can take care of getting the PRs merged in and triaging the issues/PRs!

joeapearson commented 3 years ago

Thanks Scott. I realised we probably need to decide which versions of Mongo and OTP will be officially supported going forward. I suggest:

scottmessinger commented 3 years ago

Those sound great to me! We're on Mongo 4.0.26 in production. We'll likely upgrade to 4.2 or 4.4 this winter.

As for Elixir, we're on OTP 23.2 and Elixir 1.11.4.

So, Mongo 4 and OTP v23 sound great and doable!

joeapearson commented 3 years ago

Alright that sounds good. I suggest we don't go out of our way to deprecate older versions but users that need it will either need to use an older version of this package or "at your own risk".

ankhers commented 3 years ago

I have already mentioned it to Scott but I'll say it here too. I don't actually use mongo anymore, but if there is anything I can do to help, let me know and I will do what I can.

fireproofsocks commented 3 years ago

I'd like to help out here if possible. Given the target items listed above, is there any way to evaluate which tickets (new or existing) should be given priority treatment?

joeapearson commented 3 years ago

@fireproofsocks excellent and yes please! I think best thing is for us to get a basic Ecto 3 support merged into master, we cut a beta release, and then we go to town on fixes / improvements and so on. Otherwise I think we're going to end up with a merge nightmare.

scottmessinger commented 3 years ago

@fireproofsocks Awesome! I think the biggest need right now is to get our CI setup on github actions working -- is that right, @joeapearson ?

scottmessinger commented 3 years ago

@joeapearson To coordinate, I created a project with everything I think we've listed so far.

https://github.com/elixir-mongo/mongodb/projects/1

I think we're good to cut a beta.1 release, no? Obviously, we need to do more to get this live, but since it supports ecto 3, seems like we can cut that release and start having people testing it. Let me know your thoughts!

joeapearson commented 3 years ago

Excellent. Yes I think we want the CI in place ASAP so we can accept contributions with confidence. I'm working on it in #370 . At least two issues are going to fall out of that work. There are the other outstanding issues too, which are in varying states of repair themselves (some of them are very old and I'm not sure relevant any more). These need going through too.

fireproofsocks commented 3 years ago

I think it's important to have support for AWS DocDB too... that's tough write tests against, but DocDB is likely going to be the version of "mongo" in many setups.

joeapearson commented 3 years ago

@fireproofsocks sure; let's keep that separate though. There is #273 already open but perhaps you might like to create a new issue and/or discussion to cover that.

joeapearson commented 3 years ago

Basic CI is ready in #370 pending Scott's review. PRs welcome for everything else. Have to go back to my proper job for a while :) .

scottmessinger commented 1 year ago

@joeapearson It took forever, but I published 1.0 and merged in your CI branch! Thanks!!!

scottmessinger commented 1 year ago

@joeapearson The one regret I have is we didn't find a way to make the changes to find_one_and_update non-breaking. I took a look at it before pushing 1.0 and I wasn't sure an easy path to making the change.

Frankly, I think the next step is actually to retire this driver and change the mongodb_ecto driver to use @zookzook's. I'm not sure how we'll do that, but I think that's a more sustainable path long term.