Skip to content

Commit

Permalink
Disable lcov consistency checks on collation too
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit 3c6aa15
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 21:13:20 2024 +1100

    Skip coverage for clang on macOS 13

commit 40b8764
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 20:57:42 2024 +1100

    Try configuring coverage for Clang on macOS 13

commit cad8379
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 20:45:17 2024 +1100

    Re-instate remaining builds

    And see if we can support coverage on all macOS builds now.

commit 5618980
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 20:16:09 2024 +1100

    Always append to .lcovrc

commit 154635f
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 20:00:56 2024 +1100

    Skip data integrity check when collating too

commit 855f54d
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 19:44:34 2024 +1100

    Skip Windows test results for now

commit b2b8da0
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 19:28:08 2024 +1100

    Restore the Linux builds

commit 29fe95f
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 19:08:56 2024 +1100

    Correct Bash syntax

commit 77dc0bf
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 18:51:37 2024 +1100

    Install lcov dependencies

commit 48fc7c6
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 18:28:37 2024 +1100

    Bump lcov to v2.2 when collating

commit 944f8dd
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 18:08:29 2024 +1100

    Search for available lcov versions

commit d6ce261
Author: Paul Colby <[email protected]>
Date:   Sun Dec 22 17:59:48 2024 +1100

    Try pinning lcov to v2.0

    For compatabilty with Ubuntu.
  • Loading branch information
pcolby committed Dec 22, 2024
1 parent 5207735 commit 58ce796
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ jobs:
PROJECT_BUILD_ID: "${{ github.run_number }}.${{ matrix.os }}.${{ steps.arch.outputs.buildId }}.\
${{ matrix.cc }}.qt-${{ matrix.qt }}"
run: |
# With coverage instrumentation.
# With coverage instrumentation (except macOS 13's llvm-lcov version does not support the --sources option)
[[ '${{ matrix.os }}' == 'macos-13' && '${{ matrix.cc }}' == 'clang' ]] ||
cmake -D CMAKE_BUILD_TYPE=Release \
-D CODECOV_GCOV=/usr/local/bin/gcov-14 \
Expand Down Expand Up @@ -619,14 +619,21 @@ jobs:
collate-test-results:
needs: [ linux, mac, win ]
runs-on: ubuntu-24.04
env:
LCOV_VERSION: 2.2 # Should stay in-step, or ahead of, the Ubuntu, macOS and Windows versions.
steps:
- uses: actions/checkout@v4
- name: Install lcov
run: |
sudo apt-mark hold firefox grub-efi-amd64-signed
sudo apt update
sudo apt upgrade
sudo apt install lcov
sudo apt install libcapture-tiny-perl libdatetime-perl libtimedate-perl libjson-perl libperlio-gzip-perl
curl --location --silent \
"https://github.com/linux-test-project/lcov/releases/download/v${LCOV_VERSION}/lcov-${LCOV_VERSION}.tar.gz"|
tar --extract --gzip --directory "${RUNNER_TEMP}"
"${RUNNER_TEMP}/lcov-${LCOV_VERSION}/bin/lcov" --version
tee -a "${GITHUB_PATH}" <<< "${RUNNER_TEMP}/lcov-${LCOV_VERSION}/bin"
- name: Download test results
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -643,9 +650,10 @@ jobs:
# Update source code paths from Windows tracefiles to match Linux, and remove all \r chars from line endings.
sed -i -Ee 's|\r$||' -e 's|\\|/|g' -e 's|^SF:D:/a|SF:/home/runner/work|' artifacts/*.win.*/**/coverage.info
# Combine all tracefiles into one.
tee -a "$HOME/.lcovrc" <<< 'check_data_consistency = 0'
lcov $(find artifacts -name '*.info' -type f -printf '-a %p\n') -o coverage.info
# Generate the HTML report.
echo 'genhtml_sort = 0' >> ~/.lcovrc
tee -a "$HOME/.lcovrc" <<< 'genhtml_sort = 0'
genhtml --output-directory coverage/coverage coverage.info
# Can use any of the removeHtmlDates.sh scripts here, so the Ubuntu GCC Qt6 job's version will do.
/usr/bin/env bash ./artifacts/test-results-*.gcc.qt-6/coverage/removeHtmlDates.sh
Expand Down

0 comments on commit 58ce796

Please sign in to comment.