From: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net> |
Subject: | Re: Adding CI to our tree |
Date: | 2021-10-02 18:42:00 |
Message-ID: | 0A535B2A-E95E-4DD6-BC31-E68F198D8059@yesql.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> On 2 Oct 2021, at 00:27, Andres Freund <andres(at)anarazel(dot)de> wrote:
> For several development efforts I found it to be incredibly valuable to push
> changes to a personal repository and see a while later whether tests succeed
> on a number of different platforms. This is especially useful for platforms
> that are quite different from ones own platform, like e.g. windows in my case.
Same, and for my case I run several CI jobs to compile/test against different
OpenSSL versions etc.
> Of course everybody can set this up for themselves. However, doing so well is
> a significant effort, particularly if windows is to be supported well. And
> doubly so if useful things like getting backtraces for crashes is desirable
> ([1])
+1 on adding these, rather than having everyone duplicate the effort. Those
who don't want to use them can disregard them.
> Right now the patch attached
> - runs check-world on FreeBSD, Linux, macOS - all using gcc
> - freebsd, linux use a custom generated image
> - macOS installs missing dependencies at runtime, with some caching
> - all use ccache to make subsequent compilation faster
> - runs all the tests I could find on windows, via vcregress.pl
> - checks for compiler warnings on linux, with both clang and gcc
Why not compiling with OpenSSL on FreeBSD and macOS? On FreeBSD all you need
is --with-ssl=openssl while on macOS you need to point to the headers and libs
like:
--with-includes=/usr/local/include:/usr/local/opt/openssl/include --with-libs=/usr/local/libs:/usr/local/opt/openssl/lib
One thing to note for Cirrus on macOS (I've never seen it anywhere else) is
that it intermittently will fail on a too long socketpath:
Unix-domain socket path "/private/var/folders/wh/z5_y2cv53sg24tzvtw_f_y1m0000gn/T/cirrus-ci-build/src/bin/pg_upgrade/.s.PGSQL.51696" is too long (maximum 103 bytes)
Exporting PGSOCKETDIR can avoid that annoyance.
+ tests_script:
+ - su postgres -c 'ulimit -c unlimited ; ${TIMEOUT_CMD} make -s ${CHECK} ${CHECKFLAGS} -j8'
Don't you need PG_TEST_EXTRA=ssl here to ensure the src/test/ssl tests are run?
--
Daniel Gustafsson https://vmware.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2021-10-02 19:41:07 | Re: Adding CI to our tree |
Previous Message | Daniel Gustafsson | 2021-10-02 18:21:36 | Re: 2021-09 Commitfest |