drone.io for D

Dicebot public at dicebot.lv
Fri Sep 27 05:57:47 PDT 2013


On Friday, 27 September 2013 at 12:47:19 UTC, Daniel Davidson 
wrote:
> 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?

Ah I see. Most often such software is run on own server and 
environment is fully controlled. For example, I am hosting 
Jenkins-based suite for Volt developers: 
https://jenkins.dicebot.lv

Regarding CI as a public service, it still should be possible to 
use it with D if it supports job dependencies and has basic C/C++ 
tools available. You can always define build dmd/phobos job and 
make your project depend on it, with tiny bit of include path 
tweaking. That may be much more cumbersome than you want though.

There are also some plans for doing automated CI for all projects 
located in dub registry. I have recently discussed this with 
Sonke (dub author) and going to try that at least with Linux 
build slave. Prototype may be available by the end of the autumn 
(rough terms). This is still not exactly dart.io though

Easiest way here may be to simply convience 
https://travis-ci.org/ guys to add native D support - but I don't 
know how to approach them :)


More information about the Digitalmars-d-learn mailing list