{"record":{"id":"3fd1078e4e0fd93d","repo":"GoogleContainerTools/skaffold","slug":"executing-build-w","errorCode":null,"errorMessage":"executing build: %w","messagePattern":"executing build: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/skaffold/app/cmd/delete.go","lineNumber":53,"sourceCode":"// NewCmdDelete describes the CLI command to delete deployed resources.\nfunc NewCmdDelete() *cobra.Command {\n\treturn NewCmd(\"delete\").\n\t\tWithDescription(\"Delete any resources deployed by Skaffold\").\n\t\tWithCommonFlags().\n\t\tWithExample(\"Print the resources to be deleted\", \"delete --dry-run\").\n\t\tWithFlags([]*Flag{\n\t\t\t{Value: &dryRun, Name: \"dry-run\", DefValue: false, Usage: \"Don't delete resources, just print them.\", IsEnum: true},\n\t\t}).\n\t\tNoArgs(doDelete)\n}\n\nfunc doDelete(ctx context.Context, out io.Writer) error {\n\topts.DigestSource = constants.TagDigestSource\n\topts.RenderOnly = true\n\treturn withRunner(ctx, out, func(r runner.Runner, configs []util.VersionedConfig) error {\n\t\tbRes, err := r.Build(ctx, io.Discard, targetArtifacts(opts, configs))\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"executing build: %w\", err)\n\t\t}\n\n\t\tmanifestListByConfig, err := r.Render(ctx, io.Discard, bRes, false)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"rendering manifests: %w\", err)\n\t\t}\n\t\treturn r.Cleanup(ctx, out, dryRun, manifestListByConfig, opts.Command)\n\t})\n}\n","sourceCodeStart":35,"sourceCodeEnd":63,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/cmd/skaffold/app/cmd/delete.go#L35-L63","documentation":"Wraps a failure from Runner.Build during `skaffold delete`. Delete intentionally performs a full build and render (RenderOnly=true, tag digest source) to reconstruct the manifests before cleanup, so any build error — failed container image build, push failure, missing builder — surfaces here instead of during deploy.","triggerScenarios":"Running `skaffold delete` when the build step fails: Dockerfile/builder error, registry push failure, missing dependencies, or invalid build configuration, since delete re-runs the build to regenerate manifests for cleanup.","commonSituations":"Cluster/image context changed since the resources were deployed so the build no longer succeeds; Docker daemon not running; registry credentials expired; user modified source files or build config after deploy.","solutions":["Inspect the wrapped underlying error for the real build failure (daemon down, Dockerfile error, push denied)","Start/repair the builder (e.g. `docker info`) or fix the Dockerfile/config","If cleanup is urgent, skip manifest reconstruction with `skaffold delete --dry-run=false` alternatives or manually delete resources (kubectl delete) ","Use `skaffold delete` from the same working directory/config used for deploy"],"exampleFix":"// before: delete fails because tagger needs to rebuild to get digests\n// after: keep image digests so delete can clean up without a fresh build\n//   export KUBECONFIG and run deploy with --digest-source=local, or\n//   skaffold delete --kube-context <ctx>   # after fixing build\n# fallback manual cleanup\nkubectl delete -f <rendered-manifests.yaml>","handlingStrategy":"try-catch","validationCode":"// before delete, confirm the builder works\ndocker info >/dev/null 2>&1 || echo \"docker daemon down\"\nskaffold build --dry-run 2>/dev/null || echo \"check skaffold.yaml build section\"","typeGuard":null,"tryCatchPattern":"err := skaffoldDelete(); err != nil {\n    if strings.Contains(err.Error(), \"executing build:\") {\n        // underlying cause is after this prefix — inspect and fix build env\n    }\n}","preventionTips":["Run `skaffold delete` from the same dir/config used at deploy time","Keep Docker/cluster-builder healthy before cleanup operations","Preserve rendered manifests so cleanup can proceed without rebuilding"],"tags":["skaffold","build","docker"],"backgroundTag":"build-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"}