www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - drone.io for D

reply "Daniel Davidson" <nospam spam.com> writes:
Is there an equivalent?
Sep 26 2013
parent reply "Dicebot" <public dicebot.lv> writes:
On Thursday, 26 September 2013 at 21:08:31 UTC, Daniel Davidson 
wrote:
 Is there an equivalent?
Judging by link it looks like yet another continuous integration suite, is there anything more about it you are interested in? CI is usually not language-specific. If you are looking for one _written_ in D, though, only I am aware of is that runs CI for dmd/phobos (http://d.puremagic.com/test-results/) - https://github.com/braddr/d-tester (by Brad Roberts)
Sep 27 2013
parent reply "Daniel Davidson" <nospam spam.com> writes:
On Friday, 27 September 2013 at 11:22:43 UTC, Dicebot wrote:
 On Thursday, 26 September 2013 at 21:08:31 UTC, Daniel Davidson 
 wrote:
 Is there an equivalent?
Judging by link it looks like yet another continuous integration suite, is there anything more about it you are interested in? CI is usually not language-specific. If you are looking for one _written_ in D, though, only I am aware of is that runs CI for dmd/phobos (http://d.puremagic.com/test-results/) - https://github.com/braddr/d-tester (by Brad Roberts)
drone.io is the first I've used (for Dart) and I think it is very useful. I am also working on D and did not find it as a supported language. I'm not particularly interested in one written in D as much as for D. I would think lobbying/helping the drone.io team or one of the others include D as a supported language would be doable. Or if there is another system that D users are using? Further, IMHO having many of the dub packages set up to run tests and display a *passing* badge would give a positive signal.
Sep 27 2013
parent reply "Dicebot" <public dicebot.lv> writes:
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.
Sep 27 2013
parent reply "Daniel Davidson" <nospam spam.com> writes:
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?
Sep 27 2013
next sibling parent "Dicebot" <public dicebot.lv> writes:
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 :)
Sep 27 2013
prev sibling parent "Dicebot" <public dicebot.lv> writes:
P.S. all the github integration you are speaking about is pretty 
common among all CI software I am aware of, so it should be 
mostly hosting/environment issue for you.
Sep 27 2013