ci: Convert CompilerWarnings job to meson

This is part of the overall move toward meson.  This particular step
was previously held up because the headerscheck target was not ported
to meson, but this has been done a few months ago (commit
e82fc27e095).  This conversion is relatively straightforward.  The
scope of each individual build step (e.g., what features it enables,
what optimization level it uses) has been maintained, except as noted.

It actually covers a bit more now, as it also compiles various test
code via the testprep target.

One thing we're losing is the sharing of the configure cache between
the steps (gcc.cache, clang.cache).  There is a way to do that in
meson (meson-private/coredata.dat), but it's not meant to be used
across different build directories, and so making that work might be a
more significant restructuring.  The overall performance of the CI
runs seems to be about on par nonetheless.

Bitcode for JIT inlining is no longer built in this job, since meson
doesn't support it.  It added little to warning coverage, and the
Linux autoconf job still builds it.

This backpatches commit 3ca57291ff3 to 19. Since cirrus-ci shut down, only 19
and master have CI, due to the incremental work towards a new CI system. I
soon plan to backpatch CI to all versions that previously had CI. Maintenance
of CI going forward will be simpler if the branches are as similar as
possible.

Co-authored-by: Andres Freund <[email protected]>
Reviewed-by: Nazir Bilal Yavuz <[email protected]>
Discussion: 
https://www.postgresql.org/message-id/flat/e52e2c29-4834-4c64-a200-eddcba38fb4d%40eisentraut.org
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/fa93d7928e72f08b0eef1dc4759e24ac1b0102a0
Author: Peter Eisentraut <[email protected]>

Modified Files
--------------
.github/workflows/pg-ci.yml       | 80 ++++++++++++++++++++++-----------------
src/tools/ci/mingw-cross-file.txt | 22 +++++++++++
2 files changed, 67 insertions(+), 35 deletions(-)

Reply via email to