Hi,
On 2021-10-10 21:48:09 +0200, Peter Eisentraut wrote:
> On 02.10.21 00:27, Andres Freund wrote:
> > The attached patch adds CI using cirrus-ci.
>
> I like this in principle. But I don't understand what the docker stuff is
> about. I have used Cirrus CI before, and didn't have to do anything about
> Docker. This could use some explanation.
You don't *have* to do anything about docker - but especially for windows it
takes longer to build without your own container, because we'd need to install
our dependencies every time. And that turns out to take a while.
Right now the docker containers are built as part of CI (cirrus rebuilds them
when the container definition changes), but that doesn't have to be that way,
we could do so independently of cirrus, so that they are usable on other
platforms as well - although it's advantageous to use the cirrus containers as
the base, as they're cached on the buildhosts.
In principle we could also use docker for the linux tests, but I found that we
can get better results using full blown virtual machines. Those I currently
build from a separate repo, as mentioned upthread.
There is a linux docker container, but that currently runs a separate task
that compiles with -Werror for gcc, clang with / without asserts. That's a
separate task so that compile warnings don't prevent one from seeing whether
tests worked etc.
One thing I was thinking of adding to the "compile warning" task was to
cross-compile postgres from linux using mingw - that's a lot faster than
running the windows builds, and it's not too hard to break that accidentally.
Greetings,
Andres Freund