From 0e562d09df2aafe2b61dc0b56dc4ac644f6e92c9 Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Thu, 18 Aug 2022 23:44:08 +0100 Subject: [PATCH] First coverage workflow --- .github/workflows/coverage.yml | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/coverage.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 00000000..c39f536d --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,49 @@ +name: Coverage + +on: + workflow_dispatch: + push: + branches: + - develop + - fixes + pull_request: + branches: + - develop + - fixes + +jobs: + coverage: + runs-on: ubuntu-latest + + steps: + - run: | + sudo apt-get update + sudo apt-get install -y \ + lcov \ + libc-ares-dev \ + libcjson-dev \ + libcunit1-dev \ + libwrap0-dev \ + python3-paho-mqtt \ + uthash-dev + + - uses: actions/checkout@v3 + + - run: | + make \ + WITH_COVERAGE=yes \ + CFLAGS="-O0 -Wall -ggdb -fprofile-arcs" \ + -j $(nproc) \ + binary + + - run: | + make -C test test + + - run: | + lcov --capture --directory . --output-file coverage.info --no-external + + - uses: codecov/codecov-action@v3 + with: + fail_ci_if_error: true + files: ./coverage.info + verbose: true