mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-10-31 23:28:55 +08:00 
			
		
		
		
	| @@ -50,12 +50,16 @@ abstract class BuildResultsRecorder implements BuildService<BuildResultsRecorder | ||||
|         if (!runnerTempDir || !githubActionStep) { | ||||
|             return | ||||
|         } | ||||
|          | ||||
|         def buildResultsDir = new File(runnerTempDir, ".build-results") | ||||
|         buildResultsDir.mkdirs() | ||||
|         def buildResultsFile = new File(buildResultsDir, githubActionStep + getParameters().getInvocationId().get() + ".json") | ||||
|         if (!buildResultsFile.exists()) { | ||||
|             buildResultsFile << groovy.json.JsonOutput.toJson(buildResults) | ||||
|  | ||||
|         try { | ||||
|             def buildResultsDir = new File(runnerTempDir, ".build-results") | ||||
|             buildResultsDir.mkdirs() | ||||
|             def buildResultsFile = new File(buildResultsDir, githubActionStep + getParameters().getInvocationId().get() + ".json") | ||||
|             if (!buildResultsFile.exists()) { | ||||
|                 buildResultsFile << groovy.json.JsonOutput.toJson(buildResults) | ||||
|             } | ||||
|         } catch (Exception e) { | ||||
|             println "\ngradle-build-action failed to write build-results file. Will continue.\n> ${e.getLocalizedMessage()}" | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -121,18 +121,23 @@ class BuildResults { | ||||
|         if (!runnerTempDir || !githubActionStep) { | ||||
|             return | ||||
|         } | ||||
|          | ||||
|         def buildResultsDir = new File(runnerTempDir, ".build-results") | ||||
|         buildResultsDir.mkdirs() | ||||
|         def buildResultsFile = new File(buildResultsDir, githubActionStep + invocationId + ".json") | ||||
|  | ||||
|         // Overwrite any contents written by buildFinished or build service, since this result is a superset. | ||||
|         if (buildResultsFile.exists()) { | ||||
|             if (overwrite) { | ||||
|                 buildResultsFile.text = groovy.json.JsonOutput.toJson(buildResults) | ||||
|         try { | ||||
|             def buildResultsDir = new File(runnerTempDir, ".build-results") | ||||
|             buildResultsDir.mkdirs() | ||||
|             def buildResultsFile = new File(buildResultsDir, githubActionStep + invocationId + ".json") | ||||
|  | ||||
|             // Overwrite any contents written by buildFinished or build service, since this result is a superset. | ||||
|             if (buildResultsFile.exists()) { | ||||
|                 if (overwrite) { | ||||
|                     buildResultsFile.text = groovy.json.JsonOutput.toJson(buildResults) | ||||
|                 } | ||||
|             } else { | ||||
|                 buildResultsFile << groovy.json.JsonOutput.toJson(buildResults) | ||||
|             } | ||||
|         } else { | ||||
|             buildResultsFile << groovy.json.JsonOutput.toJson(buildResults) | ||||
|  | ||||
|         } catch (Exception e) { | ||||
|             println "\ngradle-build-action failed to write build-results file. Will continue.\n> ${e.getLocalizedMessage()}" | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -148,6 +148,23 @@ class TestBuildResultRecorder extends BaseInitScriptTest { | ||||
|         testGradleVersion << ALL_VERSIONS | ||||
|     } | ||||
|  | ||||
|     def "produces no build results file when RUNNER_TEMP dir is not a writable directory with #testGradleVersion"() { | ||||
|         assumeTrue testGradleVersion.compatibleWithCurrentJvm | ||||
|  | ||||
|         when: | ||||
|         def invalidDir = new File(testProjectDir, 'invalid-runner-temp') | ||||
|         invalidDir.createNewFile() | ||||
|  | ||||
|         run(['help'], initScript, testGradleVersion.gradleVersion, [], [RUNNER_TEMP: invalidDir.absolutePath]) | ||||
|  | ||||
|         then: | ||||
|         def buildResultsDir = new File(testProjectDir, '.build-results') | ||||
|         assert !buildResultsDir.exists() | ||||
|  | ||||
|         where: | ||||
|         testGradleVersion << ALL_VERSIONS | ||||
|     } | ||||
|  | ||||
|     def "produces build results file with build scan when GE plugin is applied in settingsEvaluated"() { | ||||
|         assumeTrue testGradleVersion.compatibleWithCurrentJvm | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user