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.

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3ca57291ff302793f2f559a4644862ca4b1f09bf

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