[DRIVERS-1891] Support official MongoDB Github Action Created: 19/Aug/21  Updated: 10/Nov/22

Status: Backlog
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Johnny Shields Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: cli-driven-atlas
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screen Shot 2021-08-30 at 12.58.41 PM.png    
Driver Changes: Not Needed

 Description   

(I'm not sure if DRIVERS is the appropriate JIRA, but raising here as a starter.)

Summary

Github has launched Github Actions which is rapidly becoming the #1 CI platform for open source, replacing Travis CI and many others.

Github Actions introduces the concept of "Marketplace Actions" in which you can perform a pre-test setup, such as initializing your database.

It would be great if MongoDB supported an official, open source GH Action. Currently people seem to be using this one:

https://github.com/supercharge/mongodb-github-action

As one example, Ruby is providing official Ruby actions here:

https://github.com/ruby/setup-ruby

Requirements

The action should support env variables to configure:

  • MongoDB version (3.6, 4.0, etc). Note that as this is for open source projects which often must maintain legacy support, having order versions is highly desirable.
  • Various topologies (standalone, replica set, sharded cluster)

In addition, it should work on various Linux, Windows, and Mac OS platforms.

The aforementioned links provide a good model of what & how to support.

Who would benefit?

  • Anyone building an open-source project on top of MongoDB. There are 1000s of such projects today.
  • Closed-source users using Github as their CI


 Comments   
Comment by Massimiliano Marcon [ 10/Nov/22 ]

Probably. Adding jakub.lazinski@mongodb.com to the conversation. Jakub, not sure if this is something y'all considered.

Comment by Johnny Shields [ 01/Sep/21 ]

Hi Andreas, I'm asking to have a GH Action which is supported and official, which should become the go-to GH Action used by the open source community. As far as I am aware, today that GH Action is https://github.com/supercharge/mongodb-github-action

Perhaps you could extract the action out of this drivers-evergreen-tools repo, and only support the action itself. The first problem here is the repo name–it should be something obvious like... well... "mongodb-github-action".

Make sense?

Comment by Andreas Braun [ 01/Sep/21 ]

Hi shields@tablecheck.com, most drivers use drivers-evergreen-tools to download and run MongoDB (and perform other tasks relevant for driver testing). This also includes a config file for GitHub actions, which allows us to re-use our existing tooling in a different CI environment. An example of how this is used can be found in the PHP driver; check this workflow for an example. The connection string is exposed as output variable in the step and can be used in an env variable (see relevant code).

Note that while drivers-evergreen-tools isn't a supported project, our internal tooling for most drivers builds on top of this. Please let us know if this is what you had in mind, or if you think there could be additional functionality provided by this tooling. Thank you for bringing up the topic!

Generated at Thu Feb 08 08:24:13 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.