Skip to content

Commit

Permalink
Measure game test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
rubensworks committed Dec 2, 2024
1 parent 73a8176 commit 3102c87
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 23 deletions.
9 changes: 3 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,9 @@ jobs:
GITHUB_USER: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 'Test'
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
if: ${{ env.COVERALLS_REPO_TOKEN }}
run: ./gradlew test jacocoTestReport coveralls
- name: 'Game Test'
run: ./gradlew runGameTestServer -x :loader-forge:downloadAssets
run: ./gradlew test runGameTestServer jacocoTestReport -x :loader-forge:downloadAssets
- name: 'Submit coverage results'
uses: coverallsapp/github-action@v2
- name: 'Deploy as GitHub CI artifacts'
uses: actions/upload-artifact@v4
with:
Expand Down
1 change: 0 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id 'net.darkhax.curseforgegradle' version '1.0.8' apply false
id 'com.github.kt3k.coveralls' version '2.12.0' apply false
id 'com.diffplug.spotless' version '6.25.0' apply false
id 'com.modrinth.minotaur' version '2.+' apply false

Expand Down
11 changes: 7 additions & 4 deletions buildSrc/src/main/groovy/multiloader-common.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ plugins {
id 'java-library'
id 'maven-publish'
id 'jacoco'
id 'com.github.kt3k.coveralls'
id 'com.diffplug.spotless'
}

Expand Down Expand Up @@ -291,14 +290,18 @@ tasks.configureEach { task ->
}
}

javadoc {
// prevent java 8's strict doclint for javadocs from failing builds
options.addStringOption('Xdoclint:accessibility,html,reference,syntax', '-quiet')
}

jacocoTestReport {
reports {
xml.required = true
html.required = true
}
}

javadoc {
// prevent java 8's strict doclint for javadocs from failing builds
options.addStringOption('Xdoclint:accessibility,html,reference,syntax', '-quiet')
jacoco {
toolVersion = "0.8.12"
}
10 changes: 10 additions & 0 deletions buildSrc/src/main/groovy/multiloader-loader-fabric.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ task runGameTestServer {
dependsOn tasks.runGameTest
}

// Measure coverage for game tests
jacoco {
applyTo runGameTest
}
jacocoTestReport {
dependsOn test, runGameTest
// Include unit and game test coverage
executionData fileTree(project.buildDir).include("jacoco/*.exec")
}

publishing {
publications { PublicationContainer publicationContainer ->
publicationContainer.getByName("maven") { MavenPublication publication ->
Expand Down
37 changes: 25 additions & 12 deletions buildSrc/src/main/groovy/multiloader-loader-neoforge.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,30 @@ runs {
}
}

tasks.register('signJar').configure {
dependsOn(tasks.jar)

onlyIf {
System.getenv().SIGN_KEYSTORE
// Disabled because signed jars are not being checked anyways
//tasks.register('signJar').configure {
// dependsOn(tasks.jar)
//
// onlyIf {
// System.getenv().SIGN_KEYSTORE
// }
//
// keyStore = System.getenv().SIGN_KEYSTORE
// alias = System.getenv().SIGN_ALIAS
// storePass = System.getenv().SIGN_STOREPASS
// keyPass = System.getenv().SIGN_KEYPASS
// input = jar.archivePath
// output = jar.archivePath
//}

// Measure coverage for game tests
tasks.whenTaskAdded { task ->
if (task.name.equals('runGameTestServer')) {
jacocoTestReport.dependsOn test, task
jacoco.applyTo(task)
}

keyStore = System.getenv().SIGN_KEYSTORE
alias = System.getenv().SIGN_ALIAS
storePass = System.getenv().SIGN_STOREPASS
keyPass = System.getenv().SIGN_KEYPASS
input = jar.archivePath
output = jar.archivePath
}
jacocoTestReport {
// Include unit and game test coverage
executionData fileTree(project.buildDir).include("jacoco/*.exec")
}

0 comments on commit 3102c87

Please sign in to comment.