The idea has always been that the script could be run as a post-build step on the build server (after all the testing). There is an instance of TeamCity running on a Windows VM that is monitoring GitHub and CI-ing Catch.
The reasons this hasn't been done yet are threefold:
1. Time: In particular because this requires a decent stable connection to maintain remote access to the build server to get it set up. Since I do most of my work on the train this is difficult (although I should be able to do some of it on a local mirror).
2. I'd only want to automatically submit an updated and bumped single header if I'm sure that all the tests pass - ideally for all platforms (or at least all platforms I'm explicitly targeting). TeamCity has the ability to have build agents running on different platforms, so in addition to the Windows build I'd like to see it running on Linux and OS X VMs too. Currently the build server is not yet running the approval test scripts, too - so that would need to be setup.
3. I'm still not 100% sure I want it fully automated. I think it's worth it - but it is quite nice to be able to manually express it as a type of "release". In practice, though, I've often put out buggy "releases", or not updated it when it should have been - so automating should bring more benefit than disadvantage.
Which brings me back to the time issue. So if anyone would like to help out with that side of things I'd be really grateful! :-)
BTW the timestamp update is very deliberate. If I regenerate due to something very minor - usually within a small time window from a previous update (typically because, just as I'm pushing the change I realise I missed something), then I don't want to pollute the build number scheme, but I do want to uniquely identify it. I think this would be even more important with an automated script. Furthermore I believe it should bump the build number too.