build: fixup resolvePaths for remote context path

Signed-off-by: Justin Chadwell <me@jedevc.com>
pull/1701/head
Justin Chadwell 2 years ago
parent 3f59b27cf4
commit b5c6b3f10b

@ -670,9 +670,11 @@ func dockerUlimitToControllerUlimit(u *dockeropts.UlimitOpt) *controllerapi.Ulim
// and replaces them to absolute paths.
func resolvePaths(options *controllerapi.BuildOptions) (_ *controllerapi.BuildOptions, err error) {
if options.ContextPath != "" && options.ContextPath != "-" {
options.ContextPath, err = filepath.Abs(options.ContextPath)
if err != nil {
return nil, err
if !urlutil.IsGitURL(options.ContextPath) && !urlutil.IsURL(options.ContextPath) {
options.ContextPath, err = filepath.Abs(options.ContextPath)
if err != nil {
return nil, err
}
}
}
if options.DockerfileName != "" && options.DockerfileName != "-" {

@ -35,6 +35,11 @@ func TestResolvePaths(t *testing.T) {
options: controllerapi.BuildOptions{ContextPath: "-"},
want: controllerapi.BuildOptions{ContextPath: "-"},
},
{
name: "contextpath-ssh",
options: controllerapi.BuildOptions{ContextPath: "git@github.com:docker/buildx.git"},
want: controllerapi.BuildOptions{ContextPath: "git@github.com:docker/buildx.git"},
},
{
name: "dockerfilename",
options: controllerapi.BuildOptions{DockerfileName: "test"},

Loading…
Cancel
Save