Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package docker-compose for openSUSE:Factory checked in at 2022-09-21 14:43:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/docker-compose (Old) and /work/SRC/openSUSE:Factory/.docker-compose.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "docker-compose" Wed Sep 21 14:43:10 2022 rev:6 rq:1005151 version:2.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/docker-compose/docker-compose.changes 2022-09-15 23:00:04.717365860 +0200 +++ /work/SRC/openSUSE:Factory/.docker-compose.new.2083/docker-compose.changes 2022-09-21 14:44:10.398034281 +0200 @@ -1,0 +2,10 @@ +Wed Sep 21 08:31:36 UTC 2022 - ka...@b1-systems.de + +- Update to version 2.11.1: + * keep the platform defined via DOCKER_DEFAULT_PLATFORM during build if no build platforms provided + * Fix linting issues + * Don't overwrite existing dependency condition + * Add unit tests for `PrepareVolumes` + * keep the platform defined at service level during build if no build platforms provided + +------------------------------------------------------------------- Old: ---- compose-2.11.0.tar.gz New: ---- compose-2.11.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ docker-compose.spec ++++++ --- /var/tmp/diff_new_pack.yXzxkM/_old 2022-09-21 14:44:11.014035889 +0200 +++ /var/tmp/diff_new_pack.yXzxkM/_new 2022-09-21 14:44:11.018035899 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: docker-compose -Version: 2.11.0 +Version: 2.11.1 Release: 0 Summary: Define and run multi-container applications with Docker License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.yXzxkM/_old 2022-09-21 14:44:11.058036004 +0200 +++ /var/tmp/diff_new_pack.yXzxkM/_new 2022-09-21 14:44:11.062036014 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/docker/compose</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v2.11.0</param> + <param name="revision">v2.11.1</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> @@ -16,7 +16,7 @@ <param name="compression">gz</param> </service> <service name="go_modules" mode="disabled"> - <param name="archive">compose-2.11.0.tar.gz</param> + <param name="archive">compose-2.11.1.tar.gz</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.yXzxkM/_old 2022-09-21 14:44:11.086036077 +0200 +++ /var/tmp/diff_new_pack.yXzxkM/_new 2022-09-21 14:44:11.090036087 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/docker/compose</param> - <param name="changesrevision">ddc4896b10e2b5b615cb1caab724c750925f7815</param></service></servicedata> + <param name="changesrevision">a1c50ef2c987d4709865aa02c237f45b08c529e2</param></service></servicedata> (No newline at EOF) ++++++ compose-2.11.0.tar.gz -> compose-2.11.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.11.0/pkg/compose/build.go new/compose-2.11.1/pkg/compose/build.go --- old/compose-2.11.0/pkg/compose/build.go 2022-09-14 11:45:30.000000000 +0200 +++ new/compose-2.11.1/pkg/compose/build.go 2022-09-20 10:00:10.000000000 +0200 @@ -363,7 +363,15 @@ } if service.Platform != "" && !utils.StringContains(service.Build.Platforms, service.Platform) { - return nil, fmt.Errorf("service.platform should be part of the service.build.platforms: %q", service.Platform) + if len(service.Build.Platforms) > 0 { + return nil, fmt.Errorf("service.platform should be part of the service.build.platforms: %q", service.Platform) + } + // User defined a service platform and no build platforms, so we should keep the one define on the service level + p, err := platforms.Parse(service.Platform) + if !utils.Contains(plats, p) { + plats = append(plats, p) + } + return plats, err } for _, buildPlatform := range service.Build.Platforms { @@ -395,7 +403,7 @@ func useDockerDefaultPlatform(project *types.Project, platformList types.StringList) ([]specs.Platform, error) { var plats []specs.Platform if platform, ok := project.Environment["DOCKER_DEFAULT_PLATFORM"]; ok { - if !utils.StringContains(platformList, platform) { + if len(platformList) > 0 && !utils.StringContains(platformList, platform) { return nil, fmt.Errorf("the DOCKER_DEFAULT_PLATFORM value should be part of the service.build.platforms: %q", platform) } p, err := platforms.Parse(platform) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.11.0/pkg/compose/create.go new/compose-2.11.1/pkg/compose/create.go --- old/compose-2.11.0/pkg/compose/create.go 2022-09-14 11:45:30.000000000 +0200 +++ new/compose-2.11.1/pkg/compose/create.go 2022-09-20 10:00:10.000000000 +0200 @@ -125,7 +125,8 @@ p.Services[i].DependsOn = make(types.DependsOnConfig, len(dependServices)) } for _, service := range p.Services { - if utils.StringContains(dependServices, service.Name) { + if utils.StringContains(dependServices, service.Name) && + p.Services[i].DependsOn[service.Name].Condition == "" { p.Services[i].DependsOn[service.Name] = types.ServiceDependency{ Condition: types.ServiceConditionStarted, } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.11.0/pkg/compose/create_test.go new/compose-2.11.1/pkg/compose/create_test.go --- old/compose-2.11.0/pkg/compose/create_test.go 2022-09-14 11:45:30.000000000 +0200 +++ new/compose-2.11.1/pkg/compose/create_test.go 2022-09-20 10:00:10.000000000 +0200 @@ -96,6 +96,46 @@ })) } +func TestPrepareVolumes(t *testing.T) { + t.Run("adds dependency condition if service depends on volume from another service", func(t *testing.T) { + project := composetypes.Project{ + Name: "myProject", + Services: []composetypes.ServiceConfig{ + { + Name: "aService", + VolumesFrom: []string{"anotherService"}, + }, + { + Name: "anotherService", + }, + }, + } + err := prepareVolumes(&project) + assert.NilError(t, err) + assert.Equal(t, project.Services[0].DependsOn["anotherService"].Condition, composetypes.ServiceConditionStarted) + }) + t.Run("doesn't overwrite existing dependency condition", func(t *testing.T) { + project := composetypes.Project{ + Name: "myProject", + Services: []composetypes.ServiceConfig{ + { + Name: "aService", + VolumesFrom: []string{"anotherService"}, + DependsOn: map[string]composetypes.ServiceDependency{ + "anotherService": {Condition: composetypes.ServiceConditionHealthy}, + }, + }, + { + Name: "anotherService", + }, + }, + } + err := prepareVolumes(&project) + assert.NilError(t, err) + assert.Equal(t, project.Services[0].DependsOn["anotherService"].Condition, composetypes.ServiceConditionHealthy) + }) +} + func TestBuildContainerMountOptions(t *testing.T) { project := composetypes.Project{ Name: "myProject", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.11.0/pkg/e2e/build_test.go new/compose-2.11.1/pkg/e2e/build_test.go --- old/compose-2.11.0/pkg/e2e/build_test.go 2022-09-14 11:45:30.000000000 +0200 +++ new/compose-2.11.1/pkg/e2e/build_test.go 2022-09-20 10:00:10.000000000 +0200 @@ -314,6 +314,14 @@ res.Assert(t, icmd.Expected{Out: "I am building for linux/amd64"}) assert.Assert(t, !strings.Contains(res.Stdout(), "I am building for linux/arm64")) }) + + t.Run("use service platform value when no build platforms defined ", func(t *testing.T) { + res := c.RunDockerComposeCmdNoCheck(t, "--project-directory", "fixtures/build-test/platforms", + "-f", "fixtures/build-test/platforms/compose-service-platform-and-no-build-platforms.yaml", "build") + assert.NilError(t, res.Error, res.Stderr()) + res.Assert(t, icmd.Expected{Out: "I am building for linux/386"}) + }) + } func TestBuildPlatformsStandardErrors(t *testing.T) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.11.0/pkg/e2e/fixtures/build-test/platforms/compose-service-platform-and-no-build-platforms.yaml new/compose-2.11.1/pkg/e2e/fixtures/build-test/platforms/compose-service-platform-and-no-build-platforms.yaml --- old/compose-2.11.0/pkg/e2e/fixtures/build-test/platforms/compose-service-platform-and-no-build-platforms.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/compose-2.11.1/pkg/e2e/fixtures/build-test/platforms/compose-service-platform-and-no-build-platforms.yaml 2022-09-20 10:00:10.000000000 +0200 @@ -0,0 +1,6 @@ +services: + platforms: + image: build-test-platform:test + platform: linux/386 + build: + context: . ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/docker-compose/vendor.tar.gz /work/SRC/openSUSE:Factory/.docker-compose.new.2083/vendor.tar.gz differ: char 5, line 1