VirtusLab / community-build3

Apache License 2.0
16 stars 7 forks source link

Add a SOP of how to submit projects #227

Closed He-Pin closed 1 year ago

He-Pin commented 1 year ago

HI, thanks for this, but there are many texts in the documents, is there any SOP for how to submit a project to the community build?

WojciechMazur commented 1 year ago

In case of published libraries there is no need to do that, they're automatically added based on data from ScalaDex. In case of open-source non-library or not yet published projects they can be added to https://github.com/VirtusLab/community-build3/blob/master/coordinator/configs/custom-projects.txt

Some of the projects might be filtered-out if they're non compliant, eg. they have build issues, require special environment or don't compile with any recent version of Scala for long time (are unmaintained). Such projects are enlisted here: https://github.com/VirtusLab/community-build3/blob/master/coordinator/configs/filtered-projects.txt

Each project might define it's config (HOCON) describing how should we handle it, eg. which JDK version to use, to exclude some legacy modules, add some sbt options, or disable compilation/running tests if they're buggy/flaky. It can be defined in projects top-level file or in our internal config maintained here: https://github.com/VirtusLab/community-build3/blob/master/coordinator/configs/projects-config.conf

Based on all of these we create a build plan enlisting projects which we should run, and their final config used when compiling them. We do this each automatically every Friday few hours before running the weekly build.

I'll try to write it down to make it more clear. Until this time there are 2 posts about Open CB and how it works:

He-Pin commented 1 year ago

Thanks for the detailed declaration.

WojciechMazur commented 1 year ago

Updated the ReadMe to contain all the required info.