From 088e665d2806ac0ae26c8993d2607e3f113be1db Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Fri, 3 Aug 2018 21:26:19 +0800 Subject: [PATCH] Fix spec failed to archive single directory (#837) --- fission/spec.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/fission/spec.go b/fission/spec.go index 52c9e966..8225c4da 100644 --- a/fission/spec.go +++ b/fission/spec.go @@ -973,9 +973,21 @@ func localArchiveFromSpec(specDir string, aus *ArchiveUploadSpec) (*fission.Arch // if it's just one file, use its path directly var archiveFileName string + var isSingleFile bool + if len(files) == 1 { - archiveFileName = files[0] - } else { + // check whether a path destination is file or directory + f, err := os.Stat(files[0]) + if err != nil { + return nil, err + } + if !f.IsDir() { + isSingleFile = true + archiveFileName = files[0] + } + } + + if len(files) > 1 || !isSingleFile { // zip up the file list archiveFile, err := ioutil.TempFile("", fmt.Sprintf("fission-archive-%v", aus.Name)) if err != nil {