Этот коммит содержится в:
Softonik 2024-06-29 01:35:47 +03:00
родитель 118230cd11
коммит e7ec5361e8

78
Magefile.go Обычный файл
Просмотреть файл

@ -0,0 +1,78 @@
//go:build mage
// +build mage
package main
import (
// mage:import
. "magefile/docker"
)
var (
GolangVolume = "golang.upstream"
MyGoImageName = "my/go"
GOPATH = "/gopath"
GOCACHE = GOPATH + "/gocache"
GoPathMount = "-v " + GOPATH + ":" + GOPATH + ":rw"
GoPathEnv = "-e GOPATH=" + GOPATH
GoCacheEnv = "-e GOCACHE=" + GOCACHE
GolangMount = "-v " + GolangVolume + ":/usr/local/go:ro"
GoAll = GolangMount + ` \
` + GoPathMount + ` \
` + GoPathEnv + ` \
` + GoCacheEnv
tests_to_run = []string{}
)
func init() {
AppName = "schet"
ImageName = "my/go"
NetName = "none"
RunFn = run
}
func run() error {
err := BuildCMD()
if err != nil {
return err
}
return Bash(`./schet config.json statement.txt`)
}
func BuildCMD() error {
return Bash(`go build -o schet cmd/schet/main.go `)
}
func Test() {
runTests("./...", false)
}
func TestVerbose() {
runTests("./...", true)
}
func runTests(path string, verbose bool) error {
v := ""
if verbose {
v = "-v"
}
return Bash(`sudo docker run -ti --rm \
-h host \
--net=none \
-v /etc/localtime:/etc/localtime:ro \
\
` + GoAll + ` \
\
-v ${PWD}:/app \
\
-w /app \
-u 1000 \
\
--entrypoint=/bin/bash \
\
` + ImageName + " -c '" + ` \
go test ` + v + ` -gcflags=-l -count=1 ` + path + `
'`)
}