@@ -201,3 +201,40 @@ func TestBuildTags(t *testing.T) {
201201 res .Assert (t , icmd.Expected {Out : expectedOutput })
202202 })
203203}
204+
205+ func TestBuildImageDependencies (t * testing.T ) {
206+ doTest := func (t * testing.T , cli * CLI ) {
207+ resetState := func () {
208+ cli .RunDockerComposeCmd (t , "down" , "--rmi=all" , "-t=0" )
209+ }
210+ resetState ()
211+ t .Cleanup (resetState )
212+
213+ // the image should NOT exist now
214+ res := cli .RunDockerOrExitError (t , "image" , "inspect" , "build-dependencies_service" )
215+ res .Assert (t , icmd.Expected {
216+ ExitCode : 1 ,
217+ Err : "Error: No such image: build-dependencies_service" ,
218+ })
219+
220+ res = cli .RunDockerComposeCmd (t , "build" )
221+ t .Log (res .Combined ())
222+
223+ res = cli .RunDockerCmd (t ,
224+ "image" , "inspect" , "--format={{ index .RepoTags 0 }}" ,
225+ "build-dependencies_service" )
226+ res .Assert (t , icmd.Expected {Out : "build-dependencies_service:latest" })
227+ }
228+
229+ t .Run ("ClassicBuilder" , func (t * testing.T ) {
230+ cli := NewParallelCLI (t , WithEnv (
231+ "DOCKER_BUILDKIT=0" ,
232+ "COMPOSE_FILE=./fixtures/build-dependencies/compose.yaml" ,
233+ ))
234+ doTest (t , cli )
235+ })
236+
237+ t .Run ("BuildKit" , func (t * testing.T ) {
238+ t .Skip ("See https://github.com/docker/compose/issues/9232" )
239+ })
240+ }
0 commit comments