digitalmars.D.learn - drone.io for D
- Daniel Davidson (1/1) Sep 26 2013 Is there an equivalent?
- Dicebot (9/10) Sep 27 2013 Judging by link it looks like yet another continuous integration
- Daniel Davidson (9/19) Sep 27 2013 drone.io is the first I've used (for Dart) and I think it is very
- Dicebot (6/6) Sep 27 2013 That is weird. I have used some common CI platforms like Jenkins
- Daniel Davidson (25/31) Sep 27 2013 To be clear it is not important to me that it be drone.io - again
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
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: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.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
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
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
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
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