On Friday, 27 September 2013 at 11:52:46 UTC, Dicebot wrote:
That is weird. I have used some common CI platforms like
Jenkins for D projects with no issues. Those are simply
irrelevant to actual language used.
There must be something I am missing. Can you give quick
summary what drone.io is actually about? It is not clear from
their web site and I don't like to watch promo videos.
To be clear it is not important to me that it be drone.io - again
that is my first exposure to CI. But for Dart I have a github
repository containing a package with a bunch of tests that
succeed. I go to drone and create a project. In the process it
offers to select any of my github repositories and then you
select the language. A small script drives the *test* which is
usually just something that runs calls out to your test scripts.
The language you select allows the build to know what to do after
cloning your repository before calling your test. So for the case
of dart, it shows the version of dart being used (which they keep
as the latest version), then it does a *pub install* which
installs all your Dart package requirements, then it runs your
tests. If they pass your badge, which is a link to the status of
the latest build is green.
Here is a sample badge for a json schema validator:
https://drone.io/github.com/patefacio/json_schema/latest
The nice thing is, any time you commit to github a build is
automatically kicked off and you get notification of
success/failure.
I think the setup would work well with the right prereqs on the
box and with dub replacing pub for installing dependencies. Maybe
others are using something else - like Jenkins? It looks like
julia has a fair amount of this done with Travis. So what
does/should D users reach for?