{"record":{"id":"30e9a9a8e7e805ab","repo":"GoogleContainerTools/skaffold","slug":"found-duplicate-container-name-s-in-verify-te","errorCode":null,"errorMessage":"found duplicate container name '%s' in 'verify' test cases. 'verify' container names must be unique","messagePattern":"found duplicate container name '(.+?)' in 'verify' test cases\\. 'verify' container names must be unique","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/schema/validation/validation.go","lineNumber":723,"sourceCode":"}\n\n// validateVerifyTests\n// - makes sure that each test name is unique\n// - makes sure that each container name is unique\nfunc validateVerifyTests(runCtx *runcontext.RunContext) []error {\n\tvar errs []error\n\tseenTestName := map[string]bool{}\n\tseenContainerName := map[string]bool{}\n\ttcs := []*latest.VerifyTestCase{}\n\tfor _, pipeline := range runCtx.GetPipelines() {\n\t\ttcs = append(tcs, pipeline.Verify...)\n\t}\n\tfor _, tc := range tcs {\n\t\tif _, ok := seenTestName[tc.Name]; ok {\n\t\t\terrs = append(errs, fmt.Errorf(\"found duplicate test name '%s' in 'verify' test cases. 'verify' test case names must be unique\", tc.Name))\n\t\t}\n\t\tif _, ok := seenContainerName[tc.Container.Name]; ok {\n\t\t\terrs = append(errs, fmt.Errorf(\"found duplicate container name '%s' in 'verify' test cases. 'verify' container names must be unique\", tc.Container.Name))\n\t\t}\n\t\tseenTestName[tc.Name] = true\n\t\tseenContainerName[tc.Container.Name] = true\n\t}\n\treturn errs\n}\n\n// validateCustomActions\n// - makes sure that each custom action name is unique\n// - makes sure that each custom action container name is unique\nfunc validateCustomActionsNames(runCtx *runcontext.RunContext) (errs []error) {\n\tacs := []latest.Action{}\n\tseenAcs := map[string]bool{}\n\tseenConts := map[string]bool{}\n\n\tfor _, pipeline := range runCtx.GetPipelines() {\n\t\tacs = append(acs, pipeline.CustomActions...)\n\t}","sourceCodeStart":705,"sourceCodeEnd":741,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/schema/validation/validation.go#L705-L741","documentation":"Within verify test cases, the container names (tc.Container.Name) must be unique across all pipelines; Kubernetes pod container names must be unique anyway. validateVerifyTests tracks seen container names and errors on duplicates.","triggerScenarios":"Two verify test cases (in any pipeline of the run context) declare the same `container.name:`, processed via ProcessWithRunContext.","commonSituations":"Duplicating a verify block and changing only the test name/image but not the container name, or merging multiple skaffold configs that both use a generic name like 'test'.","solutions":["Give each verify test case's container a unique `container.name`","Remove the duplicated test case if unintended","Namespace container names per config/module when using multiple configs"],"exampleFix":"# before\nverify:\n  - name: unit\n    container: { name: tester, image: tester:1 }\n  - name: e2e\n    container: { name: tester, image: tester:2 }\n# after\nverify:\n  - name: unit\n    container: { name: unit-tester, image: tester:1 }\n  - name: e2e\n    container: { name: e2e-tester, image: tester:2 }","handlingStrategy":"validation","validationCode":"const names = configs.flatMap(c => (c.verify ?? []).map(t => t.container?.name)).filter(Boolean);\nconst dupes = names.filter((n, i) => names.indexOf(n) !== i);\nif (dupes.length) throw new Error(`duplicate verify container names: ${[...new Set(dupes)].join(', ')}`);","typeGuard":null,"tryCatchPattern":"try {\n  await skaffold.verify(config);\n} catch (e) {\n  if (/duplicate container name .* in 'verify'/.test(e.message)) {\n    console.error('Give each verify container a unique name');\n  } else throw e;\n}","preventionTips":["When duplicating a verify case, rename both the test name and container.name","Use per-module container name prefixes in multi-config projects","Lint skaffold.yaml for duplicate keys across all config files"],"tags":["skaffold","config-validation","verify","duplicate-names"],"backgroundTag":"skaffold-config-validation","analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}