[Scons-dev] Progressing D tool support

William Deegan bill at baddogconsulting.com
Thu Aug 9 14:23:09 EDT 2012


Russel,

On Aug 9, 2012, at 12:39 AM, Russel Winder <russel at winder.org.uk> wrote:


> I am assuming for now that

> https://bitbucket.org/scons/scons/pull-request/1/update-the-dmd-tool is

> rejected (which is fine per se) but I believe it must be seen as a

> blocker to 2.3.0 not to have the at least these changes in place.

> Hopefully though I will have merged the dmd/gdc/ldc separate tools work

> and give everyone a better time of it.


It's not rejected. There's a reject button to do that.
We're just waiting for tests per the comment.


>

> One of the reasons for not merging the pull request was a lack of new

> tests, which is fine in a sense and impossible to comply with in

> another. The changes were all about versions of D installed. I am not

> entirely sure there are tests that can be written to specifically vet

> the changes made. Moreover I suspect no-one other than me has D

> installed – I have a deep suspicion that the D tests are not run by the

> CI.


Probably a safe assumption.


>

> Clearly the tests for D need extending, they are woefully inadequate

> just now, but without D on the CI machine, there is no motivation. Also

> of course the SCons Buildbot is still in a bit of a bad way, cf.

> http://buildbot.scons.org/grid


Perhaps you we need to make a "how to setup a buildslave" page and add instructions for installing D to that page?
I'll be taking a look at the buildbot today to see if I can recuperate it.




>

> I think I can offer my 8-core Debian Unstable box as a slave, but it is

> a workstation and prone to being rebooted as and when. I tend to use the

> D debs now but I do not necessarily guarantee a working version. For

> example the recent 2.060 has some regression issues so I am still with

> 2.059 but from time to time upgrade and downgrade for experimentation.


Would it be possible to install D for a buildbot slave user such that it was the latest "stable" version?
Handling reboots is not really too much of an issue, simply setup the slave user's crontab to start the buildslave on "@reboot" in the crontab for the user.


>

> Back to D tool evolution: given the integration of dmd and gdc with the

> C toolchains, it makes more sense to integrate with the smart_link

> activity, thus to evolve with the whole of SCons rather than as a

> separate tool. Stage 1 must be though to get the current pull request

> sorted. The main problem is I have one machine type 64-bit Debian Linux.

> I can probably test on Mac OS X Snow Leopard but I have no idea if this

> will be a 32-bit or 64-bit test (cue rant about fascist dictatorial

> monopolistic behaviour by Apple <elided>) I cannot test on Windows.


I have a MacOSX mountain lion 64 bit machine I can put up a buildslave on (but not full time).
Buildbot will queue up the changes until the slave comes online so that should work.
(would need instructions on how to install the D variants..(see thought on wiki page))


>

> What is needed is some form of development test network where folk can

> see the effect of changes on 32-bit and 64-bit Windows, Mac OS X Linux

> with various different installations of software, in my case D – given 3

> variants of D this is a lot of combinations. Only with all of these can

> the true nature of my changes be tested, currently all I have been doing

> is amend the code so it works on my set up. Thus tests are not really

> possible beyond what there is without the resources to actually run

> tests in the 9! different ways.


Can all three variants of D be installed at the same time without issues?
Or would we need 3 different "machines" (real or VM) to test?


>

> Is there a CI system where one can submit repository references and get

> a test result?


Yes Buildbot can do that, you can use "buildbot try" if the master is configured to allow such.
Another way is to have buildbot pick up a pre-pull branch which you could send a pull request to.
Though that might complicate the existing pull request flow.
I'll have to check if we can require some authentication for "try" in buildbot.

-Bill


More information about the Scons-dev mailing list