From db435c40e501647d3d95aac15a7acebc8310635f Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 7 Nov 2020 13:05:10 -0500 Subject: [PATCH] fix: do not delete the destination scale file if it was not extracted previously --- plugins/ps/functions.go | 10 +++++++--- plugins/ps/triggers.go | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/ps/functions.go b/plugins/ps/functions.go index 9b08842b7..36810de03 100644 --- a/plugins/ps/functions.go +++ b/plugins/ps/functions.go @@ -52,10 +52,14 @@ func extractProcfile(appName, image string, procfilePath string) error { func extractOrGenerateScalefile(appName string, image string) error { destination := getScalefilePath(appName) extracted := getScalefileExtractedPath(appName) - if err := common.CopyFromImage(appName, image, "DOKKU_SCALE", destination); err != nil { + previouslyExtracted := common.FileExists(extracted) + + if err := common.CopyFromImage(appName, image, "DOKKU_SCALE", extracted); err != nil { + if previouslyExtracted { + os.Remove(destination) + } os.Remove(extracted) - os.Remove(destination) - } else if err := common.CopyFile(destination, extracted); err != nil { + } else if err := common.CopyFile(extracted, destination); err != nil { return err } diff --git a/plugins/ps/triggers.go b/plugins/ps/triggers.go index 8f9047941..d08558f1d 100644 --- a/plugins/ps/triggers.go +++ b/plugins/ps/triggers.go @@ -132,6 +132,7 @@ func TriggerPreDeploy(appName string, imageTag string) error { if err := extractProcfile(appName, image, procfilePath); err != nil { return err } + if err := extractOrGenerateScalefile(appName, imageTag); err != nil { return err }