From acd9ad1534b52e34054adf7c6601e3a8490ff917 Mon Sep 17 00:00:00 2001 From: Ry Jones Date: Thu, 24 Oct 2024 13:45:57 -0700 Subject: [PATCH] add cpp linking test Signed-off-by: Aiden Fox Ivey Signed-off-by: Ry Jones --- .github/cpp_linking_example.cpp | 1 + .github/workflows/basic.yml | 31 ++++++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .github/cpp_linking_example.cpp diff --git a/.github/cpp_linking_example.cpp b/.github/cpp_linking_example.cpp new file mode 100644 index 0000000000..687b384257 --- /dev/null +++ b/.github/cpp_linking_example.cpp @@ -0,0 +1 @@ +cpp_linking_example.cpp diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index 69061e21dd..861b801290 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -86,7 +86,36 @@ jobs: run: ninja gen_docs working-directory: build - + cppcheck: + name: Check C++ linking with example program + runs-on: ubuntu-latest + container: openquantumsafe/ci-ubuntu-latest:latest + env: + KEM_NAME: ml_kem_768 + SIG_NAME: ml_dsa_65 + steps: + - name: Checkout code + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4 + - name: Configure + run: | + mkdir build && \ + cd build && \ + cmake -GNinja -DOQS_STRICT_WARNINGS=ON \ + -GNinja \ + -DOQS_MINIMAL_BUILD="KEM_$KEM_NAME;SIG_$SIG_NAME" \ + --warn-uninitialized .. > config.log 2>&1 && \ + cat config.log && \ + cmake -LA -N .. && \ + ! (grep -i "uninitialized variable" config.log) + - name: Build liboqs + run: ninja + working-directory: build + - name: Link with C++ program + run: / + g++ .github/cpp_linking_example.cpp -g -lcrypto \ + -Iinclude lib/liboqs.a -o example_sig --std=c++11 + working-directory: build + fuzzbuildcheck: name: Check that code passes a basic fuzzing build needs: [ workflowcheck, stylecheck, upstreamcheck ]