Hi,

On 2022-03-22 17:20:24 -0700, Andres Freund wrote:
> I was about to propose adding headerscheck / cpluspluscheck to the CI file so
> that cfbot can catch future issues.

The attached patch does so, with ICU disabled to avoid the problems discussed
in the thread. Example run:
https://cirrus-ci.com/task/6326161696358400?logs=headers_headerscheck#L0

Unless somebody sees a reason not to, I'm planning to commit this soon.

Greetings,

Andres Freund
>From fbc2c30f2420706bc2db64fa193b809b88ddff0b Mon Sep 17 00:00:00 2001
From: Andres Freund <and...@anarazel.de>
Date: Tue, 22 Mar 2022 16:52:03 -0700
Subject: [PATCH v1] ci: test headerscheck, cpluspluscheck as part of
 CompilerWarnings task.

---
 .cirrus.yml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index e5335fede76..171bd29cf03 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -576,5 +576,28 @@ task:
       make -s -j${BUILD_JOBS} clean
       time make -s -j${BUILD_JOBS} -C doc
 
+  ###
+  # Verify headerscheck / cpluspluscheck succeed
+  #
+  # - Don't use ccache, the files are uncacheable, polluting ccache's
+  #   cache
+  # - Use -fmax-errors, as particularly cpluspluscheck can be very verbose
+  # - XXX have to disable ICU to avoid errors:
+  #   https://postgr.es/m/20220323002024.f2g6tivduzrktgfa%40alap3.anarazel.de
+  # - XXX: the -Wno-register avoids verbose warnings:
+  #   https://postgr.es/m/20220308181837.aun3tdtdvao4vb7o%40alap3.anarazel.de
+  ###
+  always:
+    headers_headerscheck_script: |
+      time ./configure \
+        ${LINUX_CONFIGURE_FEATURES} \
+        --without-icu \
+        --quiet \
+        CC="gcc" CXX"=g++" CLANG="clang"
+      make -s -j${BUILD_JOBS} clean
+      time make -s headerscheck EXTRAFLAGS='-fmax-errors=10'
+    headers_cpluspluscheck_script: |
+      time make -s cpluspluscheck EXTRAFLAGS='-Wno-register -fmax-errors=10'
+
   always:
     upload_caches: ccache
-- 
2.35.1.354.g715d08a9e5

Reply via email to