diff --git a/' b/' new file mode 100644 index 0000000..c9c4755 --- /dev/null +++ b/' @@ -0,0 +1,42 @@ +package main + +import ( + "context" + "log" + + "git.front.kjuulh.io/kjuulh/dagger-go/pkg/builder" + "git.front.kjuulh.io/kjuulh/dagger-go/pkg/cli" + "git.front.kjuulh.io/kjuulh/dagger-go/pkg/pipelines" +) + +func main() { + log.Printf("building dagger-go") + + err := cli.NewCustomGoBuild("golangbin", func(ctx context.Context) error { + builder, err := builder.New(ctx) + if err != nil { + return err + } + + err = pipelines. + New(builder). + WithGolangBin(&pipelines.GolangBinOpts{ + DockerImageOpt: &pipelines.DockerImageOpt{ + ImageName: "dagger-go", + }, + BuildPath: "main.go", + BinName: "main", + BaseImage: "harbor.front.kjuulh.io/docker-proxy/library/docker:dind", + }). + Execute(ctx) + + if err != nil { + return err + } + + return nil + }) + if err != nil { + log.Fatal(err) + } +} diff --git a/ci/go.mod b/ci/go.mod index 851c718..0507f36 100644 --- a/ci/go.mod +++ b/ci/go.mod @@ -2,7 +2,7 @@ module ci go 1.19 -require git.front.kjuulh.io/kjuulh/dagger-go v0.0.11 +require git.front.kjuulh.io/kjuulh/dagger-go v0.0.12 require ( dagger.io/dagger v0.3.1 // indirect diff --git a/ci/go.sum b/ci/go.sum index c012958..465d101 100644 --- a/ci/go.sum +++ b/ci/go.sum @@ -45,6 +45,8 @@ git.front.kjuulh.io/kjuulh/dagger-go v0.0.10 h1:d9VNhI6OsiR/W4/1iJvchuHwTq2C3AHw git.front.kjuulh.io/kjuulh/dagger-go v0.0.10/go.mod h1:N/EXT0aOJzph/9AXuFlaA2ZuKU0P8WzaDZQXLlAL0D8= git.front.kjuulh.io/kjuulh/dagger-go v0.0.11 h1:j3ylHiGmhcFomggJcrNJghbYBK/nuuvw0naFBIWqEqo= git.front.kjuulh.io/kjuulh/dagger-go v0.0.11/go.mod h1:N/EXT0aOJzph/9AXuFlaA2ZuKU0P8WzaDZQXLlAL0D8= +git.front.kjuulh.io/kjuulh/dagger-go v0.0.12 h1:c75Ac8joaOMfaOSPf+ZcvNdBcytx0hzIJMYXexKGXJ0= +git.front.kjuulh.io/kjuulh/dagger-go v0.0.12/go.mod h1:N/EXT0aOJzph/9AXuFlaA2ZuKU0P8WzaDZQXLlAL0D8= github.com/99designs/gqlgen v0.17.2/go.mod h1:K5fzLKwtph+FFgh9j7nFbRUdBKvTcGnsta51fsMTn3o= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= diff --git a/ci/main.go b/ci/main.go index 19fc553..c9c4755 100644 --- a/ci/main.go +++ b/ci/main.go @@ -25,7 +25,7 @@ func main() { ImageName: "dagger-go", }, BuildPath: "main.go", - BinName: "dagger-go", + BinName: "main", BaseImage: "harbor.front.kjuulh.io/docker-proxy/library/docker:dind", }). Execute(ctx) diff --git a/main b/main index 09f45b9..08fdc5a 100755 Binary files a/main and b/main differ diff --git a/pkg/pipelines/golang-bin.go b/pkg/pipelines/golang-bin.go index 8a77de8..986d840 100644 --- a/pkg/pipelines/golang-bin.go +++ b/pkg/pipelines/golang-bin.go @@ -74,10 +74,11 @@ func (p *Pipeline) WithGolangBin(opts *GolangBinOpts) *Pipeline { opts.BaseImage = "harbor.front.kjuulh.io/docker-proxy/library/busybox" } c := container.LoadImage(client, opts.BaseImage) - - tempmount := fmt.Sprintf("/tmp/%s", opts.BinName) - usrbin := fmt.Sprintf("/bin/%s", opts.BinName) - log.Printf("binname: %s", bin) + c = c.Exec(dagger.ContainerExecOpts{ + Args: []string{"mkdir", "-p", "/tmp/bin/", "/usr/bin/"}, + }) + tempmount := fmt.Sprintf("/tmp/bin/%s", opts.BinName) + usrbin := fmt.Sprintf("/usr/bin/%s", opts.BinName) c = container.MountFileFromLoaded(c, bin, tempmount) c = c.Exec(dagger.ContainerExecOpts{ Args: []string{"cp", tempmount, usrbin},