From f3d0d5c08b4c18182371d069a70344fcdf296459 Mon Sep 17 00:00:00 2001 From: Mohamed Ishad Date: Sat, 23 Dec 2023 06:02:48 +0530 Subject: [PATCH 1/3] Use docker image for unit tests --- .github/workflows/build.yml | 12 +++--------- CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac8cb4078..2de775bcd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,16 +21,10 @@ jobs: fetch-depth: 0 repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - - name: Native Build - run: | - mkdir build && cd build - pip install gcovr - sudo bash ../install-prerequisites.sh - cmake -DCMAKE_BUILD_TYPE=DEBUG .. - make - - name: Run unit test - run: cd build && make coverage + run: | + docker run --name jasminegraph-prerequisite -v $(pwd):/home/ubuntu/software/jasminegraph -d -t -i miyurud/jasminegraph /bin/bash + docker exec -i jasminegraph-prerequisite bash -c "pip install gcovr && cd /home/ubuntu/software/jasminegraph && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=DEBUG .. && make && make coverage" - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 diff --git a/CMakeLists.txt b/CMakeLists.txt index 849ff3908..781af4115 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,8 +149,8 @@ if (CMAKE_BUILD_TYPE STREQUAL "DEBUG") include(FetchContent) FetchContent_Declare( googletest - URL https://github.com/google/googletest/archive/refs/tags/release-1.12.0.zip DOWNLOAD_EXTRACT_TIMESTAMP true + URL https://github.com/google/googletest/archive/refs/tags/release-1.12.0.zip ) # For Windows: Prevent overriding the parent project's compiler/linker settings set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) From 44c565630fe756026f67e9aac5669cce4474a218 Mon Sep 17 00:00:00 2001 From: Mohamed Ishad Date: Sat, 23 Dec 2023 16:35:01 +0530 Subject: [PATCH 2/3] Suggessions from code review Co-authored-by: Thevindu Wijesekera <91218789+thevindu-w@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2de775bcd..88cd79f96 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: - name: Run unit test run: | docker run --name jasminegraph-prerequisite -v $(pwd):/home/ubuntu/software/jasminegraph -d -t -i miyurud/jasminegraph /bin/bash - docker exec -i jasminegraph-prerequisite bash -c "pip install gcovr && cd /home/ubuntu/software/jasminegraph && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=DEBUG .. && make && make coverage" + docker exec jasminegraph-prerequisite bash -c "pip install gcovr && cd /home/ubuntu/software/jasminegraph && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=DEBUG .. && make && make coverage" - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 From e6385cd39084547f1a2533da35badb1382a9b414 Mon Sep 17 00:00:00 2001 From: Mohamed Ishad Date: Sun, 24 Dec 2023 05:17:29 +0530 Subject: [PATCH 3/3] Remove `install-prerequisites.sh` --- install-prerequisites.sh | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 install-prerequisites.sh diff --git a/install-prerequisites.sh b/install-prerequisites.sh deleted file mode 100644 index 8787825f3..000000000 --- a/install-prerequisites.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -apt-get update -apt-get install --no-install-recommends -y apt-transport-https -apt-get update -apt-get install --no-install-recommends -y curl gnupg2 ca-certificates software-properties-common nlohmann-json3-dev -apt-get install --no-install-recommends -y git cmake build-essential sqlite3 libsqlite3-dev libssl-dev librdkafka-dev libboost-all-dev libtool libxerces-c-dev libflatbuffers-dev libjsoncpp-dev libspdlog-dev pigz -add-apt-repository ppa:deadsnakes/ppa -apt-get install --no-install-recommends -y python3.8-dev python3-pip python3.8-distutils -#python3.8 -m pip install stellargraph -#python3.8 -m pip install chardet scikit-learn joblib threadpoolctl pandas -#python3.8 -m pip cache purge -mkdir prerequisites && cd prerequisites -git clone --single-branch --depth 1 https://github.com/mfontanini/cppkafka.git -git clone --single-branch --depth 1 --branch v5.1.1-DistDGL-v0.5 https://github.com/KarypisLab/METIS.git -cd METIS -git submodule update --init -find . -type f -print0 | xargs -0 sed -i '/-march=native/d' -make config shared=1 cc=gcc prefix=/usr/local -make install - -mkdir ../cppkafka/build && cd ../cppkafka/build -cmake .. -make -j4 -make install -cd ../../.. && rm -r prerequisites