only coverage #165
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Mt-KaHyPar Master CI | |
on: | |
push: | |
branches-ignore: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
# mt_kahypar_compiler_version_test: | |
# name: Ubuntu Build | |
# strategy: | |
# matrix: | |
# compiler: [ { os: ubuntu-22.04, cpp: g++-11, cc: gcc-11, install_cmd: g++-11 gcc-11 }, | |
# { os: ubuntu-24.04, cpp: g++-14, cc: gcc-14, install_cmd: g++-14 gcc-14 }, | |
# { os: ubuntu-24.04, cpp: clang++, cc: clang, install_cmd: clang } ] | |
# runs-on: ${{ matrix.compiler.os }} | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libboost-program-options-dev libhwloc-dev lcov gcovr ${{ matrix.compiler.install_cmd }} | |
# - name: Install Mt-KaHyPar | |
# env: | |
# CC: ${{ matrix.compiler.cc }} | |
# CXX: ${{ matrix.compiler.cpp }} | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# cmake .. --preset=default -DKAHYPAR_CI_BUILD=ON | |
# make -j2 MtKaHyPar | |
# mt_kahypar_static_build: | |
# name: Statically Linked Build | |
# strategy: | |
# matrix: | |
# compiler: [ { os: ubuntu-24.04, cpp: g++-14, cc: gcc-14, install_cmd: g++-14 gcc-14 }, | |
# { os: ubuntu-24.04, cpp: clang++, cc: clang, install_cmd: clang } ] | |
# runs-on: ${{ matrix.compiler.os }} | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libboost-program-options-dev libhwloc-dev libudev-dev lcov gcovr ${{ matrix.compiler.install_cmd }} | |
# - name: Install Mt-KaHyPar | |
# env: | |
# CC: ${{ matrix.compiler.cc }} | |
# CXX: ${{ matrix.compiler.cpp }} | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# cmake .. --preset=minimal -DKAHYPAR_CI_BUILD=ON -DBUILD_SHARED_LIBS=OFF -DKAHYPAR_STATIC_LINK_DEPENDENCIES=ON | |
# make -j2 MtKaHyPar | |
# if [[ $(ldd mt-kahypar/application/MtKaHyPar | grep hwloc) ]]; then | |
# echo "Error: hwloc is dynamically linked" | |
# exit 1 | |
# fi | |
# if [[ $(ldd mt-kahypar/application/MtKaHyPar | grep boost) ]]; then | |
# echo "Error: boost is dynamically linked" | |
# exit 1 | |
# fi | |
mt_kahypar_test_suite: | |
name: Test Suite | |
runs-on: ubuntu-24.04 | |
env: | |
CI_ACTIVE : 1 | |
steps: | |
- name: Checkout HEAD | |
uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev lcov gcovr | |
- name: Install Mt-KaHyPar Test Suite | |
run: | | |
rm -rf build | |
mkdir build | |
cd build | |
cmake .. --preset=dev -DCMAKE_BUILD_TYPE=DEBUG -DKAHYPAR_CI_BUILD=ON -DKAHYPAR_USE_GCOV=ON | |
make -j2 mtkahypar_tests | |
- name: Run Mt-KaHyPar Tests | |
run: | | |
cd build | |
./tests/mtkahypar_tests | |
- name: Report Code Coverage | |
run: | | |
cd build | |
lcov --directory . --capture --output-file coverage.info --exclude '/usr/**/*' --exclude 'external_tools/**/*' --exclude 'tests/**/*' --exclude '**/googletest-src/**/*' | |
lcov --list coverage.info | |
gcovr -r ../ -x > report.xml | |
cd .. | |
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports" | |
# mt_kahypar_integration_tests: | |
# name: Integration Tests | |
# runs-on: ubuntu-24.04 | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev lcov gcovr | |
# - name: Install Mt-KaHyPar Integration Tests | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# cmake .. --preset=python -DKAHYPAR_CI_BUILD=ON | |
# make -j2 MtKaHyPar | |
# make -j2 VerifyPartition | |
# make -j2 GridGraphGenerator | |
# make -j2 FixedVertexFileGenerator | |
# - name: Run Mt-KaHyPar Integration Tests | |
# run: | | |
# ./tests/end_to_end/integration_tests.py | |
# mt_kahypar_c_interface_tests: | |
# name: C Interface Tests | |
# runs-on: ubuntu-24.04 | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev lcov gcovr | |
# - name: Run Mt-KaHyPar C Library Interface Tests | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# cmake .. --preset=dev -DKAHYPAR_CI_BUILD=ON | |
# make -j2 mtkahypar_interface_test | |
# mt_kahypar_python_interface_tests: | |
# name: Python Interface Tests | |
# runs-on: ubuntu-24.04 | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev lcov gcovr | |
# - name: Build Mt-KaHyPar Python Interface | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# cmake .. --preset=python -DKAHYPAR_CI_BUILD=ON | |
# make mtkahypar_python -j2 | |
# - name: Run Mt-KaHyPar Python Interface Tests | |
# run: | | |
# cd python/tests | |
# cp ../../build/python/mtkahypar*.so mtkahypar.so | |
# python3 test_mtkahypar.py -v | |
# mt_kahypar_windows_build: | |
# name: Windows Build | |
# runs-on: windows-latest | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Setup MSYS2 | |
# uses: msys2/setup-msys2@v2 | |
# with: | |
# install: git make | |
# - name: Install Boost and TBB | |
# shell: msys2 {0} | |
# run: | | |
# pacman --noconfirm -S mingw-w64-x86_64-boost mingw-w64-x86_64-tbb mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc | |
# - name: Put MSYS2_MinGW64 on Path | |
# run: | | |
# echo "${{ runner.temp }}/msys64/mingw64" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
# - name: Install Mt-KaHyPar Multilevel Tests | |
# shell: msys2 {0} | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# export CMAKE_GENERATOR="MSYS Makefiles" | |
# /mingw64/bin/cmake .. --preset=dev -DKAHYPAR_CI_BUILD=ON -DKAHYPAR_ENABLE_HIGHEST_QUALITY_FEATURES=OFF -DKAHYPAR_ENABLE_LARGE_K_PARTITIONING_FEATURES=OFF | |
# make -j2 mtkahypar_tests | |
# - name: Run Mt-KaHyPar Tests | |
# shell: msys2 {0} | |
# run: | | |
# cd build | |
# ./tests/mtkahypar_tests | |
# mt_kahypar_macos_build: | |
# name: MacOS Build | |
# runs-on: macos-latest | |
# env: | |
# CI_ACTIVE : 1 | |
# steps: | |
# - name: Checkout HEAD | |
# uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# brew install tbb boost hwloc lcov gcovr | |
# - name: Install Mt-KaHyPar Multilevel Tests | |
# run: | | |
# rm -rf build | |
# mkdir build | |
# cd build | |
# cmake .. --preset=dev -DKAHYPAR_CI_BUILD=ON | |
# make -j2 mtkahypar_tests | |
# - name: Run Mt-KaHyPar Tests | |
# run: | | |
# cd build | |
# ./tests/mtkahypar_tests |