diff --git a/internal/pkg/deploy/cloudformation/app.go b/internal/pkg/deploy/cloudformation/app.go index fa8eab7dd29..47b9b84aa65 100644 --- a/internal/pkg/deploy/cloudformation/app.go +++ b/internal/pkg/deploy/cloudformation/app.go @@ -456,9 +456,12 @@ func (cf CloudFormation) cleanUpRegionalResources(app *config.Application, regio if err := s3.EmptyBucket(resources.S3Bucket); err != nil { return err } + ecrRepoName := func(app, workload string) string { + return fmt.Sprintf("%s/%s", app, workload) + } ecr := cf.regionalECRClient(region) - for repo := range resources.RepositoryURLs { - if err := ecr.ClearRepository(repo); err != nil { + for svcName := range resources.RepositoryURLs { + if err := ecr.ClearRepository(ecrRepoName(app.Name, svcName)); err != nil { return err } } diff --git a/internal/pkg/deploy/cloudformation/app_test.go b/internal/pkg/deploy/cloudformation/app_test.go index 3b97d0ac103..ab0565f3d48 100644 --- a/internal/pkg/deploy/cloudformation/app_test.go +++ b/internal/pkg/deploy/cloudformation/app_test.go @@ -1343,7 +1343,7 @@ func TestCloudFormation_RemoveEnvFromApp(t *testing.T) { }, nil) regionalCfn.EXPECT().Describe("some-stack").Return(mockValidAppResourceStack(), nil) s3.EXPECT().EmptyBucket("tests3-bucket-us-west-2").Return(nil) - ecr.EXPECT().ClearRepository("phonetool-svc").Return(nil) + ecr.EXPECT().ClearRepository("phonetool/phonetool-svc").Return(nil) appStackSet.EXPECT().DeleteInstance("phonetool-infrastructure", "1234", "us-west-2").Return("123", nil) appStackSet.EXPECT().WaitForOperation("phonetool-infrastructure", "123").Return(nil) cfn.EXPECT().Describe(stack.NameForAppStack("phonetool")).Return(&cloudformation.StackDescription{ @@ -1432,7 +1432,7 @@ func TestCloudFormation_RemoveEnvFromApp(t *testing.T) { }, nil) regionalCfn.EXPECT().Describe("some-stack").Return(mockValidAppResourceStack(), nil) s3.EXPECT().EmptyBucket("tests3-bucket-us-west-2").Return(nil) - ecr.EXPECT().ClearRepository("phonetool-svc").Return(nil) + ecr.EXPECT().ClearRepository("phonetool/phonetool-svc").Return(nil) appStackSet.EXPECT().DeleteInstance("phonetool-infrastructure", "1234", "us-west-2").Return("123", nil) appStackSet.EXPECT().WaitForOperation("phonetool-infrastructure", "123").Return(nil) cfn.EXPECT().Describe(gomock.Any()).Times(0) @@ -1583,7 +1583,7 @@ func TestCloudFormation_RemoveEnvFromApp(t *testing.T) { }, nil) regionalCfn.EXPECT().Describe("some-stack").Return(mockValidAppResourceStack(), nil) s3.EXPECT().EmptyBucket("tests3-bucket-us-west-2").Return(nil) - ecr.EXPECT().ClearRepository("phonetool-svc").Return(nil) + ecr.EXPECT().ClearRepository("phonetool/phonetool-svc").Return(nil) // Delete stackset instance appStackSet.EXPECT().DeleteInstance("phonetool-infrastructure", "1234", "us-west-2").Return("", errors.New("some error")) appStackSet.EXPECT().WaitForOperation(gomock.Any(), gomock.Any()).Times(0) @@ -1652,7 +1652,7 @@ func TestCloudFormation_RemoveEnvFromApp(t *testing.T) { }, nil) regionalCfn.EXPECT().Describe("some-stack").Return(mockValidAppResourceStack(), nil) s3.EXPECT().EmptyBucket("tests3-bucket-us-west-2").Return(nil) - ecr.EXPECT().ClearRepository("phonetool-svc").Return(nil) + ecr.EXPECT().ClearRepository("phonetool/phonetool-svc").Return(nil) appStackSet.EXPECT().DeleteInstance("phonetool-infrastructure", "1234", "us-west-2").Return("123", nil) appStackSet.EXPECT().WaitForOperation("phonetool-infrastructure", "123").Return(nil) cfn.EXPECT().Describe(stack.NameForAppStack("phonetool")).Return(&cloudformation.StackDescription{