If we're testing snapshots of compilers, we might want to update them periodically. While the easiest solution to this would be to have local scripts running in cronjobs, there are a few downsides to this:
We might not actually have cron privileges on the machines we're running compilers on (speaking from experience here);
Ideally, the tester should stop running jobs on machines that are currently upgrading compilers;
Upgrade failures can be put into the same log as everything else the tester does;
I'd like to keep as much machine-specific functionality into one binary as possible, to make updating things easier (just copy over a cross-compiled act-tester-mach).
(I did spend a lot of time while writing this issue thinking about possibly using a daemonised machine node to make this nice and asynchronous, but it feels like that'll be more trouble than it's worth - it conflicts with the second point, means we'd have to choose new protocols to use for everything, and moving mach away from SSH poses all sorts of problems with running on machines we don't have root access to).
If we're testing snapshots of compilers, we might want to update them periodically. While the easiest solution to this would be to have local scripts running in cronjobs, there are a few downsides to this:
act-tester-mach
).(I did spend a lot of time while writing this issue thinking about possibly using a daemonised machine node to make this nice and asynchronous, but it feels like that'll be more trouble than it's worth - it conflicts with the second point, means we'd have to choose new protocols to use for everything, and moving
mach
away from SSH poses all sorts of problems with running on machines we don't have root access to).