Skip to content

Commit 5fc17e0

Browse files
authored
Add lucene coverage to overall report (#3538)
Currently Lucene and other classes are not being included in the overall coverage report on a PR. This fixes that by doing two things: 1. Publish the jars along with coverage data, as those are needed to process the `.exec` files that jacoco uses 2. download the coverage data from sub-jobs as separate tasks. Otherwise it removes the hierarchy.
1 parent b12117e commit 5fc17e0

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

.github/workflows/pull_request.yml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
- name: Run Gradle Test
4747
uses: ./actions/gradle-test
4848
with:
49-
gradle_command: :fdb-record-layer-core:test :fdb-record-layer-core:destructiveTest
49+
gradle_command: :fdb-record-layer-core:jar :fdb-record-layer-core:test :fdb-record-layer-core:destructiveTest
5050
gradle_args: -PreleaseBuild=false -PpublishBuild=false
5151
- name: Publish Test Reports
5252
if: always()
@@ -61,6 +61,7 @@ jobs:
6161
name: core-coverage-data
6262
path: |
6363
**/.out/jacoco/*.exec
64+
**/.out/libs/*.jar
6465
include-hidden-files: true
6566
retention-days: 1
6667

@@ -80,7 +81,7 @@ jobs:
8081
- name: Run Gradle Test
8182
uses: ./actions/gradle-test
8283
with:
83-
gradle_command: :fdb-record-layer-lucene:test :fdb-record-layer-lucene:destructiveTest
84+
gradle_command: :fdb-record-layer-lucene:jar :fdb-record-layer-lucene:test :fdb-record-layer-lucene:destructiveTest
8485
gradle_args: -PreleaseBuild=false -PpublishBuild=false
8586
- name: Publish Test Reports
8687
if: always()
@@ -95,6 +96,7 @@ jobs:
9596
name: lucene-coverage-data
9697
path: |
9798
**/.out/jacoco/*.exec
99+
**/.out/libs/*.jar
98100
include-hidden-files: true
99101
retention-days: 1
100102

@@ -114,7 +116,13 @@ jobs:
114116
- name: Run Gradle Test
115117
uses: ./actions/gradle-test
116118
with:
117-
gradle_command: test -x :fdb-record-layer-core:test -x :fdb-record-layer-lucene:test destructiveTest -x :fdb-record-layer-core:destructiveTest -x :fdb-record-layer-lucene:destructiveTest
119+
gradle_command: >-
120+
test
121+
-x :fdb-record-layer-core:test
122+
-x :fdb-record-layer-lucene:test
123+
destructiveTest
124+
-x :fdb-record-layer-core:destructiveTest
125+
-x :fdb-record-layer-lucene:destructiveTest
118126
gradle_args: -PreleaseBuild=false -PpublishBuild=false
119127
- name: Publish Test Reports
120128
if: always()
@@ -156,12 +164,20 @@ jobs:
156164
uses: actions/[email protected]
157165
- name: Setup Base Environment
158166
uses: ./actions/setup-base-env
159-
- name: 'Download artifacts'
167+
# It looks like, if you try to download them all as a pattern, the nested directories get stripped
168+
# so the coverage data (for e.g. lucene) does not end up in the appropirate subproject directory
169+
- name: 'Download lucene'
170+
uses: actions/download-artifact@v4
171+
with:
172+
name: lucene-coverage-data
173+
- name: 'Download core'
160174
uses: actions/download-artifact@v4
161175
with:
162-
pattern: |
163-
*-coverage-data
164-
merge-multiple: true
176+
name: core-coverage-data
177+
- name: 'Download other'
178+
uses: actions/download-artifact@v4
179+
with:
180+
name: other-coverage-data
165181
- name: Run JaCoCo Report
166182
uses: ./actions/run-gradle
167183
with:

0 commit comments

Comments
 (0)