diff --git a/.docker/build-linux.sh b/.docker/build-linux.sh index b5bb9474..be6e5202 100644 --- a/.docker/build-linux.sh +++ b/.docker/build-linux.sh @@ -105,7 +105,7 @@ if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then rm -rf /tmp-runner/coverage mkdir -p /tmp-runner/coverage llvm-profdata-17 merge -sparse profile/* -o dwarfs.profdata - for binary in mkdwarfs dwarfs dwarfsck dwarfsextract; do + for binary in mkdwarfs dwarfs dwarfsck dwarfsextract *_test; do llvm-cov-17 show -instr-profile=dwarfs.profdata $binary >/tmp-runner/coverage/$binary.txt done fi diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 478031a4..25e6e14e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -132,10 +132,17 @@ jobs: --env GITHUB_RUN_ATTEMPT \ dwarfs-linux-build + - name: List Coverage Files + id: coverage-files + if: matrix.build_type == 'clang-coverage-ninja' + run: | + files=$(find ${{ runner.temp }}/coverage -type f | paste -d, -s) + echo "list=$files" >> "$GITHUB_OUTPUT" + - name: Upload Coverage Data if: matrix.build_type == 'clang-coverage-ninja' uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} - directory: ${{ runner.temp }}/coverage + files: ${{ steps.coverage-files.outputs.list }} fail_ci_if_error: true