dlang / dub-registry

Online registry for dub packages
Boost Software License 1.0
82 stars 64 forks source link

Travis CI Integration #112

Open JakobOvrum opened 9 years ago

JakobOvrum commented 9 years ago

Many D projects on the registry use Travis CI for build testing, and Travis got official support for D last year.

I think it would be a cool feature if the registry could use this to display which compilers and compiler versions a library or application supports. I reckon it would be possible by looking at .travis.yml in the repository root as of the given version tag to see which versions are tested, then they can be verified to be working using the Travis API.

Prominently displaying this information not only helps users find libraries that are applicable to them, but also encourages package developers to use CI for their packages, as well as keeping their CI matrix up to date.

Just a crazy idea, not sure how much work it would be :)

MartinNowak commented 9 years ago

How much is already covered by http://shields.io/ and travis-ci badges?

JakobOvrum commented 9 years ago

None of it, as far as I can tell.

MartinNowak commented 9 years ago

We're trying to get DMD as stable as possible, which should reduce the need to lock the compiler version in the long term. Also we can't seriously suggest people to test the small library with 20 different D compiler versions, because that requires too many resources.

JakobOvrum commented 9 years ago

We're trying to get DMD as stable as possible, which should reduce the need to lock the compiler version in the long term.

Good point, although there is still a gap between the front-end used in the latest DMD opposed to the latest GDC or LDC. Of course we want to bridge this gap in the future, but until then, projects using the latest DMD often end up not supporting GDC or LDC. In practice I think very few developers limit themselves to older FE version X just to support GDC or LDC, and this would be a nice way to give credit to developers that do.

Also we can't seriously suggest people to test the small library with 20 different D compiler versions, because that requires too many resources.

True, we wouldn't want to do anything that might encourage developers to use a bigger build matrix than necessary.

wilzbach commented 8 years ago

On nice thing about Travis CI integration is that you could query their API and provide filters for passing/failing libraries - the latter I imagine to be quite useful.

wilzbach commented 8 years ago

Main question: do we want to 1) automatically query Travis to check whether the repo exists over their and get the build status 2) automatically search through the ReadMe for CI badges 3) require the user to specify a list of CI provider in the dub.sdl/dub.json