Various improvements #57
This file contains hidden or 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: Linux (Ubuntu) CPU | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| Linux-Test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| build_type: [Debug, Release] | |
| compiler: [g++, clang++] | |
| steps: | |
| - name: "Update system" | |
| run: | | |
| sudo apt update | |
| sudo apt upgrade | |
| sudo apt autoremove | |
| - name: "Install Compiler" | |
| run: | | |
| sudo apt install g++ clang libomp-dev | |
| - name: "Install MPI" | |
| run: | | |
| sudo apt install libopenmpi-dev | |
| - name: "Install cmake 3.31.0" | |
| uses: lukka/[email protected] | |
| - name: "Clone the PLSSVM repository into PLSSVM/" | |
| uses: actions/[email protected] | |
| with: | |
| path: PLSSVM | |
| - name: "Install Python dependencies" | |
| run: | | |
| pip install --upgrade pip | |
| pip install -r PLSSVM/install/python_requirements.txt | |
| - name: "Configure PLSSVM using CMake" | |
| run: | | |
| cd PLSSVM | |
| cmake --preset openmp_test -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DPLSSVM_ENABLE_STL_DEBUG_MODE=${{ matrix.build_type == 'Debug' && 'ON' || 'OFF' }} -DPLSSVM_TARGET_PLATFORMS="cpu" -DPLSSVM_ENABLE_LANGUAGE_BINDINGS=ON -DPLSSVM_ENABLE_PERFORMANCE_TRACKING=ON -DPLSSVM_ENABLE_MPI=ON -DPLSSVM_TEST_FILE_NUM_DATA_POINTS=50 -DPLSSVM_TEST_FILE_NUM_FEATURES=20 -DPLSSVM_ENABLE_LTO=OFF | |
| - name: "Build PLSSVM" | |
| run: | | |
| cd PLSSVM | |
| cmake --build --preset openmp_test --config ${{ matrix.build_type }} | |
| echo "${GITHUB_WORKSPACE}/PLSSVM/build" >> $GITHUB_PATH | |
| - name: "Run tests" | |
| run: | | |
| cd PLSSVM | |
| mkdir tmp | |
| export TMPDIR=$PWD/tmp | |
| ctest --preset openmp_test -C ${{ matrix.build_type }} --parallel 2 --output-on-failure |