Prevent duplicate JSON being written to build-results

This commit is contained in:
Daz DeBoer 2022-06-05 21:55:11 -06:00
parent a4a9a30e86
commit 0b5047ec4d
No known key found for this signature in database
GPG key ID: DD6B9F0B06683D5D
2 changed files with 6 additions and 2 deletions

View file

@ -84,7 +84,7 @@ def captureUsingBuildFinished(gradle, invocationId) {
gradle.buildFinished { result ->
def buildResults = [
rootProjectName: gradle.rootProject.name,
rootProjectDir: gradle.rootProject.rootDir.absolutePath,
rootProjectDir: gradle.rootProject.rootDir.absolutePath,
requestedTasks: gradle.startParameter.taskNames.join(" "),
gradleVersion: GradleVersion.current().version,
gradleHomeDir: gradle.gradleHomeDir.absolutePath,
@ -95,7 +95,10 @@ def captureUsingBuildFinished(gradle, invocationId) {
def buildResultsDir = new File(System.getenv("RUNNER_TEMP"), ".build-results")
buildResultsDir.mkdirs()
def buildResultsFile = new File(buildResultsDir, System.getenv("GITHUB_ACTION") + invocationId + ".json")
buildResultsFile << groovy.json.JsonOutput.toJson(buildResults)
// Don't overwrite file generated by build-scan plugin if present (which has build-scan-uri)
if (!buildResultsFile.exists()) {
buildResultsFile << groovy.json.JsonOutput.toJson(buildResults)
}
}
}

View file

@ -135,6 +135,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
assert buildResultsDir.listFiles().size() == 1
def resultsFile = buildResultsDir.listFiles()[0]
assert resultsFile.name.startsWith('github-step-id')
assert resultsFile.text.count('rootProjectName') == 1
return resultsFile
}
}