mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03:00
CI: add code coverage reports via lcov and coveralls.io
This commit is contained in:
parent
8b036b223a
commit
1f1d48f96e
11
.github/workflows/unit_tests.sh
vendored
11
.github/workflows/unit_tests.sh
vendored
@ -8,6 +8,7 @@ ADDITIONAL_DEPS=(
|
||||
fdisk
|
||||
iproute2
|
||||
jekyll
|
||||
lcov
|
||||
libfdisk-dev
|
||||
libfido2-dev
|
||||
libp11-kit-dev
|
||||
@ -45,10 +46,18 @@ for phase in "${PHASES[@]}"; do
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
fi
|
||||
meson --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true -Dman=true build
|
||||
if [[ "$phase" = "RUN_GCC" ]]; then
|
||||
MESON_ARGS+=(-Db_coverage=true)
|
||||
# See FIXME below
|
||||
(set +x; while :; do echo -ne "\n[WATCHDOG] $(date)\n"; sleep 30; done) &
|
||||
fi
|
||||
meson --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true -Dman=true "${MESON_ARGS[@]}" build
|
||||
ninja -C build -v
|
||||
# Some of the unsafe tests irreparably break the host's network connectivity, so run them in a namespace
|
||||
unshare -n bash -c 'ip link set dev lo up; meson test -C build --print-errorlogs'
|
||||
if [[ "$phase" = "RUN_GCC" ]]; then
|
||||
ninja -C build coverage
|
||||
fi
|
||||
;;
|
||||
RUN_ASAN_UBSAN|RUN_GCC_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN)
|
||||
MESON_ARGS=(--optimization=1)
|
||||
|
8
.github/workflows/unit_tests.yml
vendored
8
.github/workflows/unit_tests.yml
vendored
@ -16,8 +16,14 @@ jobs:
|
||||
run_phase: [GCC, GCC_ASAN_UBSAN, CLANG, CLANG_ASAN_UBSAN]
|
||||
steps:
|
||||
- name: Repository checkout
|
||||
uses: actions/checkout@v1
|
||||
uses: actions/checkout@v2
|
||||
- name: Install build dependencies
|
||||
run: sudo -E .github/workflows/unit_tests.sh SETUP
|
||||
- name: Build & test (${{ matrix.run_phase }})
|
||||
run: sudo -E .github/workflows/unit_tests.sh RUN_${{ matrix.run_phase }}
|
||||
- name: Coveralls
|
||||
if: matrix.run_phase == 'GCC' && github.repository == 'systemd/systemd'
|
||||
uses: coverallsapp/github-action@master
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path-to-lcov: ./build/meson-logs/coverage.info
|
||||
|
@ -14,6 +14,7 @@ System and Service Manager
|
||||
[![CentOS CI - Arch](https://jenkins-systemd.apps.ocp.ci.centos.org/buildStatus/icon?subject=CentOS%20CI%20-%20Arch&job=upstream-vagrant-archlinux)](https://jenkins-systemd.apps.ocp.ci.centos.org/job/upstream-vagrant-archlinux/)<br/>
|
||||
[![CentOS CI - Arch (sanitizers)](https://jenkins-systemd.apps.ocp.ci.centos.org/buildStatus/icon?subject=CentOS%20CI%20-%20Arch%20(sanitizers)&job=upstream-vagrant-archlinux-sanitizers)](https://jenkins-systemd.apps.ocp.ci.centos.org/job/upstream-vagrant-archlinux-sanitizers/)<br/>
|
||||
[![Fossies codespell report](https://fossies.org/linux/test/systemd-main.tar.gz/codespell.svg)](https://fossies.org/linux/test/systemd-main.tar.gz/codespell.html)</br>
|
||||
[![Coverage Status](https://coveralls.io/repos/github/systemd/systemd/badge.svg?branch=main)](https://coveralls.io/github/systemd/systemd?branch=main)</br>
|
||||
[![Packaging status](https://repology.org/badge/tiny-repos/systemd.svg)](https://repology.org/project/systemd/versions)
|
||||
|
||||
## Details
|
||||
|
Loading…
Reference in New Issue
Block a user