name: ci on: push: pull_request: jobs: build: runs-on: ubuntu-latest container: image: git.rivercry.com/system/bar:latest credentials: username: docker password: ${{ secrets.DOCKER_PASSWORD }} steps: - name: Checkout run: | git init git remote add origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@git.rivercry.com/${{ github.repository }}.git git fetch --depth 1 origin ${{ github.sha }} git checkout FETCH_HEAD - name: Configure run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON - name: Build run: cmake --build build --config Debug -j "$(nproc)" - name: Test run: | cd build ctest --output-on-failure - name: Coverage run: | GCOV_TOOL="$(dirname "$(command -v g++)")/gcov" GCOV_TOOL="$(g++ -print-prog-name=gcov)" lcov --gcov-tool "$GCOV_TOOL" --capture --directory build --output-file build/coverage.info lcov --remove build/coverage.info "/usr/*" "*/build/*" "*/_deps/*" --output-file build/coverage.info lcov --summary build/coverage.info genhtml build/coverage.info --output-directory build/coverage-html