Record build failure for configuration failure

This commit is contained in:
daz 2025-02-25 21:42:53 -08:00
parent b9c6da94c2
commit 597453a60d
No known key found for this signature in database
3 changed files with 23 additions and 4 deletions

View File

@ -41,7 +41,8 @@ abstract class BuildResultsRecorder implements BuildService<BuildResultsRecorder
// Got EVALUATE SETTINGS event: not a config-cache hit"
configCacheHit = false
}
if (buildOperation.metadata == BuildOperationCategory.RUN_WORK) {
if (buildOperation.metadata == BuildOperationCategory.RUN_WORK ||
buildOperation.metadata == BuildOperationCategory.CONFIGURE_PROJECT) {
if (finishEvent.failure != null) {
buildFailed = true
}

View File

@ -41,11 +41,13 @@ class BaseInitScriptTest extends Specification {
GRADLE_8_X,
]
static final List<TestGradleVersion> PROJECT_PLUGIN_VERSIONS =
[GRADLE_3_X, GRADLE_4_X, GRADLE_5_X]
static final List<TestGradleVersion> CONFIGURATION_CACHE_VERSIONS =
[GRADLE_7_X, GRADLE_8_0, GRADLE_8_X]
static final List<TestGradleVersion> SETTINGS_PLUGIN_VERSIONS =
[GRADLE_6_X, GRADLE_7_1, GRADLE_7_X, GRADLE_8_0, GRADLE_8_X]
static final List<TestGradleVersion> SETTINGS_PLUGIN_VERSIONS = ALL_VERSIONS - PROJECT_PLUGIN_VERSIONS
static final String PUBLIC_BUILD_SCAN_ID = 'i2wepy2gr7ovw'
static final String DEFAULT_SCAN_UPLOAD_TOKEN = 'scan-upload-token'

View File

@ -20,7 +20,7 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
testGradleVersion << ALL_VERSIONS
}
def "produces build results file for failing build with #testGradleVersion"() {
def "produces build results file for failing task with #testGradleVersion"() {
assumeTrue testGradleVersion.compatibleWithCurrentJvm
when:
@ -34,6 +34,22 @@ class TestBuildResultRecorder extends BaseInitScriptTest {
testGradleVersion << ALL_VERSIONS
}
def "produces build results file for failing configuration with #testGradleVersion"() {
assumeTrue testGradleVersion.compatibleWithCurrentJvm
when:
buildFile << '''
throw new RuntimeException("Error in configuration")
'''
runAndFail(testGradleVersion.gradleVersion)
then:
assertResults('expectFailure', testGradleVersion, true)
where:
testGradleVersion << SETTINGS_PLUGIN_VERSIONS // No build results generated for older Gradle versions
}
def "produces build results file for build that fails in included build with #testGradleVersion"() {
assumeTrue testGradleVersion.compatibleWithCurrentJvm