1

I am in a team of a few developers who are sharing a license for a compiler toolchain. The issue that we are having is that after one developer has acquired the license to use the compiler, there is a large wait time before the next developer can use the compiler. This is causing a lot of wasted time and frustrated people.

Since the license is very expensive, buying more of them is not an option. I was hoping to more fully utilize the license by setting up a central compiler machine which you can push jobs to and have the machine do the work. We are also looking into automated builds to verify the source.

I've looked into buildbot, which seems mature for automated building and testing, however using it in place of building locally while a developer is in their local testing phase before pushing changes to the remote repository might be out of it's scope.

Ideally this tool would be able to sit between the IDE and compiling machine so that it appears to the IDE that the build is being performed locally. Then if any warnings/errors show up, we could still use those handy features for zeroing in on syntax errors.

lbuchy
  • 135
  • 2
  • 7

2 Answers2

2

You might look into the buildbot try tool. This allows you to send a patchfile to the builder to have it run remotely, and lets you block on the result.

Provided that you have a centralized repository already, all you would have to do would be create a call to buildbot try passing in the required parameters, and put this in place of the actual compiler in your makefile/buildscript.

Granted, this would make it take a bit longer to do iterations if you're the only person compiling, but it sounds like you really have the opposite problem.

Nate
  • 12,499
  • 5
  • 45
  • 60
  • This is a useful tool, although it probably isn't able to work seamlessly with the IDE (which isn't to say that buildbot try isn't useful). – Tom Prince Feb 05 '12 at 14:16
0

If you can customize the commands used to execute the compiler, and can ssh to the central machine, then you can probably write wrapper that invokes the compiler on the remote machine using ssh. To get this to work nicely, you likely need to have the source directory mounted on both the client and the server.

If the source directory is mounted in the same place on both machines, then the script might be as simple as

#!/bin/sh
ssh $REMOTE_HOST cd "$PWD" ";" $@

This invokes the command passed as argument on $REMOTE_HOST, in the same directory on the server.

Tom Prince
  • 682
  • 3
  • 9