From 55b21909ffeed0172d05129b3cfbd184063c50c7 Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 13 Mar 2025 19:04:07 +0900 Subject: [PATCH 1/8] Disable buggy GCC warning --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6be0cc58..bcb89a1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,10 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") add_compile_options(-Wall -pedantic -Wextra -Werror -Wmissing-declarations) +elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + # -Wno-dangling-reference because GCC apparently has some bugs in its implementation + # https://stackoverflow.com/questions/78759847/gcc-14-possibly-dangling-reference-to-a-temporary-warning-or-not-depending-on + add_compile_options(-Wall -pedantic -Wextra -Werror -Wmissing-declarations -Wno-dangling-reference) elseif(MSVC) add_compile_options(/W4 /WX) add_definitions(-DWINDOWS) From 95a4dc0de87d887d12712dd957b30a9ac668f0f2 Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 13 Mar 2025 20:27:18 +0900 Subject: [PATCH 2/8] Run CI when the CMake configuration changes --- .github/workflows/main_ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main_ci.yml b/.github/workflows/main_ci.yml index 57f75333..9cb8ebab 100644 --- a/.github/workflows/main_ci.yml +++ b/.github/workflows/main_ci.yml @@ -5,6 +5,7 @@ on: branches: - main paths: + - "**/CMakeLists.txt" - ".github/**" - "**.cpp" - "**.h" @@ -12,6 +13,7 @@ on: branches: - main paths: + - "**/CMakeLists.txt" - ".github/**" - "**.cpp" - "**.h" From cfe6f99b68624e1377d414f6f286692b45ebc6f7 Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 13 Mar 2025 20:36:42 +0900 Subject: [PATCH 3/8] Properly address gcc --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bcb89a1d..0e08355c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ include(GNUInstallDirs) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") +if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -pedantic -Wextra -Werror -Wmissing-declarations) elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") # -Wno-dangling-reference because GCC apparently has some bugs in its implementation From 67311899c23225aec9ec6cd8bf138d4b3edcad31 Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 13 Mar 2025 21:34:36 +0900 Subject: [PATCH 4/8] Remove problematic .clang-tidy line --- .clang-tidy | 1 - 1 file changed, 1 deletion(-) diff --git a/.clang-tidy b/.clang-tidy index 3fb2ff7b..ab877428 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -40,4 +40,3 @@ Checks: '*, ' WarningsAsErrors: '*' HeaderFilterRegex: '*' -ExcludeHeaderFilterRegex: 'catch_test_macros.hpp' From abc3eea8a2edbb8b0c13644eb9eca84983a35c8f Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 13 Mar 2025 21:51:32 +0900 Subject: [PATCH 5/8] Run clang-tidy build on macOS to avoid GNU/clang clash --- .github/workflows/main_ci.yml | 2 +- CMakeLists.txt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main_ci.yml b/.github/workflows/main_ci.yml index 9cb8ebab..d45443d3 100644 --- a/.github/workflows/main_ci.yml +++ b/.github/workflows/main_ci.yml @@ -145,7 +145,7 @@ jobs: if: github.event.pull_request.draft == false needs: [build-and-unit-test, choose_crypto_matrix] name: Build with clang-tidy - runs-on: ubuntu-latest + runs-on: macos-latest strategy: matrix: crypto: ${{ fromJson(needs.choose_crypto_matrix.outputs.matrix )}} diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e08355c..b232c0fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,8 @@ include(GNUInstallDirs) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) + +message("Compiler ID: ${CMAKE_CXX_COMPILER_ID}") if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -pedantic -Wextra -Werror -Wmissing-declarations) elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") From f6e63e82bddf31bafc80faa21806cb5c1f3d59b7 Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 24 Apr 2025 11:19:16 -0400 Subject: [PATCH 6/8] Allow CI to be manually triggered --- .github/workflows/main_ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main_ci.yml b/.github/workflows/main_ci.yml index d45443d3..94e3db29 100644 --- a/.github/workflows/main_ci.yml +++ b/.github/workflows/main_ci.yml @@ -1,6 +1,9 @@ name: MLSPP CI on: + workflow_dispatch: + branches: + - main push: branches: - main From 646ba770abb23a66fb5e2afe92b93bed7b22228d Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 24 Apr 2025 12:04:13 -0400 Subject: [PATCH 7/8] Update vcpkg --- vcpkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg b/vcpkg index eb33d2f7..acd65983 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit eb33d2f7583405fca184bcdf7fdd5828ec88ac05 +Subproject commit acd65983f2e668c0bc44a117575e6073681fa8e3 From b7aa0bc5e3a29a4807eb288207aa731fedc8872b Mon Sep 17 00:00:00 2001 From: Richard Barnes Date: Thu, 24 Apr 2025 15:35:27 -0400 Subject: [PATCH 8/8] Update vcpkg baseline --- cmd/interop/vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/interop/vcpkg.json b/cmd/interop/vcpkg.json index 3b8622da..a133d633 100644 --- a/cmd/interop/vcpkg.json +++ b/cmd/interop/vcpkg.json @@ -12,7 +12,7 @@ "gflags", "nlohmann-json" ], - "builtin-baseline": "3b3bd424827a1f7f4813216f6b32b6c61e386b2e", + "builtin-baseline": "0d5cae153065957df7f382de7c1549ccc88027e5", "overrides": [ { "name": "openssl",