Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 05cad91

Browse files
committed
Check engine do offer BuildKit support
otherwise we get a cryptic failure about 404 on grpc endpoint Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
1 parent c94e7da commit 05cad91

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

internal/commands/build.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ import (
44
"bytes"
55
"context"
66
"encoding/json"
7+
"errors"
78
"fmt"
89
"io"
910
"io/ioutil"
1011
"os"
1112
"path"
13+
"strconv"
14+
"strings"
1215

1316
"github.com/deislabs/cnab-go/bundle"
1417
cnab "github.com/deislabs/cnab-go/driver"
@@ -66,6 +69,19 @@ func buildCmd(dockerCli command.Cli) *cobra.Command {
6669
}
6770

6871
func runBuild(dockerCli command.Cli, application string, opt buildOptions) (reference.Named, error) {
72+
ctx := appcontext.Context()
73+
info, err := dockerCli.Client().Info(ctx)
74+
if err != nil {
75+
return nil, err
76+
}
77+
majorVersion, err := strconv.Atoi(info.ServerVersion[:strings.IndexRune(info.ServerVersion, '.')])
78+
if err != nil {
79+
return nil, err
80+
}
81+
if majorVersion < 19 {
82+
return nil, errors.New("'build' require docker engine 19.03 or later")
83+
}
84+
6985
app, err := packager.Extract(application)
7086
if err != nil {
7187
return nil, err
@@ -89,7 +105,6 @@ func runBuild(dockerCli command.Cli, application string, opt buildOptions) (refe
89105

90106
debugBuildOpts(buildopts)
91107

92-
ctx := appcontext.Context()
93108
d, err := driver.GetDriver(ctx, "buildx_buildkit_default", nil, dockerCli.Client(), nil, "", nil)
94109
if err != nil {
95110
return nil, err

0 commit comments

Comments
 (0)