digitalmars.D - pyd - continuous integration
- Ellery Newcomer (10/10) Jun 09 2014 So pyd is at the point where it really needs some sort of test
- MattCoder (4/8) Jun 09 2014 Well done! -If you want a suggestion I think you should starting
- Kapps (17/27) Jun 09 2014 Bamboo can be hosted locally on your own machines without having
- Russel Winder via Digitalmars-d (35/46) Jun 10 2014 Unless there is an extant user base for 2.4 and 2.5, I would drop them
- David Gileadi (4/44) Jun 10 2014 In regards to setting up virtual machines the folks at my work use
- Atila Neves (5/81) Jun 10 2014 If you can spare the time / HW resources, I'd probably go with
- Ellery Newcomer (7/11) Jun 10 2014 I stumbled on vagrant a few months ago but haven't had a chance
- Jacob Carlborg (4/7) Jun 11 2014 Travis CI does have that. But it currently doesn't support Windows.
- Jacob Carlborg (5/14) Jun 10 2014 Travis CI supports multi-platform, currently Linux (Ubuntu) and OS X.
So pyd is at the point where it really needs some sort of test suite runner. It's kind of complicated since I need to test against * multiple versions of dmd/ldc/gdc * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year) * redhat, ubuntu, osx, windows, etc Does anyone have any suggestions on how or where to set this up? I had a peek at atlassian bamboo, but it looks like it only plays with ec2, which I don't know anything about.
Jun 09 2014
On Monday, 9 June 2014 at 22:37:20 UTC, Ellery Newcomer wrote:So pyd is at the point where it really needs some sort of test suite runner. * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year)Well done! -If you want a suggestion I think you should starting support for: +2.6! Matheus.
Jun 09 2014
On Monday, 9 June 2014 at 22:37:20 UTC, Ellery Newcomer wrote:So pyd is at the point where it really needs some sort of test suite runner. It's kind of complicated since I need to test against * multiple versions of dmd/ldc/gdc * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year) * redhat, ubuntu, osx, windows, etc Does anyone have any suggestions on how or where to set this up? I had a peek at atlassian bamboo, but it looks like it only plays with ec2, which I don't know anything about.Bamboo can be hosted locally on your own machines without having to deal with EC2 in any way. It's just that if you want remote test runners (as well as not being free unless you can get an open source license from Atlassian), EC2 is one of the available options to run instances on. I actually use Bamboo with a plugin I made (https://shardsoft.com/stash/projects/SHARD/repos/dubplug/browse) for my own stuff, but this plugin is far from being complete and doesn't really handle dependencies at all (as well as currently relying on the text format of test output with 'tested' not changing...). I have my instance running on my server, with the web interface at https://shardsoft.com/bamboo/browse/SHARD-SHTOOLS. A very popular choice for D users is TravisCI, which I believe is free for open source and by default handles multiple platforms, something which Bamboo does not easily do in the $10 version.
Jun 09 2014
On Mon, 2014-06-09 at 22:37 +0000, Ellery Newcomer via Digitalmars-d wrote:So pyd is at the point where it really needs some sort of test suite runner. It's kind of complicated since I need to test against * multiple versions of dmd/ldc/gdc * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year)Unless there is an extant user base for 2.4 and 2.5, I would drop them with immediate effect, which would allow to upgrade to a reasonable Python code quality. There are very few people still stuck with 2.5 even fewer with 2.4 and increasingly 2.6 is going away (but not totally thanks to Red Hat :-( I suggest ignoring 3.0, 3.1 and 3.2, and supporting only 3.3 and later. This gives a much greater chance of having a single Python codebase executable with either 2.7 or 3.3/3.4. So if you can drop 2.6 as well, things get almost livable with. Personally I only use 3.4, but there are those who will not upgrade and insist on using 2.7.* redhat, ubuntu, osx, windows, etcFedora and Debian.Does anyone have any suggestions on how or where to set this up? I had a peek at atlassian bamboo, but it looks like it only plays with ec2, which I don't know anything about.There is TeamCity, I am involved in a couple of projects using that. Works well and (unsurprisingly) had excellent support in IntelliJ IDEA and PyCharm. Bamboo can be a bit of a pain, but once set up work well. I am using the Codehaus instance because some of the project I work on are Codehaus projects. You could run Jenkins somewhere. I guess the issue is being able to set up 9 or 10 virtual machines for all the variants needed. Perhaps a good solution would be to run Buildbot, have the server local to you and ask for volunteers to offer slaves. This used to work very well for me for a now dead project. It also used to work excellently for the SCons project, but since the exit of the two main developers, there has been a bit of hiatus. This is being fixed now, and a good Buildbot set up being put in place. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jun 10 2014
On 6/10/14, 1:31 AM, Russel Winder via Digitalmars-d wrote:On Mon, 2014-06-09 at 22:37 +0000, Ellery Newcomer via Digitalmars-d wrote:In regards to setting up virtual machines the folks at my work use Vagrant. I don't have experience with this but I thought I'd mention it in case it helps.So pyd is at the point where it really needs some sort of test suite runner. It's kind of complicated since I need to test against * multiple versions of dmd/ldc/gdc * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year)Unless there is an extant user base for 2.4 and 2.5, I would drop them with immediate effect, which would allow to upgrade to a reasonable Python code quality. There are very few people still stuck with 2.5 even fewer with 2.4 and increasingly 2.6 is going away (but not totally thanks to Red Hat :-( I suggest ignoring 3.0, 3.1 and 3.2, and supporting only 3.3 and later. This gives a much greater chance of having a single Python codebase executable with either 2.7 or 3.3/3.4. So if you can drop 2.6 as well, things get almost livable with. Personally I only use 3.4, but there are those who will not upgrade and insist on using 2.7.* redhat, ubuntu, osx, windows, etcFedora and Debian.Does anyone have any suggestions on how or where to set this up? I had a peek at atlassian bamboo, but it looks like it only plays with ec2, which I don't know anything about.There is TeamCity, I am involved in a couple of projects using that. Works well and (unsurprisingly) had excellent support in IntelliJ IDEA and PyCharm. Bamboo can be a bit of a pain, but once set up work well. I am using the Codehaus instance because some of the project I work on are Codehaus projects. You could run Jenkins somewhere. I guess the issue is being able to set up 9 or 10 virtual machines for all the variants needed. Perhaps a good solution would be to run Buildbot, have the server local to you and ask for volunteers to offer slaves. This used to work very well for me for a now dead project. It also used to work excellently for the SCons project, but since the exit of the two main developers, there has been a bit of hiatus. This is being fixed now, and a good Buildbot set up being put in place.
Jun 10 2014
If you can spare the time / HW resources, I'd probably go with Vagrant and Buildbot, but then again I would since I'm familiar with both. Atila On Tuesday, 10 June 2014 at 14:34:13 UTC, David Gileadi wrote:On 6/10/14, 1:31 AM, Russel Winder via Digitalmars-d wrote:On Mon, 2014-06-09 at 22:37 +0000, Ellery Newcomer via Digitalmars-d wrote:In regards to setting up virtual machines the folks at my work use Vagrant. I don't have experience with this but I thought I'd mention it in case it helps.So pyd is at the point where it really needs some sort of test suite runner. It's kind of complicated since I need to test against * multiple versions of dmd/ldc/gdc * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year)Unless there is an extant user base for 2.4 and 2.5, I would drop them with immediate effect, which would allow to upgrade to a reasonable Python code quality. There are very few people still stuck with 2.5 even fewer with 2.4 and increasingly 2.6 is going away (but not totally thanks to Red Hat :-( I suggest ignoring 3.0, 3.1 and 3.2, and supporting only 3.3 and later. This gives a much greater chance of having a single Python codebase executable with either 2.7 or 3.3/3.4. So if you can drop 2.6 as well, things get almost livable with. Personally I only use 3.4, but there are those who will not upgrade and insist on using 2.7.* redhat, ubuntu, osx, windows, etcFedora and Debian.Does anyone have any suggestions on how or where to set this up? I had a peek at atlassian bamboo, but it looks like it only plays with ec2, which I don't know anything about.There is TeamCity, I am involved in a couple of projects using that. Works well and (unsurprisingly) had excellent support in IntelliJ IDEA and PyCharm. Bamboo can be a bit of a pain, but once set up work well. I am using the Codehaus instance because some of the project I work on are Codehaus projects. You could run Jenkins somewhere. I guess the issue is being able to set up 9 or 10 virtual machines for all the variants needed. Perhaps a good solution would be to run Buildbot, have the server local to you and ask for volunteers to offer slaves. This used to work very well for me for a now dead project. It also used to work excellently for the SCons project, but since the exit of the two main developers, there has been a bit of hiatus. This is being fixed now, and a good Buildbot set up being put in place.
Jun 10 2014
On Tuesday, 10 June 2014 at 14:39:25 UTC, Atila Neves wrote:If you can spare the time / HW resources, I'd probably go with Vagrant and Buildbot, but then again I would since I'm familiar with both. AtilaI stumbled on vagrant a few months ago but haven't had a chance to play with it yet. I take it you need a pretty beefy box to use it? Another thing I was envisioning is a web page that shows test results for each combination so that it is easy for a casual user to determine pyd's status. Does buildbot have this sort of thing?
Jun 10 2014
On 10/06/14 23:32, Ellery Newcomer wrote:Another thing I was envisioning is a web page that shows test results for each combination so that it is easy for a casual user to determine pyd's status. Does buildbot have this sort of thing?Travis CI does have that. But it currently doesn't support Windows. -- /Jacob Carlborg
Jun 11 2014
On 10/06/14 00:37, Ellery Newcomer wrote:So pyd is at the point where it really needs some sort of test suite runner. It's kind of complicated since I need to test against * multiple versions of dmd/ldc/gdc * multiple versions of python (2.4 - 3.4, but I'm thinking of dropping 2.4 and 2.5 this year) * redhat, ubuntu, osx, windows, etc Does anyone have any suggestions on how or where to set this up? I had a peek at atlassian bamboo, but it looks like it only plays with ec2, which I don't know anything about.Travis CI supports multi-platform, currently Linux (Ubuntu) and OS X. There's also a similar service which uses Windows. -- /Jacob Carlborg
Jun 10 2014