Hi there,
First off, thank you for creating and maintaining this very useful GitHub Action!
I'm currently integrating qltysh/qlty-action/coverage into a Kotlin multi-module project and have encountered a challenge related to path resolution for the coverage reports.
The Challenge
In our multi-module setup, we use Kover to generate a single, merged XML coverage report. The file paths within this report are relative to their specific module's source directory, not the project root.
This leads to a couple of issues:
- If I use the
add-prefix parameter pointing to one module's source directory (e.g., composeApp/src/commonMain/kotlin/), the action can't find the source files for any of the other modules.
- If I omit the
add-prefix parameter, the action is unable to locate any of the source files, as it seems to expect paths relative to the project root.
Current Workaround
The only way I've been able to get this working is by generating separate coverage reports for each module and then running the coverage action multiple times, once for each module, with a unique add-prefix for each.
# In .github/workflows/pull-request.yml
# ...
- name: Upload coverage report for composeApp
uses: qltysh/qlty-action/coverage@v1.1.1
with:
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: composeApp/build/reports/kover/report.xml
add-prefix: composeApp/src/commonMain/kotlin/
- name: Upload coverage report for domain
uses: qltysh/qlty-action/coverage@v1.1.1
with:
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: domain/build/reports/kover/report.xml
add-prefix: domain/src/commonMain/kotlin/
# ... and so on for every module
While this works, it's a bit cumbersome and requires manual updates to the workflow file every time a new module is added to the project.
Suggested Improvement
It would be a fantastic improvement if the action could process a single, merged coverage report and intelligently resolve the source file paths for all modules within it. This would greatly simplify the CI configuration for developers working with multi-module architectures.
Thank you for considering this feedback. Please let me know if any more details, logs, or examples would be helpful. I'm happy to assist in any way I can.
Keep up the great work
Hi there,
First off, thank you for creating and maintaining this very useful GitHub Action!
I'm currently integrating
qltysh/qlty-action/coverageinto a Kotlin multi-module project and have encountered a challenge related to path resolution for the coverage reports.The Challenge
In our multi-module setup, we use Kover to generate a single, merged XML coverage report. The file paths within this report are relative to their specific module's source directory, not the project root.
This leads to a couple of issues:
add-prefixparameter pointing to one module's source directory (e.g.,composeApp/src/commonMain/kotlin/), the action can't find the source files for any of the other modules.add-prefixparameter, the action is unable to locate any of the source files, as it seems to expect paths relative to the project root.Current Workaround
The only way I've been able to get this working is by generating separate coverage reports for each module and then running the
coverageaction multiple times, once for each module, with a uniqueadd-prefixfor each.While this works, it's a bit cumbersome and requires manual updates to the workflow file every time a new module is added to the project.
Suggested Improvement
It would be a fantastic improvement if the action could process a single, merged coverage report and intelligently resolve the source file paths for all modules within it. This would greatly simplify the CI configuration for developers working with multi-module architectures.
Thank you for considering this feedback. Please let me know if any more details, logs, or examples would be helpful. I'm happy to assist in any way I can.
Keep up the great work