{"record":{"id":"559beecc1ce52dc9","repo":"GoogleContainerTools/skaffold","slug":"creating-verifier-w","errorCode":null,"errorMessage":"creating verifier: %w","messagePattern":"creating verifier: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/runner/new.go","lineNumber":110,"sourceCode":"\t}\n\trOpts := platform.ResolverOpts{\n\t\tKubeContext:               runCtx.KubeContext,\n\t\tCliPlatformsSelection:     runCtx.Opts.Platforms,\n\t\tCheckClusterNodePlatforms: runCtx.CheckClusterNodePlatforms(),\n\t\tDisableMultiPlatformBuild: runCtx.DisableMultiPlatformBuild(),\n\t}\n\n\tplatforms, err := platform.NewResolver(ctx, runCtx.Pipelines.All(), rOpts)\n\tif err != nil {\n\t\tendTrace(instrumentation.TraceEndError(err))\n\t\treturn nil, fmt.Errorf(\"getting target platforms: %w\", err)\n\t}\n\n\tvar verifier verify.Verifier\n\tverifier, err = GetVerifier(ctx, runCtx, labeller)\n\tif err != nil {\n\t\tendTrace(instrumentation.TraceEndError(err))\n\t\treturn nil, fmt.Errorf(\"creating verifier: %w\", err)\n\t}\n\n\tvar acsRunner ActionsRunner\n\tacsRunner, err = GetActionsRunner(ctx, runCtx, labeller, runCtx.VerifyDockerNetwork(), runCtx.Opts.VerifyEnvFile)\n\tif err != nil {\n\t\tendTrace(instrumentation.TraceEndError(err))\n\t\treturn nil, fmt.Errorf(\"creating actiosn runner: %w\", err)\n\t}\n\n\tdepLister := func(ctx context.Context, artifact *latest.Artifact, tag string) ([]string, error) {\n\t\tctx, endTrace := instrumentation.StartTrace(ctx, \"NewForConfig_depLister\")\n\t\tdefer endTrace()\n\n\t\tbuildDependencies, err := sourceDependencies.SingleArtifactDependencies(ctx, artifact, tag)\n\t\tif err != nil {\n\t\t\tendTrace(instrumentation.TraceEndError(err))\n\t\t\treturn nil, err\n\t\t}","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/runner/new.go#L92-L128","documentation":"`GetVerifier` instantiates the verification step (e.g. the built-in application verifier used by `skaffold verify`) from run context and labeller. This wraps failures constructing that verifier during `NewForConfig`, aborting startup before build/deploy.","triggerScenarios":"Running `skaffold verify` (or a command that wires verifiers) while the verify config in skaffold.yaml fails construction: missing/invalid container image reference in `verify:` entries, malformed execution env config, or required docker/network settings that can't be resolved.","commonSituations":"`verify:` test cases with empty or malformed image names; Docker not available/running when the verifier needs container execution; renamed verify config fields after a skaffold upgrade.","solutions":["Check the wrapped error and fix the `verify:` section in skaffold.yaml (image names, env config).","Ensure Docker (or the target container runtime) is installed and running for verify execution.","Run `skaffold diagnose` to validate the config schema.","Update the skaffold config `apiVersion`/fields if this appeared after upgrading skaffold."],"exampleFix":"// skaffold.yaml before\nverify:\n- name: smoke\n  container:\n    image: \"\"\n// after\nverify:\n- name: smoke\n  container:\n    image: \"registry.example.com/smoke-tester:v1\"","handlingStrategy":"validation","validationCode":"for _, v := range cfg.Verify {\n  if v.Container != nil && v.Container.Image == \"\" {\n    return fmt.Errorf(\"verify entry %q: container.image is required\", v.Name)\n  }\n}","typeGuard":null,"tryCatchPattern":"runner, err := runner.NewForConfig(runCtx)\nif err != nil {\n  if strings.Contains(err.Error(), \"creating verifier\") {\n    return fmt.Errorf(\"verify config invalid: %w\", err)\n  }\n  return err\n}","preventionTips":["Fill required image/name fields in every `verify:` entry.","Ensure Docker is running where verify executes.","Validate skaffold.yaml with `skaffold diagnose` after upgrades."],"tags":["config","verify","containers"],"backgroundTag":"verifier-init-failed","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"}