Update github workflow

This commit is contained in:
2025-07-19 20:47:24 +02:00
parent 80b7d6e6f7
commit 8945a3f16e
2 changed files with 21 additions and 8 deletions

View File

@@ -31,15 +31,26 @@ jobs:
- name: Setup Conan profile - name: Setup Conan profile
run: | run: |
conan profile detect --force conan profile detect --force
conan remote add cimmeria https://conan.rmontanana.es/artifactory/api/conan/Cimmeria
- name: Install dependencies with Conan - name: Install dependencies with Conan
run: | run: |
conan install . --build=missing -s build_type=Debug -o enable_testing=True conan install . --build=missing -of build_debug -s build_type=Debug -o enable_testing=True
- name: Configure with CMake
run: |
cmake -S . -B build_debug -DCMAKE_TOOLCHAIN_FILE=build_debug/build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=ON
- name: Tests & build-wrapper - name: Tests & build-wrapper
run: | run: |
source ./build/Debug/generators/conanrun.sh build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build build_debug --config Debug -j 4
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} conan build . -s build_type=Debug -o enable_testing=True cp -r tests/datasets build_debug/tests/datasets
cd build/Debug cd build_debug/tests
ctest -C Debug --output-on-failure -j 4 ctest --output-on-failure -j 4
lcov --capture --directory ../ --demangle-cpp --ignore-errors source,source --ignore-errors mismatch --ignore-errors inconsistent --output-file coverage.info
lcov --remove coverage.info '/usr/*' --output-file coverage.info
lcov --remove coverage.info 'lib/*' --output-file coverage.info
lcov --remove coverage.info 'libtorch/*' --output-file coverage.info
lcov --remove coverage.info 'tests/*' --output-file coverage.info
lcov --remove coverage.info 'gtest/*' --output-file coverage.info
lcov --remove coverage.info '*/.conan2/*' --ignore-errors unused --output-file coverage.info
gcovr -f ../../src/CPPFImdlp.cpp -f ../../src/Metrics.cpp -f ../../src/BinDisc.cpp -f ../../src/Discretizer.cpp --txt --sonarqube=coverage.xml gcovr -f ../../src/CPPFImdlp.cpp -f ../../src/Metrics.cpp -f ../../src/BinDisc.cpp -f ../../src/Discretizer.cpp --txt --sonarqube=coverage.xml
- name: Run sonar-scanner - name: Run sonar-scanner
env: env:
@@ -47,4 +58,4 @@ jobs:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: | run: |
sonar-scanner --define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}" \ sonar-scanner --define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}" \
--define sonar.coverageReportPaths=build/Debug/coverage.xml --define sonar.coverageReportPaths=build_debug/tests/coverage.xml

View File

@@ -7,9 +7,11 @@ This directory contains the Conan package configuration for the fimdlp library.
The package manages the following dependencies: The package manages the following dependencies:
### Build Requirements ### Build Requirements
- **libtorch/2.4.1** - PyTorch C++ library for tensor operations - **libtorch/2.4.1** - PyTorch C++ library for tensor operations
### Test Requirements (when testing enabled) ### Test Requirements (when testing enabled)
- **catch2/3.8.1** - Modern C++ testing framework - **catch2/3.8.1** - Modern C++ testing framework
- **arff-files** - ARFF file format support (included locally in tests/lib/Files/) - **arff-files** - ARFF file format support (included locally in tests/lib/Files/)
@@ -67,7 +69,7 @@ conan create . -o shared=True --profile:build=default --profile:host=default
```bash ```bash
# Add Cimmeria remote # Add Cimmeria remote
conan remote add cimmeria <cimmeria-server-url> conan remote add cimmeria https://conan.rmontanana.es/artifactory/api/conan/Cimmeria
# Login to Cimmeria # Login to Cimmeria
conan remote login cimmeria <username> conan remote login cimmeria <username>
@@ -150,4 +152,4 @@ conan create . -o enable_testing=True
- C++17 compatible compiler - C++17 compatible compiler
- CMake 3.20 or later - CMake 3.20 or later
- Conan 2.0 or later - Conan 2.0 or later