I recently acquired a new computer (AMD 5950X 16-core CPU with128GB RAM and a 1TB SSD). Nice! Building Octave is much faster now than it was on the older AMD FX-8350 systems I had. So I started thinking that it would be nice to move some buildbot jobs to the new system. Then I started thinking that it would be even better if all the buildbot jobs could be executed faster. So I now have two of the 5950X systems and have moved all the buildbot jobs to the new hardware.
While moving the buildbot jobs to the new systems, I also decided to try to update the configuration on the master. The
--enable-octave=release configurations of MXE Octave for Windows should be done with the “release” branch of MXE Octave and the
--enable-octave=default build should be using the “default” branch. The daily MXE Octave builds should now only happen if there are actually changes in either the MXE Octave or Octave sources on the branches relevant to the build.
As seems to happen whenever I touch the buildbot configuration, there were some glitches and moments of confusion. What started out as an attempt to upgrade the buildbot master ended up as an OS upgrade on the Digital Ocean server that is running the buildbot master. That broke the hgweb service because of the way Python packaging works on Debian now. The initial symptom was an nginx error that did not immediately point to an hgweb configuration error or Python issue. That took some time to figure out…
Then there was some confusion due to the way ccache was configured on my buildbot workers. It turns out (and in retrospect, perhaps should have been obvious) that sharing a cache directory among multiple buildbot builds and using the configuration option
hash_dir = false is a BAD IDEA. Packages that were built successfully many times before were failing to build because the wrong files were being picked up from the cache. Oops!
After fixing those issues, things seem to be working more or less correctly now and builds are significantly faster, so I hope this will speed up development. It would be nice to get even faster turnaround on the MXE Octave builds and maybe there are some additional things we can do but I’ll open a separate topic for that discussion.
Now I have the “problem” of what to do with the old systems. They may still be useful for a while. I could install other Linux distributions (my systems are all currently running Debian) and use them to run buildbot workers to test secondary targets where quick turnaround is not as important. Suggestions?