digitalmars.D - Travis CI - Continuous Integration Testing Server
- Jacob Carlborg (23/23) Oct 25 2012 I've recently got some experience of a project called Travis CI. As the
- Paulo Pinto (7/31) Oct 25 2012 Personally I would rather use Jenkins as it is much more mature.
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (7/41) Oct 25 2012 You don't really have to do anything special other than set up build
- Jacob Carlborg (5/7) Oct 25 2012 Cool, I know about Jenkis but I didn't know about this. What software is...
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (11/16) Oct 26 2012 Oh, I probably gave off the wrong impression. It's not a public service
- Jacob Carlborg (4/19) Oct 26 2012 Oh, I see :(. I thought it looked fairly empty for a public service.
- pussinboots (14/14) Dec 19 2013 Hello d community,
- Dylan Knutson (3/6) Dec 19 2013 Hello! There's some related discussion going on about this in
- Paulo Pinto (6/62) Oct 26 2012 Yeah, just found out that all major build systems for native
- Jacob Carlborg (4/6) Oct 26 2012 But what about the compilers, i.e. DMD?
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (9/13) Oct 26 2012 Jenkins lets you run anything. A job can literally consist purely of a
- Jacob Carlborg (5/9) Oct 26 2012 I read your other post now, I thought it was a public service. Where you...
- Jacob Carlborg (6/8) Oct 25 2012 What I like about Travis is that they will host the builds/tests for
- Jens Mueller (12/41) Oct 25 2012 I've been using cloudbees.com which offers a similar service based on
- Jacob Carlborg (9/19) Oct 25 2012 Travis supports "make" and it probably supports shell scripts as well.
- Jens Mueller (6/28) Oct 26 2012 With Jenkins you can run any shell script. So I wrote a shell script
- David Nadlinger (22/35) Oct 26 2012 Yes, Travis is indeed a great service. We use it for LDC CI and
- Jacob Carlborg (7/19) Oct 27 2012 Absolutely, I just don't have any idea how I would add support for a new...
- Martin Nowak (9/11) Dec 19 2013 Totally works, I learned that from Masahiro.
- Jacob Carlborg (7/15) Dec 19 2013 I learned myself that you can use any language, it's just a matter of
I've recently got some experience of a project called Travis CI. As the title says it's a CI, Continuous Integration testing server for open source projects. They host all the building and testing, you just add a YAML configuration file and a github hook and then it can build and run your tests. It can also test pull requests. We already have somewhat similar setup for DMD and Phobos including pull requests. But this would be for everyone. I think it would be great if this was something that people start to use for their projects in the D community. This Travis started out as a build server for Ruby, where it's wildly used. Ruby on Rails among other projects are using it. It also supports other languages like C, C++, Scala, Go and many others. The only problem is that it doesn't support D and it only supports Linux. I already created an issue for adding support for D : https://github.com/travis-ci/travis-ci/issues/730 Unfortunately I haven't got any answers yet. Maybe we can push this somehow. There's also an issue about supporting Windows and Mac OS X. It seems something might happen in this area pretty soon: https://github.com/travis-ci/travis-ci/issues/216#issuecomment-9781919 https://travis-ci.org/ https://github.com/travis-ci/travis-ci -- /Jacob Carlborg
Oct 25 2012
On Thursday, 25 October 2012 at 19:10:39 UTC, Jacob Carlborg wrote:I've recently got some experience of a project called Travis CI. As the title says it's a CI, Continuous Integration testing server for open source projects. They host all the building and testing, you just add a YAML configuration file and a github hook and then it can build and run your tests. It can also test pull requests. We already have somewhat similar setup for DMD and Phobos including pull requests. But this would be for everyone. I think it would be great if this was something that people start to use for their projects in the D community. This Travis started out as a build server for Ruby, where it's wildly used. Ruby on Rails among other projects are using it. It also supports other languages like C, C++, Scala, Go and many others. The only problem is that it doesn't support D and it only supports Linux. I already created an issue for adding support for D : https://github.com/travis-ci/travis-ci/issues/730 Unfortunately I haven't got any answers yet. Maybe we can push this somehow. There's also an issue about supporting Windows and Mac OS X. It seems something might happen in this area pretty soon: https://github.com/travis-ci/travis-ci/issues/216#issuecomment-9781919 https://travis-ci.org/ https://github.com/travis-ci/travis-ciPersonally I would rather use Jenkins as it is much more mature. Actually, maybe I should look into how to do a D CI system with Jenkins. -- Paulo
Oct 25 2012
On 25-10-2012 23:35, Paulo Pinto wrote:On Thursday, 25 October 2012 at 19:10:39 UTC, Jacob Carlborg wrote:You don't really have to do anything special other than set up build jobs that invoke <build system you're using>: http://ci.lycus.org/ -- Alex Rønne Petersen alex lycus.org http://lycus.orgI've recently got some experience of a project called Travis CI. As the title says it's a CI, Continuous Integration testing server for open source projects. They host all the building and testing, you just add a YAML configuration file and a github hook and then it can build and run your tests. It can also test pull requests. We already have somewhat similar setup for DMD and Phobos including pull requests. But this would be for everyone. I think it would be great if this was something that people start to use for their projects in the D community. This Travis started out as a build server for Ruby, where it's wildly used. Ruby on Rails among other projects are using it. It also supports other languages like C, C++, Scala, Go and many others. The only problem is that it doesn't support D and it only supports Linux. I already created an issue for adding support for D : https://github.com/travis-ci/travis-ci/issues/730 Unfortunately I haven't got any answers yet. Maybe we can push this somehow. There's also an issue about supporting Windows and Mac OS X. It seems something might happen in this area pretty soon: https://github.com/travis-ci/travis-ci/issues/216#issuecomment-9781919 https://travis-ci.org/ https://github.com/travis-ci/travis-ciPersonally I would rather use Jenkins as it is much more mature. Actually, maybe I should look into how to do a D CI system with Jenkins. -- Paulo
Oct 25 2012
On 2012-10-25 23:50, Alex Rønne Petersen wrote:You don't really have to do anything special other than set up build jobs that invoke <build system you're using>: http://ci.lycus.org/Cool, I know about Jenkis but I didn't know about this. What software is available on the machines? -- /Jacob Carlborg
Oct 25 2012
On 26-10-2012 08:24, Jacob Carlborg wrote:On 2012-10-25 23:50, Alex Rønne Petersen wrote:Oh, I probably gave off the wrong impression. It's not a public service a la Travis at all; just some machines a couple of contributors and I put together in a Jenkins setup. All but one of the jobs on there are D jobs and I just wanted to show that you can trivially build any D software with it (see the console logs for the various builds) since Jenkins lets you run any shell commands you want. -- Alex Rønne Petersen alex lycus.org http://lycus.orgYou don't really have to do anything special other than set up build jobs that invoke <build system you're using>: http://ci.lycus.org/Cool, I know about Jenkis but I didn't know about this. What software is available on the machines?
Oct 26 2012
On 2012-10-26 09:48, Alex Rønne Petersen wrote:On 26-10-2012 08:24, Jacob Carlborg wrote:Oh, I see :(. I thought it looked fairly empty for a public service. -- /Jacob CarlborgOn 2012-10-25 23:50, Alex Rønne Petersen wrote:Oh, I probably gave off the wrong impression. It's not a public service a la Travis at all; just some machines a couple of contributors and I put together in a Jenkins setup. All but one of the jobs on there are D jobs and I just wanted to show that you can trivially build any D software with it (see the console logs for the various builds) since Jenkins lets you run any shell commands you want.You don't really have to do anything special other than set up build jobs that invoke <build system you're using>: http://ci.lycus.org/Cool, I know about Jenkis but I didn't know about this. What software is available on the machines?
Oct 26 2012
Hello d community, i started programming with D yesterday and from some scala play project know travis ci and love it. So i write a little .travis,yml file for a simple vibe.d project on github (https://github.com/pussinboots/dfirstweb) . Maybe it gives you the impression back and for all they start with D travis ci is a very powerful contenious integration tool also when it comes to continous deployment with heroku. The next day i will try to get run a D project on heroku, maybe it is possible like build D with travis ci (https://travis-ci.org/pussinboots/dfirstweb). nice day and have fun with D
Dec 19 2013
On Thursday, 19 December 2013 at 17:58:56 UTC, pussinboots wrote:Hello d community, ... nice day and have fun with DHello! There's some related discussion going on about this in http://forum.dlang.org/thread/axhtisdbckvajqcgazbu forum.dlang.org
Dec 19 2013
On Thursday, 25 October 2012 at 21:50:13 UTC, Alex Rønne Petersen wrote:On 25-10-2012 23:35, Paulo Pinto wrote:Yeah, just found out that all major build systems for native languages (scons, cmake, ...) are already supported. -- PauloOn Thursday, 25 October 2012 at 19:10:39 UTC, Jacob Carlborg wrote:You don't really have to do anything special other than set up build jobs that invoke <build system you're using>: http://ci.lycus.org/I've recently got some experience of a project called Travis CI. As the title says it's a CI, Continuous Integration testing server for open source projects. They host all the building and testing, you just add a YAML configuration file and a github hook and then it can build and run your tests. It can also test pull requests. We already have somewhat similar setup for DMD and Phobos including pull requests. But this would be for everyone. I think it would be great if this was something that people start to use for their projects in the D community. This Travis started out as a build server for Ruby, where it's wildly used. Ruby on Rails among other projects are using it. It also supports other languages like C, C++, Scala, Go and many others. The only problem is that it doesn't support D and it only supports Linux. I already created an issue for adding support for D : https://github.com/travis-ci/travis-ci/issues/730 Unfortunately I haven't got any answers yet. Maybe we can push this somehow. There's also an issue about supporting Windows and Mac OS X. It seems something might happen in this area pretty soon: https://github.com/travis-ci/travis-ci/issues/216#issuecomment-9781919 https://travis-ci.org/ https://github.com/travis-ci/travis-ciPersonally I would rather use Jenkins as it is much more mature. Actually, maybe I should look into how to do a D CI system with Jenkins. -- Paulo
Oct 26 2012
On 2012-10-26 09:21, Paulo Pinto wrote:Yeah, just found out that all major build systems for native languages (scons, cmake, ...) are already supported.But what about the compilers, i.e. DMD? -- /Jacob Carlborg
Oct 26 2012
On 26-10-2012 09:46, Jacob Carlborg wrote:On 2012-10-26 09:21, Paulo Pinto wrote:Jenkins lets you run anything. A job can literally consist purely of a series of shell commands that must all return 0 in order for the build to succeed. So, as long as the software you need is installed on the machine Jenkins (or a slave) is running on, you can run it in builds. -- Alex Rønne Petersen alex lycus.org http://lycus.orgYeah, just found out that all major build systems for native languages (scons, cmake, ...) are already supported.But what about the compilers, i.e. DMD?
Oct 26 2012
On 2012-10-26 09:49, Alex Rønne Petersen wrote:Jenkins lets you run anything. A job can literally consist purely of a series of shell commands that must all return 0 in order for the build to succeed. So, as long as the software you need is installed on the machine Jenkins (or a slave) is running on, you can run it in builds.I read your other post now, I thought it was a public service. Where you don't necessarily control the machines. -- /Jacob Carlborg
Oct 26 2012
On 2012-10-25 23:35, Paulo Pinto wrote:Personally I would rather use Jenkins as it is much more mature. Actually, maybe I should look into how to do a D CI system with Jenkins.What I like about Travis is that they will host the builds/tests for free. I think that's a huge difference and lowers the barrier to start with CI testing. -- /Jacob Carlborg
Oct 25 2012
Jacob Carlborg wrote:I've recently got some experience of a project called Travis CI. As the title says it's a CI, Continuous Integration testing server for open source projects. They host all the building and testing, you just add a YAML configuration file and a github hook and then it can build and run your tests. It can also test pull requests. We already have somewhat similar setup for DMD and Phobos including pull requests. But this would be for everyone. I think it would be great if this was something that people start to use for their projects in the D community. This Travis started out as a build server for Ruby, where it's wildly used. Ruby on Rails among other projects are using it. It also supports other languages like C, C++, Scala, Go and many others. The only problem is that it doesn't support D and it only supports Linux. I already created an issue for adding support for D : https://github.com/travis-ci/travis-ci/issues/730 Unfortunately I haven't got any answers yet. Maybe we can push this somehow. There's also an issue about supporting Windows and Mac OS X. It seems something might happen in this area pretty soon: https://github.com/travis-ci/travis-ci/issues/216#issuecomment-9781919 https://travis-ci.org/ https://github.com/travis-ci/travis-ciI've been using cloudbees.com which offers a similar service based on Jenkins. Since Jenkins supports shell scripts to drive the build it was fairly easy to support D (see https://gluey.ci.cloudbees.com/job/ddl/). You can add your own systems for executing the builds (but I have never done this myself). I'm not sure whether pull requests are supported. They have reduced prices for FOSS projects. http://www.cloudbees.com/foss/index.cb It's very nice to have automated and tested builds for free. Jens
Oct 25 2012
On 2012-10-25 23:47, Jens Mueller wrote:I've been using cloudbees.com which offers a similar service based on Jenkins. Since Jenkins supports shell scripts to drive the build it was fairly easy to support D (see https://gluey.ci.cloudbees.com/job/ddl/).Travis supports "make" and it probably supports shell scripts as well. But what about installed software?You can add your own systems for executing the builds (but I have never done this myself). I'm not sure whether pull requests are supported. They have reduced prices for FOSS projects. http://www.cloudbees.com/foss/index.cb It's very nice to have automated and tested builds for free.Yeah, as I replied to another post: What I like about Travis is that they will host the builds/tests and do it for free. I think that's a huge difference and lowers the barrier to start with CI testing. -- /Jacob Carlborg
Oct 25 2012
Jacob Carlborg wrote:On 2012-10-25 23:47, Jens Mueller wrote:With Jenkins you can run any shell script. So I wrote a shell script that downloads and install dmd and continue. Probably that can be simplified using dvm.I've been using cloudbees.com which offers a similar service based on Jenkins. Since Jenkins supports shell scripts to drive the build it was fairly easy to support D (see https://gluey.ci.cloudbees.com/job/ddl/).Travis supports "make" and it probably supports shell scripts as well. But what about installed software?It is. It's amazing how much you can automate these days for free. JensYou can add your own systems for executing the builds (but I have never done this myself). I'm not sure whether pull requests are supported. They have reduced prices for FOSS projects. http://www.cloudbees.com/foss/index.cb It's very nice to have automated and tested builds for free.Yeah, as I replied to another post: What I like about Travis is that they will host the builds/tests and do it for free. I think that's a huge difference and lowers the barrier to start with CI testing.
Oct 26 2012
On Thursday, 25 October 2012 at 19:10:39 UTC, Jacob Carlborg wrote:I've recently got some experience of a project called Travis CI. As the title says it's a CI, Continuous Integration testing server for open source projects. They host all the building and testing, you just add a YAML configuration file and a github hook and then it can build and run your tests. It can also test pull requests.Yes, Travis is indeed a great service. We use it for LDC CI and pull request testing (sadly, it is x86_32 only right now, but apparently the platform is supposed to be moved to 64 bit machines soon).This Travis started out as a build server for Ruby, where it's wildly used. Ruby on Rails among other projects are using it. It also supports other languages like C, C++, Scala, Go and many others. The only problem is that it doesn't support D and it only supports Linux.Well, »it doesn't support D« is true in that there is no built-in support for it, but you are allowed to install arbitrary software on the system as part of your installation scripts (for example, the LDC pre-build hooks install LLVM and libconfig++). The most straightforward way would be to set up an Ubuntu PPA containing the DMD/GDC/LDC versions you need. But it would probably be a wise idea to coordinate with the Travis guys anyway, to avoid that suddenly some two hundred D projects all pull in the same packages from a server not in the Travis network…Unfortunately I haven't got any answers yet. Maybe we can push this somehow.I'd try to approach the Travis people in #travis on FreeNode – from my experience, they are quite responsive there. Also note that all of Travis is open source, so I'm sure the process would be much quicker if there was an actual patch adding D support to discuss. David
Oct 26 2012
On 2012-10-26 15:28, David Nadlinger wrote:Well, »it doesn't support D« is true in that there is no built-in support for it, but you are allowed to install arbitrary software on the system as part of your installation scripts (for example, the LDC pre-build hooks install LLVM and libconfig++). The most straightforward way would be to set up an Ubuntu PPA containing the DMD/GDC/LDC versions you need. But it would probably be a wise idea to coordinate with the Travis guys anyway, to avoid that suddenly some two hundred D projects all pull in the same packages from a server not in the Travis network…Ok, I didn't know you could do that.I'd try to approach the Travis people in #travis on FreeNode – from my experience, they are quite responsive there. Also note that all of Travis is open source, so I'm sure the process would be much quicker if there was an actual patch adding D support to discuss.Absolutely, I just don't have any idea how I would add support for a new language, that's partly why I created the issue. The IRC channel seems like a good idea, thanks. -- /Jacob Carlborg
Oct 27 2012
On 10/25/2012 09:10 PM, Jacob Carlborg wrote:The only problem is that it doesn't support D and it only supports Linux. I already created an issue for adding support for D :Totally works, I learned that from Masahiro. https://travis-ci.org/MartinNowak/bloom https://travis-ci.org/MartinNowak/hyphenate https://travis-ci.org/MartinNowak/lock-free https://travis-ci.org/msgpack/msgpack-d One problem is that the existing dmd release is huge and the apt package will drag in gcc-multilib which is even bigger. So for now I used ldc.
Dec 19 2013
On 2013-12-19 21:03, Martin Nowak wrote:Totally works, I learned that from Masahiro. https://travis-ci.org/MartinNowak/bloom https://travis-ci.org/MartinNowak/hyphenate https://travis-ci.org/MartinNowak/lock-free https://travis-ci.org/msgpack/msgpack-d One problem is that the existing dmd release is huge and the apt package will drag in gcc-multilib which is even bigger. So for now I used ldc.I learned myself that you can use any language, it's just a matter of what's installed by default. They've added some initial support now: https://github.com/travis-ci/travis-cookbooks/commit/01e725208a755508529eec28f074f6bbef6c319f -- /Jacob Carlborg
Dec 19 2013