Skip to content

Conversation

nosan
Copy link
Contributor

@nosan nosan commented Oct 7, 2025

Related to #47200

@nosan
Copy link
Contributor Author

nosan commented Oct 8, 2025

The build failure is not related to these changes

org.springframework.boot.docker.compose.core.ProcessExitException: 'docker compose --file /tmp/DockerComposeTestExtension-12412609386044670524/compose.yaml --ansi never up --no-color --detach --wait' failed with exit code 1.

Stdout:


Stderr:
 neo4j Pulling 
 neo4j Error manifest for bitnami/neo4j:5.16.0 not found: manifest unknown: manifest unknown
Error response from daemon: manifest for bitnami/neo4j:5.16.0 not found: manifest unknown: manifest unknown

	at app//org.springframework.boot.docker.compose.core.ProcessRunner.run(ProcessRunner.java:97)
	at app//org.springframework.boot.docker.compose.core.DockerCli.run(DockerCli.java:81)
	at app//org.springframework.boot.docker.compose.core.DefaultDockerCompose.up(DefaultDockerCompose.java:56)
	at app//org.springframework.boot.docker.compose.lifecycle.StartCommand.applyTo(StartCommand.java:51)
	at app//org.springframework.boot.docker.compose.lifecycle.DockerComposeLifecycleManager.start(DockerComposeLifecycleManager.java:131)
	at app//org.springframework.boot.docker.compose.lifecycle.DockerComposeListener.onApplicationEvent(DockerComposeListener.java:53)
	at app//org.springframework.boot.docker.compose.lifecycle.DockerComposeListener.onApplicationEvent(DockerComposeListener.java:35)
	at app//org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185)
	at app//org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178)
	at app//org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156)
	at app//org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
	at app//org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136)
	at app//org.springframework.boot.context.event.EventPublishingRunListener.contextLoaded(EventPublishingRunListener.java:98)
	at app//org.springframework.boot.SpringApplicationRunListeners.lambda$contextLoaded$4(SpringApplicationRunListeners.java:72)
	at [email protected]/java.lang.Iterable.forEach(Iterable.java:75)
	at app//org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118)
	at app//org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112)
	at app//org.springframework.boot.SpringApplicationRunListeners.contextLoaded(SpringApplicationRunListeners.java:72)
	at app//org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:416)
	at app//org.springframework.boot.SpringApplication.run(SpringApplication.java:317)
	at app//org.springframework.boot.docker.compose.service.connection.test.DockerComposeTestExtension.beforeTestExecution(DockerComposeTestExtension.java:69)
	at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
	at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)

Copy link

@danish-ali danish-ali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the new ArchUnit coverage in ArchitectureCheckTests for the @ConditionalOnClass on @bean methods case.
To guard against regressions from moving the condition to configuration classes, could we add an integration test using ApplicationContextRunner with a FilteredClassLoader that hides the target type and verifies the bean is not created?
Examples here would be:

hide org.springframework.security.authentication.event.AbstractAuthenticationEvent for the authentication listener path in AuditAutoConfiguration,

hide org.apache.catalina.valves.AccessLogValve / io.undertow.Undertow for the servlet management access-log customizers,

(optionally) hide ObjectMapper to confirm the Jackson endpoint config still behaves as expected.
This would complement the buildSrc ArchUnit rule by exercising runtime classpath absence under Boot’s typical testing pattern.

@wilkinsona
Copy link
Member

Thanks for the suggestion, @danish-ali, but that's out of scope for this PR. I also don't think it would bring much benefit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: waiting-for-triage An issue we've not yet triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants