It is now ran on the nightly CentOS build, so that it can cover
integration tests too, and not just unit tests. It's nightly as
it considerably increases the integration test runtime, so it's
not appropriate for all PRs.
expect
fdisk
jekyll
- lcov
libfdisk-dev
libfido2-dev
libp11-kit-dev
# The docs build is slow and is not affected by compiler/flags, so do it just once
MESON_ARGS+=(-Dman=true)
fi
- 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 "${MESON_ARGS[@]}" build
ninja -C build -v
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)
- name: Build & test (${{ matrix.run_phase }})
run: sudo -E .github/workflows/unit_tests.sh RUN_${{ matrix.run_phase }}
if: github.event_name == 'pull_request' || matrix.run_phase == 'GCC'
- - 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