mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
ci: fix coverage report paths and improve test result inclusivity (#4245)
This commit is contained in:
parent
fe9c8dac83
commit
46a2c68830
3 changed files with 44 additions and 4 deletions
10
.github/workflows/reusable-android-build.yml
vendored
10
.github/workflows/reusable-android-build.yml
vendored
|
|
@ -69,7 +69,7 @@ jobs:
|
|||
echo "datadogApplicationId=$DATADOG_APPLICATION_ID" >> ./secrets.properties
|
||||
echo "datadogClientToken=$DATADOG_CLIENT_TOKEN" >> ./secrets.properties
|
||||
- name: Run Spotless, Detekt, Build, Lint, and Local Tests
|
||||
run: ./gradlew spotlessCheck detekt assembleDebug :app:testFdroidDebugUnitTest :app:testGoogleDebugUnitTest :core:analytics:testFdroidDebugUnitTest :core:analytics:testGoogleDebugUnitTest :core:data:testFdroidDebugUnitTest :core:data:testGoogleDebugUnitTest :core:database:testFdroidDebugUnitTest :core:database:testGoogleDebugUnitTest :core:datastore:testFdroidDebugUnitTest :core:datastore:testGoogleDebugUnitTest :core:di:testFdroidDebugUnitTest :core:di:testGoogleDebugUnitTest :core:model:testFdroidDebugUnitTest :core:model:testGoogleDebugUnitTest :core:navigation:testFdroidDebugUnitTest :core:navigation:testGoogleDebugUnitTest :core:network:testFdroidDebugUnitTest :core:network:testGoogleDebugUnitTest :core:prefs:testFdroidDebugUnitTest :core:prefs:testGoogleDebugUnitTest :core:proto:testFdroidDebugUnitTest :core:proto:testGoogleDebugUnitTest :core:service:testFdroidDebugUnitTest :core:service:testGoogleDebugUnitTest :core:ui:testFdroidDebugUnitTest :core:ui:testGoogleDebugUnitTest :feature:firmware:testFdroidDebugUnitTest :feature:firmware:testGoogleDebugUnitTest :feature:intro:testFdroidDebugUnitTest :feature:intro:testGoogleDebugUnitTest :feature:map:testFdroidDebugUnitTest :feature:map:testGoogleDebugUnitTest :feature:messaging:testFdroidDebugUnitTest :feature:messaging:testGoogleDebugUnitTest :feature:node:testFdroidDebugUnitTest :feature:node:testGoogleDebugUnitTest :feature:settings:testFdroidDebugUnitTest :feature:settings:testGoogleDebugUnitTest :mesh_service_example:testDebugUnitTest koverXmlReport --configuration-cache --scan
|
||||
run: ./gradlew spotlessCheck detekt assembleDebug runAllDebugTests koverXmlReport --configuration-cache --scan
|
||||
env:
|
||||
VERSION_CODE: ${{ env.VERSION_CODE }}
|
||||
|
||||
|
|
@ -78,6 +78,8 @@ jobs:
|
|||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
slug: meshtastic/Meshtastic-Android
|
||||
report_type: coverage
|
||||
directory: .
|
||||
files: build/reports/kover/report.xml
|
||||
|
||||
- name: Upload test results to Codecov
|
||||
|
|
@ -86,6 +88,8 @@ jobs:
|
|||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
report_type: test_results
|
||||
directory: .
|
||||
files: "**/build/test-results/**/*.xml,**/build/outputs/androidTest-results/**/*.xml"
|
||||
|
||||
- name: Upload F-Droid debug artifact
|
||||
if: ${{ inputs.upload_artifacts }}
|
||||
|
|
@ -108,6 +112,6 @@ jobs:
|
|||
with:
|
||||
name: upload-reports
|
||||
path: |
|
||||
app/build/reports
|
||||
**/build/reports/detekt
|
||||
build/reports
|
||||
**/build/reports
|
||||
retention-days: 14
|
||||
|
|
|
|||
6
.github/workflows/reusable-android-test.yml
vendored
6
.github/workflows/reusable-android-test.yml
vendored
|
|
@ -31,6 +31,7 @@ jobs:
|
|||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v5
|
||||
|
|
@ -85,13 +86,14 @@ jobs:
|
|||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
disable-animations: true
|
||||
script: ./gradlew :app:connectedFdroidDebugAndroidTest :app:connectedGoogleDebugAndroidTest :core:database:connectedFdroidDebugAndroidTest :core:database:connectedGoogleDebugAndroidTest :core:model:connectedFdroidDebugAndroidTest :core:model:connectedGoogleDebugAndroidTest :core:ui:connectedFdroidDebugAndroidTest :core:ui:connectedGoogleDebugAndroidTest :feature:messaging:connectedFdroidDebugAndroidTest :feature:messaging:connectedGoogleDebugAndroidTest :feature:settings:connectedFdroidDebugAndroidTest :feature:settings:connectedGoogleDebugAndroidTest koverXmlReport --configuration-cache --scan && ( killall -INT crashpad_handler || true )
|
||||
script: ./gradlew runAllConnectedDebugTests koverXmlReport --configuration-cache --scan && ( killall -INT crashpad_handler || true )
|
||||
|
||||
- name: Upload coverage reports to Codecov
|
||||
if: ${{ !cancelled() }}
|
||||
uses: codecov/codecov-action@v5
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
report_type: coverage
|
||||
slug: meshtastic/Meshtastic-Android
|
||||
files: build/reports/kover/report.xml
|
||||
|
||||
|
|
@ -101,6 +103,8 @@ jobs:
|
|||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
report_type: test_results
|
||||
directory: .
|
||||
files: "**/build/test-results/**/*.xml,**/build/outputs/androidTest-results/**/*.xml"
|
||||
|
||||
- name: Upload Test Results
|
||||
if: ${{ always() && inputs.upload_artifacts }}
|
||||
|
|
|
|||
|
|
@ -48,3 +48,35 @@ plugins {
|
|||
dependencies {
|
||||
dokkaPlugin(libs.dokka.android.documentation.plugin)
|
||||
}
|
||||
|
||||
val debugTests = listOf(
|
||||
"testDebugUnitTest",
|
||||
"testFdroidDebugUnitTest",
|
||||
"testGoogleDebugUnitTest"
|
||||
)
|
||||
|
||||
tasks.register("runAllDebugTests") {
|
||||
group = "verification"
|
||||
description = "Runs all unit tests for debug variants and flavors"
|
||||
dependsOn(subprojects.map { subproject ->
|
||||
subproject.tasks.matching { task ->
|
||||
task.name in debugTests
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
val connectedTests = listOf(
|
||||
"connectedDebugAndroidTest",
|
||||
"connectedFdroidDebugAndroidTest",
|
||||
"connectedGoogleDebugAndroidTest"
|
||||
)
|
||||
|
||||
tasks.register("runAllConnectedDebugTests") {
|
||||
group = "verification"
|
||||
description = "Runs all connected tests for debug variants and flavors"
|
||||
dependsOn(subprojects.map { subproject ->
|
||||
subproject.tasks.matching { task ->
|
||||
task.name in connectedTests
|
||||
}
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue