This repository was archived by the owner on Jun 24, 2026. It is now read-only.
feat: add generate_cmake_lists method and implement ros_name conversi… #402
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: CMake | |
| on: [push, pull_request] | |
| jobs: | |
| ubuntu-address-undefined-coverage: | |
| runs-on: ubuntu-latest | |
| env: | |
| MONGODB_HOST: localhost | |
| MONGODB_PORT: "27017" | |
| services: | |
| mongo: | |
| image: mongo | |
| ports: | |
| - 27017:27017 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y lcov | |
| wget -O clips_core_source_642.zip https://sourceforge.net/projects/clipsrules/files/CLIPS/6.4.2/clips_core_source_642.zip/download | |
| unzip clips_core_source_642.zip | |
| curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r4.1.2/mongo-cxx-driver-r4.1.2.tar.gz | |
| tar -xzf mongo-cxx-driver-r4.1.2.tar.gz | |
| - name: Compile CLIPS | |
| working-directory: clips_core_source_642/core | |
| run: | | |
| make release_cpp | |
| sudo mkdir /usr/local/include/clips | |
| sudo cp *.h /usr/local/include/clips/ | |
| sudo cp libclips.a /usr/local/lib/ | |
| - name: Compile Mongo C++ driver | |
| working-directory: mongo-cxx-driver-r4.1.2/build | |
| run: | | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF | |
| cmake --build . | |
| sudo cmake --build . --target install | |
| - name: Update library cache | |
| run: | | |
| sudo ldconfig | |
| - name: Configure CMake | |
| run: cmake -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON -DENABLE_UBSAN=ON -DENABLE_COV=ON -DBUILD_MONGODB=ON | |
| - name: Build | |
| run: cmake --build build --config Debug | |
| - name: Test with address sanitizer, undefined behavior sanitizer and coverage | |
| working-directory: build | |
| run: ctest -C Debug --rerun-failed --output-on-failure -T Test -T Coverage | |
| - name: Make coverage report | |
| run: | | |
| lcov --capture --directory build --output-file coverage.info | |
| lcov --remove coverage.info '/usr/*' --output-file coverage.info | |
| lcov --list coverage.info | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v4.0.1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| ubuntu-memcheck: | |
| runs-on: ubuntu-latest | |
| env: | |
| MONGODB_HOST: localhost | |
| MONGODB_PORT: "27017" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y valgrind | |
| wget -O clips_core_source_642.zip https://sourceforge.net/projects/clipsrules/files/CLIPS/6.4.2/clips_core_source_642.zip/download | |
| unzip clips_core_source_642.zip | |
| - name: Compile CLIPS | |
| working-directory: clips_core_source_642/core | |
| run: | | |
| make release_cpp | |
| sudo mkdir /usr/local/include/clips | |
| sudo cp *.h /usr/local/include/clips/ | |
| sudo cp libclips.a /usr/local/lib/ | |
| - name: Update library cache | |
| run: | | |
| sudo ldconfig | |
| - name: Configure CMake | |
| run: cmake -B build -DCMAKE_BUILD_TYPE=Debug | |
| - name: Build | |
| run: cmake --build build --config Debug | |
| - name: Test with memory checker | |
| working-directory: build | |
| run: ctest -C Debug --rerun-failed --output-on-failure -T Test -T MemCheck | |
| ubuntu-release: | |
| runs-on: ubuntu-latest | |
| env: | |
| MONGODB_HOST: localhost | |
| MONGODB_PORT: "27017" | |
| services: | |
| mongo: | |
| image: mongo | |
| ports: | |
| - 27017:27017 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install dependencies | |
| run: | | |
| wget -O clips_core_source_642.zip https://sourceforge.net/projects/clipsrules/files/CLIPS/6.4.2/clips_core_source_642.zip/download | |
| unzip clips_core_source_642.zip | |
| curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r4.1.2/mongo-cxx-driver-r4.1.2.tar.gz | |
| tar -xzf mongo-cxx-driver-r4.1.2.tar.gz | |
| - name: Compile CLIPS | |
| working-directory: clips_core_source_642/core | |
| run: | | |
| make release_cpp | |
| sudo mkdir /usr/local/include/clips | |
| sudo cp *.h /usr/local/include/clips/ | |
| sudo cp libclips.a /usr/local/lib/ | |
| - name: Compile Mongo C++ driver | |
| working-directory: mongo-cxx-driver-r4.1.2/build | |
| run: | | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF | |
| cmake --build . | |
| sudo cmake --build . --target install | |
| - name: Update library cache | |
| run: | | |
| sudo ldconfig | |
| - name: Configure CMake | |
| run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_MONGODB=ON | |
| - name: Build | |
| run: cmake --build build --config Release | |
| - name: Test | |
| working-directory: build | |
| run: ctest -C Release --rerun-failed --output-on-failure -T Test |