On Wed, Jun 6, 2018 at 4:09 AM, Andrew Dunstan <andrew.dunstan@2ndquadrant.com> wrote: > At my talk at pgcon last Friday [1] I presented some ideas for how people > could run a full buildfarm run against their code, including a 4 line recipe > using some Docker recipes I had created. Thomas Munro suggested it would be > even nicer if you could just point something like Appveypr at the code and > have it do the buildfarm run. That intrigued me a bit, so I created a recipe > for that. Along the way there are a few adjustments to how the buildfarm > client runs, which is why the recipe [2] runs with a git clone rather than a > published release. Nevertheless it does seem to work [3]
Very nice! Thank you for working on this. So it seems like we're pretty close to being able to use the standard buildfarm software to manage automatic Windows testing of PostgreSQL from any personal git repo, and also for cfbot's testing of CF submissions.
Would this dump the build log to stderr if it fails, so you could see it on appveyor? I'd also like to see compiler warnings (and perhaps enable the equivalent of -Werror). How should we access that -- is there a just-write-everything-to-stdout mode? It suppose we could just add some scripting to find and dump all log files.
The quick-and-dirty configuration I've been using for cfbot also runs a bit of perl on failure to locate and dump out any regression.diffs files, like this:
I wonder if it's possible to teach it to locate and backtrace any core files, as cfbot does on Linux:
https://github.com/macdice/cfbot/blob/master/travis/.travis.yml#L28 > The second change the recipe makes is to disable the tablespace tests. On > Windows, when running as the Administrator, the application gives up > privilege to such an extent that the tablespace tests fail.
Ohh. I was confused about why Windows was giving us fewer privileges when we had a more privileged account, but in fact *we* did that. Where does the privilege-giving-up happen?
It happens during startup, see CreateRestrictedProcess in src/bin/pg_ctl/pg_ctl.c.