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: Toolchain Info run: | echo "CC=$CC" echo "CXX=$CXX" command -v gcc || true command -v g++ || true command -v gcov || true gcc --version || true g++ --version || true gcov --version || true - name: Configure run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ - name: Build run: cmake --build build --config Debug -j "$(nproc)" - name: Test run: | cd build ctest --output-on-failure - name: Coverage run: | GCOV_TOOL="$(/usr/bin/g++ -print-prog-name=gcov)" echo "Using gcov: $GCOV_TOOL" "$GCOV_TOOL" --version 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