git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] ci: also define CXX environment variable

From
Josh Steadmon <steadmon@google.com>
Date
Mar 5, 2024, 21:11 UTC
Message-ID
<75f98cbf98005b0a069977096ec5501f2f7830fe.1709673020.git.steadmon@google.com>
In-Reply-To
<cover.1709673020.git.steadmon@google.com>

In a future commit, we will build the fuzzer executables as part of the default 'make all' target, which requires a C++ compiler. If we do not explicitly set CXX, it defaults to g++ on GitHub CI. However, this can lead to incorrect feature detection when CC=clang, since the 'detect-compiler' script only looks at CC. Fix the issue by always setting CXX to match CC in our CI config.

We only plan on building fuzzers on Linux, so none of the other CI configs need a similar adjustment.

Signed-off-by: Josh Steadmon <steadmon@google.com>
---
 .github/workflows/main.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 683a2d633e..83945a3235 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -265,42 +265,54 @@ jobs:
         vector:
           - jobname: linux-sha256
             cc: clang
+            cxx: clang++
             pool: ubuntu-latest
           - jobname: linux-reftable
             cc: clang
+            cxx: clang++
             pool: ubuntu-latest
           - jobname: linux-gcc
             cc: gcc
+            cxx: g++
             cc_package: gcc-8
             pool: ubuntu-20.04
           - jobname: linux-TEST-vars
             cc: gcc
+            cxx: g++
             cc_package: gcc-8
             pool: ubuntu-20.04
           - jobname: osx-clang
             cc: clang
+            cxx: clang++
             pool: macos-13
           - jobname: osx-reftable
             cc: clang
+            cxx: clang++
             pool: macos-13
           - jobname: osx-gcc
             cc: gcc
+            cxx: g++
             cc_package: gcc-13
             pool: macos-13
           - jobname: linux-gcc-default
             cc: gcc
+            cxx: g++
             pool: ubuntu-latest
           - jobname: linux-leaks
             cc: gcc
+            cxx: g++
             pool: ubuntu-latest
           - jobname: linux-reftable-leaks
             cc: gcc
+            cxx: g++
             pool: ubuntu-latest
           - jobname: linux-asan-ubsan
             cc: clang
+            cxx: clang++
             pool: ubuntu-latest
     env:
       CC: ${{matrix.vector.cc}}
+      CXX: ${{matrix.vector.cxx}}
       CC_PACKAGE: ${{matrix.vector.cc_package}}
       jobname: ${{matrix.vector.jobname}}
       runs_on_pool: ${{matrix.vector.pool}}
-- 
2.44.0.278.ge034bb2e1d-goog
Previous: Josh SteadmonNext: Junio C Hamano
Message 2 of 23 in “fuzz: build fuzzers by default on Linux”
  1. 0/2 fuzz: build fuzzers by default on LinuxJosh Steadmon, Mar 5, 2024
  2. 1/2 ci: also define CXX environment variableJosh Steadmon, Mar 5, 2024
  3. Junio C HamanoMar 5, 2024
  4. Josh SteadmonApr 9, 2024
  5. Jeff KingMar 6, 2024
  6. Jeff KingMar 6, 2024
  7. Josh SteadmonApr 10, 2024
  8. 2/2 fuzz: link fuzz programs with `make all` on LinuxJosh Steadmon, Mar 5, 2024
  9. Junio C HamanoMar 5, 2024
  10. Josh SteadmonApr 9, 2024
  11. Josh SteadmonApr 10, 2024
  12. Junio C HamanoApr 10, 2024
  13. Jeff KingApr 10, 2024
  14. Junio C HamanoMar 26, 2024
  15. Josh SteadmonApr 9, 2024
  16. 0/2 fuzz: build fuzzers by default on LinuxJosh Steadmon, Apr 11, 2024
  17. 1/2 ci: also define CXX environment variableJosh Steadmon, Apr 11, 2024
  18. Jeff KingApr 12, 2024
  19. Josh SteadmonApr 24, 2024
  20. 2/2 fuzz: link fuzz programs with `make all` on LinuxJosh Steadmon, Apr 11, 2024
  21. Junio C HamanoApr 11, 2024
  22. fuzz: link fuzz programs with `make all` on LinuxJosh Steadmon, Apr 24, 2024
  23. Junio C HamanoApr 24, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.