mirror of https://github.com/koide3/small_gicp.git
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
name: Coverage
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
paths-ignore: '**.md'
|
|
pull_request:
|
|
branches: [ master ]
|
|
paths-ignore: '**.md'
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
coverage:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get install --no-install-recommends -y build-essential cmake python3-pip pybind11-dev libeigen3-dev libfmt-dev libtbb-dev libomp-dev libpcl-dev libgtest-dev lcov ninja-build
|
|
pip install -U setuptools pytest pytest-cov numpy scipy
|
|
|
|
- name: Build (C++)
|
|
run: |
|
|
mkdir build && cd build
|
|
cmake .. -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_BENCHMARKS=ON -DBUILD_WITH_TBB=ON -DBUILD_WITH_PCL=ON -DENABLE_COVERAGE=ON
|
|
make -j$(nproc)
|
|
|
|
- name: Test (C++)
|
|
run: |
|
|
cd build
|
|
ctest -j$(nproc)
|
|
make coverage
|
|
|
|
- name: Build (Python)
|
|
run: |
|
|
pip install . --user
|
|
|
|
- name: Test (Python)
|
|
run: |
|
|
pytest src/example/basic_registration.py --cov=src --cov-report=xml
|
|
pytest src/test/python_test.py --cov=src --cov-report=xml
|
|
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@v4.0.1
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
slug: koide3/small_gicp
|
|
files: build/coverage.info,coverage.xml
|