diff --git a/dagger_go_template.yaml b/dagger_go_template.yaml index 7f4153e..cd869f2 100644 --- a/dagger_go_template.yaml +++ b/dagger_go_template.yaml @@ -16,7 +16,7 @@ steps: - "sleep 5" - apk add git - mkdir -p tmp/dagger-go - - git clone "https://git.front.kjuulh.io/kjuulh/dagger-go.git" /mnt/dagger-go + - git clone "https://git.front.kjuulh.io/kjuulh/dagger-go.git" tmp/dagger-go - docker build -t dagger-go-builder:${DRONE_COMMIT} -f tmp/dagger-go/Dockerfile . - 'docker run -v "$PWD/:/src/" -v /var/run/docker.sock:/var/run/docker.sock dagger-go-builder:${DRONE_COMMIT} dagger-go build --image-tag "{{ or .input.imageTag $imageTag }}"' diff --git a/example/main.go b/example/main.go new file mode 100644 index 0000000..6d583a5 --- /dev/null +++ b/example/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "context" + "log" + + "git.front.kjuulh.io/kjuulh/dagger-go/internal" + "git.front.kjuulh.io/kjuulh/dagger-go/pkg/tasks" +) + +func main() { + ctx := context.Background() + + if err := run(ctx); err != nil { + log.Fatal(err) + } +} + +func run(ctx context.Context) error { + builder, err := internal.New(ctx) + if err != nil { + return err + } + defer builder.CleanUp() + + return tasks.Build(builder, "some-image") +} diff --git a/pkg/tasks/build.go b/pkg/tasks/build.go index d252b10..e2cec79 100644 --- a/pkg/tasks/build.go +++ b/pkg/tasks/build.go @@ -10,7 +10,7 @@ import ( "git.front.kjuulh.io/kjuulh/dagger-go/internal" ) -func Build(builder *internal.Builder, imageTag string) error { +func Build(builder *internal.Builder, imageTag string, buildPath string) error { log.Printf("building image: %s", imageTag) client := builder.Dagger @@ -31,18 +31,10 @@ func Build(builder *internal.Builder, imageTag string) error { return err } - log.Println("listing files in /src/") - dir, err := os.ReadDir("/src/") - if err == nil { - for _, d := range dir { - log.Printf("content: %s\n", d.Name()) - } - } - golang := client.Container().From("golang:latest") golang = golang.WithMountedDirectory("/src", src).WithWorkdir("/src") _, err = golang.Exec(dagger.ContainerExecOpts{ - Args: []string{"go", "build", "-o", "build/"}, + Args: []string{"go", "build", "-o", "build/", buildPath}, }).ExitCode(ctx) return err