@@ -45,6 +45,7 @@ Otherwise, dib will create a new tag based on the previous tag.`
4545 longHelp += "\n "
4646 longHelp += "WARNING: `dib build` is not supported on Windows yet."
4747 }
48+
4849 cmd := & cobra.Command {
4950 Use : "build" ,
5051 Short : "Run oci images builds" ,
@@ -103,6 +104,7 @@ func buildAction(cmd *cobra.Command, _ []string) error {
103104 // Ping the buildkit host to ensure its availability.
104105 // Based on the ping result, we may override the host (e.g., fallback to default buildkit host).
105106 var err error
107+
106108 opts .BuildkitHost , err = getBuildkitHost (cmd )
107109 if err != nil {
108110 return err
@@ -131,10 +133,13 @@ func buildAction(cmd *cobra.Command, _ []string) error {
131133 }
132134 }
133135
134- if err := doBuild (opts , buildArgs ); err != nil {
136+ err := doBuild (opts , buildArgs )
137+ if err != nil {
135138 return fmt .Errorf ("build failed: %w" , err )
136139 }
140+
137141 logger .Infof ("Build process completed" )
142+
138143 return nil
139144}
140145
@@ -146,6 +151,7 @@ func doBuild(opts dib.BuildOpts, buildArgs map[string]string) error {
146151 case types .BackendKaniko :
147152 logger .Warnf ("The kaniko backend is deprecated and will be removed in a future release. " +
148153 "Please use the buildkit backend instead." )
154+
149155 if opts .LocalOnly {
150156 logger .Warnf ("Using Backend \" kaniko\" with the --local-only flag is partially supported." )
151157 }
@@ -157,10 +163,12 @@ func doBuild(opts dib.BuildOpts, buildArgs map[string]string) error {
157163 logger .Infof ("Building images in directory \" %s\" " , buildPath )
158164
159165 logger .Debugf ("Generate DAG" )
166+
160167 graph , err := dib .GenerateDAG (buildPath , opts .RegistryURL , opts .HashListFilePath , buildArgs )
161168 if err != nil {
162169 return fmt .Errorf ("cannot generate DAG: %w" , err )
163170 }
171+
164172 logger .Debugf ("Generate DAG -- Done" )
165173
166174 dibBuilder := dib.Builder {
@@ -175,7 +183,8 @@ func doBuild(opts dib.BuildOpts, buildArgs map[string]string) error {
175183 return fmt .Errorf ("cannot connect to registry: %w" , err )
176184 }
177185
178- if err := dibBuilder .Plan (gcrRegistry ); err != nil {
186+ err = dibBuilder .Plan (gcrRegistry )
187+ if err != nil {
179188 return fmt .Errorf ("cannot plan build: %w" , err )
180189 }
181190
@@ -194,7 +203,9 @@ func doBuild(opts dib.BuildOpts, buildArgs map[string]string) error {
194203 if err != nil {
195204 return err
196205 }
206+
197207 shell .Env = os .Environ ()
208+
198209 builder , err = buildkit .NewBKBuilder (opts .Buildkit , shell , buildctlBinary , opts .LocalOnly )
199210 if err != nil {
200211 return err
@@ -206,11 +217,14 @@ func doBuild(opts dib.BuildOpts, buildArgs map[string]string) error {
206217 res := dibBuilder .RebuildGraph (builder , ratelimit .NewChannelRateLimiter (opts .RateLimit ), buildArgs )
207218
208219 res .Print ()
209- if err := report .Generate (res , dibBuilder .Graph ); err != nil {
220+
221+ err = report .Generate (res , dibBuilder .Graph )
222+ if err != nil {
210223 return fmt .Errorf ("cannot generate report: %w" , err )
211224 }
212225
213- if err := res .CheckError (); err != nil {
226+ err = res .CheckError ()
227+ if err != nil {
214228 return err
215229 }
216230
@@ -226,25 +240,30 @@ func doBuild(opts dib.BuildOpts, buildArgs map[string]string) error {
226240 if err != nil {
227241 return err
228242 }
243+
229244 workerType , err := buildkit .GetBuildkitWorkerType (buildctlBinary , opts .BuildkitHost , shell )
230245 if err != nil {
231246 return fmt .Errorf ("failed to detect buildkit worker type: %w" , err )
232247 }
248+
233249 switch workerType {
234250 case buildkit .OciExecutorType :
235251 logger .Warnf ("Cannot retag the image with %s worker, please do it manually" , buildkit .OciExecutorType )
236252 case buildkit .ContainerdExecutorType :
237253 //nolint:lll
238254 logger .Warnf ("Retag with %s worker is not yet implemented, please make a manual retag" , buildkit .ContainerdExecutorType )
239255 }
256+
240257 return nil
241258 }
259+
242260 tagger = dockerBuilderTagger
243261 } else {
244262 tagger = gcrRegistry
245263 }
246264
247- if err := dib .Retag (graph , tagger , opts .PlaceholderTag , opts .Release ); err != nil {
265+ err = dib .Retag (graph , tagger , opts .PlaceholderTag , opts .Release )
266+ if err != nil {
248267 return fmt .Errorf ("cannot retag images: %w" , err )
249268 }
250269
@@ -266,12 +285,15 @@ func getBuildkitHost(cmd *cobra.Command) (string, error) {
266285 return "" , err
267286 }
268287 }
269- if err = buildkit .PingBKDaemon (buildkitHost ); err != nil {
288+
289+ err = buildkit .PingBKDaemon (buildkitHost )
290+ if err != nil {
270291 return "" , err
271292 }
272293
273294 return buildkitHost , nil
274295 }
296+
275297 return buildkit .GetBuildkitHostAdress ()
276298}
277299
@@ -295,6 +317,7 @@ func checkRequirements(opts dib.BuildOpts) {
295317 }
296318 }
297319 }
320+
298321 preflight .RunPreflightChecks (requiredBinaries )
299322}
300323
@@ -306,16 +329,20 @@ func getTestRunners(opts dib.BuildOpts, workingDir string) []types.TestRunner {
306329 if err != nil {
307330 logger .Fatalf ("cannot create goss test runner: %v" , err )
308331 }
332+
309333 testRunners = append (testRunners , gossRunner )
310334 }
335+
311336 if isTestRunnerEnabled (types .TestRunnerTrivy , enabledTestsRunner ) {
312337 trivyRunner , err := trivy .CreateTestRunner (opts .Trivy , opts .LocalOnly , workingDir )
313338 if err != nil {
314339 logger .Fatalf ("cannot create trivy test runner: %v" , err )
315340 }
341+
316342 testRunners = append (testRunners , trivyRunner )
317343 }
318344 }
345+
319346 return testRunners
320347}
321348
@@ -325,5 +352,6 @@ func isTestRunnerEnabled(runner string, list []string) bool {
325352 return true
326353 }
327354 }
355+
328356 return false
329357}
0 commit comments