39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
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: |
|
|
lcov --gcov-tool /usr/bin/gcov --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
|