Thread overview
buildbot for alternative architectures now online
Apr 04, 2016
Kai Nacke
Apr 05, 2016
kink
Apr 08, 2016
Seb
Apr 20, 2016
Kai Nacke
Apr 23, 2016
Johan Engelen
Feb 07, 2018
flamencofantasy
Feb 07, 2018
Kai Nacke
April 04, 2016
Hi all!

LDC is usable on other architectures than x86/x86_64, too. But since we lacked a CI server we often created regressions without noticing.

To improve the situation I have created my own buildbot setup. Currently there are the following slaves available: armv7 (IFC6410 board, Krait CPU, hardfloat), armv8 (Runabove cloud image), POWER8 (PowerLinux provided by OSU Open Source Lab). I hope to add a second POWER8 slave soon, too.
The slaves start a build as soon as a change on the ltsmaster, master or merge-2.071 branch is detected. The setup is still not perfect but it is sufficient to see that the armv7 build from ltsmaster is almost green. :-)

The UI can be reached at http://buildbot.ldc-developers.org/. (I still work on the configuration - expect still some instability. Alternate address is currently http://redstarbuildbot.mynetgear.com:12080/ in case the official address wn't work.)

Do you like to support LDC development on alternative targets? If you have a box which has enough resources to build LDC and you are willing to run your own build slave then I can add your build slave to the setup. :-)

Regards,
Kai
April 05, 2016
Cool stuff, thanks Kai.
April 08, 2016
On Monday, 4 April 2016 at 05:54:36 UTC, Kai Nacke wrote:
> Hi all!
>
> LDC is usable on other architectures than x86/x86_64, too. But since we lacked a CI server we often created regressions without noticing.
>
> [...]

That looks really great. Would be nice to have that for the official repositories too!
April 20, 2016
On Monday, 4 April 2016 at 05:54:36 UTC, Kai Nacke wrote:
> Hi all!
>
> LDC is usable on other architectures than x86/x86_64, too. But since we lacked a CI server we often created regressions without noticing.
>
> To improve the situation I have created my own buildbot setup. Currently there are the following slaves available: armv7 (IFC6410 board, Krait CPU, hardfloat), armv8 (Runabove cloud image), POWER8 (PowerLinux provided by OSU Open Source Lab). I hope to add a second POWER8 slave soon, too.
> The slaves start a build as soon as a change on the ltsmaster, master or merge-2.071 branch is detected. The setup is still not perfect but it is sufficient to see that the armv7 build from ltsmaster is almost green. :-)
>
> The UI can be reached at http://buildbot.ldc-developers.org/. (I still work on the configuration - expect still some instability. Alternate address is currently http://redstarbuildbot.mynetgear.com:12080/ in case the official address wn't work.)
>
> Do you like to support LDC development on alternative targets? If you have a box which has enough resources to build LDC and you are willing to run your own build slave then I can add your build slave to the setup. :-)
>
> Regards,
> Kai

I encountered some stability issues with my setup. I guess that this is a standard challenge with first setup of a CI server.

I moved the master to a Scaleway C1 cloud server. The setup is still not complete and not all buildslaves are currently connected. But I hope to have it ready soon.

Regards,
Kai

April 23, 2016
On Monday, 4 April 2016 at 05:54:36 UTC, Kai Nacke wrote:
> Hi all!
>
> LDC is usable on other architectures than x86/x86_64, too. But since we lacked a CI server we often created regressions without noticing.
>
> To improve the situation I have created my own buildbot setup. Currently there are the following slaves available: armv7 (IFC6410 board, Krait CPU, hardfloat), armv8 (Runabove cloud image), POWER8 (PowerLinux provided by OSU Open Source Lab). I hope to add a second POWER8 slave soon, too.

Some Lit-based tests depend on the target architecture, and only pass if LLVM can target X86.
Do I have to add a Lit feature flag so that we can define per test whether they require a specific arch? (we can use `llvm-config --targets-built` to test what LLVM supports).
February 07, 2018
On Monday, 4 April 2016 at 05:54:36 UTC, Kai Nacke wrote:
> Hi all!
>
> LDC is usable on other architectures than x86/x86_64, too. But since we lacked a CI server we often created regressions without noticing.
>
> [...]

Hello,

I am interested in running a buildbot for LDC on SmartOS, how to proceed?

Thanks
February 07, 2018
On Wednesday, 7 February 2018 at 22:18:48 UTC, flamencofantasy wrote:
> On Monday, 4 April 2016 at 05:54:36 UTC, Kai Nacke wrote:
>> Hi all!
>>
>> LDC is usable on other architectures than x86/x86_64, too. But since we lacked a CI server we often created regressions without noticing.
>>
>> [...]
>
> Hello,
>
> I am interested in running a buildbot for LDC on SmartOS, how to proceed?
>
> Thanks

Thanks for your interest!

Your box must be able to compile LDC. The easiest way is to compile LLVM and LDC once. Install LLVM in /opt/llvm and LDC in /opt/ldc2 or make sure that both are in the $PATH variable.

Then you need to install a buildbot slave. The master has version 0.8.12. The config of the slave is in the file buildbot.tac. You need to change the following:

buildmaster_host = 'buildbot.ldc-developers.org'
port = 9989
slavename = 'smartos'
passwd = '<...see below...>'

Please sent me an email (kai at redstar.de) when your buildbot slave is ready. Then I will add your slave and send you the required password (for the passwd variable above) back.

The buildbot server currently starts builds with commits on master and ltsmaster branch. I plan to support building pull requests.

The UI of the buildbot is at http://buildbot.ldc-developers.org/

Regards,
Kai