On Wed, Jun 6, 2018 at 4:09 AM, Andrew Dunstan
<andrew.duns...@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:

https://ci.appveyor.com/project/postgresql-cfbot/postgresql/build/1.0.1127
https://github.com/macdice/cfbot/blob/master/appveyor/appveyor.yml#L22
https://github.com/macdice/cfbot/blob/master/appveyor/dumpregr.pl

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?

> The answer is
> usually to run as a non-Admin user, and this is what I do for animals like
> jacana and bowerbird. However, setting that up so that it hooks up nicely to
> the appveyor console is ugly and fragile. So I'd like either to solve this
> issue (perhaps be more discriminating about what privileges we give up) or
> provide a builtin way to skip these tests. In the latter case, maybe a
> skip-tests setting for pg_regress would work well. I can imagine other uses
> for it ("I know I'm going to break this test but I want to run all the
> others.")

I really want this to actually work rather than being skipped, because
I'm working on stuff related to tablespaces and I want CI for that on
Windows.

If we fixed those things it seems we'd almost have an .appveyor.yml
good enough to start talking about putting it in our source tree, to
provide a solid default for anyone working on PostgreSQL.

-- 
Thomas Munro
http://www.enterprisedb.com

Reply via email to