36 lines
691 B
Go
36 lines
691 B
Go
package runner
|
|
|
|
import (
|
|
"git.0x7f.app/WOJ/woj-server/internal/e"
|
|
"git.0x7f.app/WOJ/woj-server/pkg/utils"
|
|
"go.uber.org/zap"
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
)
|
|
|
|
func (s *service) EnsureDeps(force bool) e.Status {
|
|
mark := filepath.Join(Prefix, ".mark.container")
|
|
|
|
if force {
|
|
_ = os.Remove(mark)
|
|
} else if utils.FileExist(mark) {
|
|
return e.Success
|
|
}
|
|
|
|
script := filepath.Join(ScriptsDir, "prepare_images.sh")
|
|
cmd := exec.Command(script)
|
|
cmd.Dir = ScriptsDir
|
|
if s.verbose {
|
|
cmd.Stdout = os.Stdout
|
|
cmd.Stderr = os.Stderr
|
|
}
|
|
err := cmd.Run()
|
|
if err != nil {
|
|
s.log.Warn("prebuild docker images failed", zap.Error(err))
|
|
return e.RunnerDepsBuildFailed
|
|
}
|
|
|
|
return e.Success
|
|
}
|