Skip to content

Explain that Docker Desktop is required to run S3ObjectFetchingTest#137

Merged
rtyley merged 1 commit intomainfrom
explain-that-docker-desktop-is-required
Feb 24, 2026
Merged

Explain that Docker Desktop is required to run S3ObjectFetchingTest#137
rtyley merged 1 commit intomainfrom
explain-that-docker-desktop-is-required

Conversation

@rtyley
Copy link
Member

@rtyley rtyley commented Feb 20, 2026

The S3ObjectFetchingTest uses S3Mock/testcontainers/Docker, and requires Docker Engine to be running on the machine.

  • In GitHub Actions, Docker Engine will be provided by Docker Server, already running
  • On Developer Laptops, Docker Engine will be provided by Docker Desktop, which must be started.

Without Docker Desktop, alternatives like Colima can be explored, but see:

This PR adds a message explaining the problem when Docker Engine isn't available - the default error in this situation wasn't fully explanatory, and didn't explain that Guardian devs will probably want to use & start Docker Desktop:

[info] S3ObjectFetchingTest:
[info] com.gu.etagcaching.aws.sdkv2.s3.S3ObjectFetchingTest *** ABORTED ***
[info]   java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
[info]   at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:229)
[info]   at org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:154)
[info]   at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:196)
[info]   at org.testcontainers.DockerClientFactory$1.getDockerClient(DockerClientFactory.java:108)
[info]   at com.github.dockerjava.api.DockerClientDelegate.authConfig(DockerClientDelegate.java:109)
[info]   at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:321)
[info]   at com.gu.etagcaching.aws.sdkv2.s3.S3ObjectFetchingTest.beforeAll(S3ObjectFetchingTest.scala:52)
[info]   at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:212)
[info]   at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
[info]   at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
[info]   ...

@rtyley rtyley added the maintenance Departmental tracking: maintenance work, not a fix or a feature label Feb 20, 2026
@rtyley rtyley force-pushed the explain-that-docker-desktop-is-required branch 2 times, most recently from 3da6705 to c13f712 Compare February 20, 2026 16:10
@rtyley rtyley force-pushed the explain-that-docker-desktop-is-required branch from c13f712 to c02d85c Compare February 20, 2026 16:12
@rtyley rtyley changed the title Explain that Docker Desktop is required Explain that Docker Desktop is required to run S3ObjectFetchingTest Feb 20, 2026
@rtyley rtyley marked this pull request as ready for review February 20, 2026 16:13
@rtyley rtyley requested a review from a team as a code owner February 20, 2026 16:13
@rtyley rtyley merged commit 53ffb20 into main Feb 24, 2026
7 checks passed
@rtyley rtyley deleted the explain-that-docker-desktop-is-required branch February 24, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Departmental tracking: maintenance work, not a fix or a feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants