Autotesting dub packages with dmd nightly
Sebastiaan Koppe via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sun Aug 7 03:59:59 PDT 2016
On Saturday, 6 August 2016 at 19:46:52 UTC, Seb wrote:
> That are excellent news!
Thanks.
> 1) Send the packages a notification about the build error (e.g.
> Github comment) - this should probably be tweaked a bit, s.t.
> it doesn't spam too often for still broken packages
I was thinking about having people register for notifications
themselves.
> 2) Allow easy, manual build of special branches for the core
> team.
I need something similar for dev/testing purposes as well. Since
I am using digger it is really easy to build whatever dmd + pull
request is needed. Problem is controlling access.
> 3) Once you have the API
> a) (try to) get a shield badge (-> http://shields.io/)
Nice find. Will use.
> b) Make the data available to the dub-registry (->
> https://github.com/dlang/dub-registry)
Sure.
> 4) Assess the quality of the unittests. Probably the easiest is
> `dub test -b unittest-cov`, and then summing up the total
> coverage of all generated .lst files
I am not sure this is a good idea. Besides the fact that coverage
doesn't correlate with quality, it is outside of the purpose for
this tool (identifying dmd regressions and identifying broken
packages).
> 5) Log your daily "broken" statistics - could be a good
> indicator of whether your hard work gets acknowledged.
I rather hear it from people than seeing it in the stats :)
> 6) Regarding linker errors - I can only redirect you to the
> open DUB issue (https://github.com/dlang/dub/issues/852) and
> DEP 5 (https://github.com/dlang/dub/wiki/DEP5).
It is an open problem and I don't wont to solve it. For now I
think I will just install the most important ones and just accept
that not all packages will be build.
On another note, I do think the dub package definition could use
some extra fields. Like compatible platforms and compatible dmd
versions. Take vibe.d for instance, it is specifically build for
certain dmd versions and it makes no sense for dubster to try to
compile it with an unsupported version. Also, it allows dub
itself to notify you of incompatible packages w.r.t. the
installed compiler. Same idea for platform.
More information about the Digitalmars-d-announce
mailing list