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 :)

Reply via email to